Chrome 性能时间线在大型 websocket 消息事件后显示大型“其他”部分

Posted

技术标签:

【中文标题】Chrome 性能时间线在大型 websocket 消息事件后显示大型“其他”部分【英文标题】:Chrome performance timeline reveals large "Other" section after large websocket message event 【发布时间】:2018-02-26 10:17:12 【问题描述】:

我正在构建一个简单的 Web 应用程序,它通过 websocket 连接从服务器请求大量数据(每条消息 3 MB)。服务器代码用 c++ 编写并运行 uWebSockets,我在所有测试中都使用 Chrome 作为浏览器。根据我所做的比较时间戳的测试,消息以大约 180 MB/s 的速度从服务器传输到浏览器(均在 localhost 上运行),这似乎与我在 Stack Overflow 上的一些帖子一致见过。但是,收到事件后,性能时间线中有一个大型条目,类型为“其他”。入口持续时间与消息的大小高度相关,大约需要 42 ms/MB。我不知道是什么原因造成的,但它似乎没有出现在 Safari 或 Firefox 上。我以为可能是垃圾回收,但真的会这么慢吗?

【问题讨论】:

【参考方案1】:

事实证明,这是由于 Chrome 的网络检查本身造成的。它显着降低了最大 websocket 速度。只要开发工具可见,就会发生这种情况。

【讨论】:

以上是关于Chrome 性能时间线在大型 websocket 消息事件后显示大型“其他”部分的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 事件触发在大型 DOM 中需要很长时间

Firefox:大型模糊元素的性能缓慢

Chrome性能调优技巧

Chrome 20 websocket 握手

Chrome Websockets CORS 政策

从 Chrome 扩展中挂钩 Websocket