【问题标题】:GWT:how to measure client performance & info sent to server in case of dealling with hudge data to be showed correctly in the client side dynamicallyGWT:如何测量客户端性能和发送到服务器的信息,以防处理大量数据以在客户端动态正确显示
【发布时间】:2011-08-30 17:07:39
【问题描述】:

我使用事件源的rpc,我需要将大量数据推送到客户端并测量性能并将信息发送回服务器端以根据测量的信息调整延迟时间(事件源rpc) . 如何衡量客户绩效。 如何在客户端制作缓冲区,以便在客户端可以流畅地显示数据(例如图形中的数组值 (x,y) (x1,y1)..)并在其缓冲区中保存一些数据。

【问题讨论】:

    标签: gwt buffer client-side server-side event-sourcing


    【解决方案1】:

    您基本上在做的是测量网络延迟和渲染接收到的数据以显示的延迟。所以基本上你在这里有两个变量,你必须测量它们中的每一个。这就是我要做的:

    1. 客户端请求数据。
    2. 服务器回复数据并向其添加服务器时间戳。
    3. 当客户端完成接收数据时,它会使用new Date().getTime() 创建自己的客户端时间戳。
    4. 然后客户端开始将接收到的数据呈现到屏幕上。
    5. 完成后,它会创建一个新的时间戳并减去之前的客户端时间戳:它会获取渲染时间。
    6. 立即向服务器发送另一个请求(不是普通的数据请求,而是特殊的仅测量请求),并为其添加渲染时间和服务器时间戳。服务器获取数据:之前的服务器时间戳和客户端渲染延迟。

    现在它可以计算网络延迟(当前服务器时间戳-启动服务器时间戳-渲染延迟)/2。

    你要找的调整延迟是网络延迟+渲染延迟。

    【讨论】:

    • 感谢您的回复,我不确定您在说什么,因为我正在使用事件源 rpc 插件在一段时间后从服务器端推送数据,例如。 200ms,所以客户端请求不存在,我也需要在客户端有一个缓冲区,因为服务器发送大量数据(200ms 非常快)并且要在客户端图表中显示数据,我需要在客户端平滑显示这就是为什么我需要客户端的缓冲区来保存数据并以 FIFO 方式显示在图表中并顺利执行...
    【解决方案2】:

    我猜您正在开发阶段优化您的代码。在这种情况下,您应该使用浏览器工具来测量 RPC 调用、HTML 解析和 CSS 渲染,例如 Speed Tracer

    如果您的问题根据生产系统上加载的数据随机出现,您必须手动检测 JavaScript 代码,或者借助 gwt-measure 工具包或 dynatrace AJAX

    【讨论】:

      猜你喜欢
      • 2021-03-05
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多