我使用事件源的rpc,我需要将大量数据推送到客户端并测量性能并将信息发送回服务器端以根据测量的信息调整延迟时间(事件源rpc)。如何衡量客户绩效。如何在客户端制作缓冲区,以便在客户端可以流畅地显示数据(例如图形中的数组值(x,y)(x1,y1)......)并在其缓冲区中保存一些数据。
2 回答
0
我猜你正在开发阶段优化你的代码。在这种情况下,您应该使用浏览器工具来测量 RPC 调用、HTML 解析和 CSS 渲染,例如Speed Tracer。
如果您的问题根据生产系统上加载的数据随机出现,您必须手动检测 JavaScript 代码,或者借助gwt-measure工具包或dynatrace AJAX。
于 2011-08-30T09:07:39.760 回答
0
您基本上在做的是测量网络延迟和渲染接收到的数据以显示的延迟。所以基本上你在这里有两个变量,你必须测量它们中的每一个。这就是我要做的:
- 客户端请求数据。
- 服务器回复数据并向其添加服务器时间戳。
- 当客户端完成接收数据时,它会创建自己的客户端时间戳
new Date().getTime()
。 - 然后客户端开始将接收到的数据呈现到屏幕上。
- 完成后,它会创建一个新的时间戳并减去以前的客户端时间戳:它会获取渲染时间。
- 立即向服务器发送另一个请求(不是普通的数据请求,而是特殊的仅测量请求),并向其添加渲染时间和服务器时间戳。服务器获取数据:之前的服务器时间戳和客户端渲染延迟。
现在它可以计算网络延迟(当前服务器时间戳 - 启动服务器时间戳 - 渲染延迟)/2。
您正在寻找的调整延迟是网络延迟+渲染延迟。
于 2011-05-25T07:51:08.810 回答