初始 DT 处理的网络请求缓慢

Posted

技术标签:

【中文标题】初始 DT 处理的网络请求缓慢【英文标题】:Initial DT Processing has a slow network request 【发布时间】:2020-03-21 18:05:00 【问题描述】:

只要应用程序不在我的 PC 上本地运行,而是在闪亮的服务器上运行,我的 Shiny 应用程序中 DT 的“处理...”步骤需要很长时间。 我使用 profvis(远程在服务器上)对应用程序进行了概要分析,但“DT::renderDataTable”步骤只需要约 400 毫秒(大约 2000 行)。

但是,Chrome 会显示一个“网络请求步骤”,大约需要 15 秒:

来自 Chrome 性能分析的信息:

网络请求 URL /session/d229229.../dataobj/dataTableOut?w=&nonce=ce39... 持续时间 15.89 秒 请求方法 POST 高优先级 Mime 类型应用程序/json 编码数据 1.7 KB 解码体 5.2 KB 发起者 jquery.min.js:2

造成这种延迟的原因是什么?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

终于找到问题了:

闪亮服务器的行为与我的本地版本不同的根本原因是可用 cpu 内核的数量。 一些广泛的后台请求由我闪亮的应用程序中的未来/承诺包处理。由于远程服务器上的内核瓶颈,这些请求阻塞了 DT 处理,因此加载 DT 的网络请求花费了很长时间。

【讨论】:

以上是关于初始 DT 处理的网络请求缓慢的主要内容,如果未能解决你的问题,请参考以下文章

小程序网络请求Promise化

小程序网络请求Promise化

ios MVVM实践 刷新网络请求+tableView展示数据

Flutter:带有初始网络请求的 ChangeNotifierProvider

C#网络请求与JSON解析

iOS网络请求 添加全局代理 NSURLSessionConfiguration 解决方案