【问题标题】:Disconnected from the (shiny) server: cause of large Plotly R heatmaps与(闪亮的)服务器断开连接:大 Plotly R 热图的原因
【发布时间】:2020-01-26 21:55:19
【问题描述】:

我正在开发一个相当复杂的闪亮应用程序,它在私人闪亮服务器上运行。 只有包含大型绘图热图 (50-70Mb) 的页面无法在线运行(但这些页面在我的本地机器上运行良好)。 我得到的是通常的消息"Disconnected from the server Reload"。 当显示此错误消息时,/var/log 中不会生成日志文件。

我尝试做的是:

  • 检查是否是缺少包的问题,​​不是;

  • 检查是不是路径错误,不是;

  • 修改 /etc/shiny-server/ 中包含的 shiny-server.conf 文件,添加顶部行:http_keepalive_timeout 300; sockjs_heartbeat_delay 300;

所以我被引导相信问题与地块的大小有关。如何面对这个问题?不幸的是,由于闪亮的应用程序的大小,在这里展示我的案例的可重现示例并不容易。

【问题讨论】:

  • 内存使用情况如何?
  • 其实我也不知道怎么控制
  • 如果您可以排除它不是超时(这可能发生,因为服务器的 CPU 可能比您的本地计算机慢得多),我接下来会查看内存。这就是我从头顶上得到的一切,对不起。
  • 关于内存问题:这也是我的第一个猜测,但日志条目(更有可能)是预期的-。来自docu的引用->(“您的应用程序突然变灰,您在日志中看到该应用程序被“杀死”。可能的诊断:每个应用程序实例的大小对应于分配给的内存(RAM)量它。”)。 docs.rstudio.com/shinyapps.io/Troubleshooting.html - 9.5 性能。可以肯定的是:如果您减少数据并使用当前体积的 10%、20%、50%、80% 创建热图会发生什么?
  • 根据我的经验,我也会说这是内存问题;这些图太大了,shinyserver 无法处理。

标签: r shiny shiny-server


【解决方案1】:

我在使用 heatmaply 包时遇到了同样的问题,它依赖于 dendextend 包。 dendextend 包依赖于一个递归表达式,它很容易超过服务器上运行的 R 版本所允许的嵌套表达式的数量。请参阅此问题:https://github.com/talgalili/dendextend/issues/53

您可以尝试将表达式限制设置为远高于默认的 5000,看看这是否有帮助(允许的最大值为 500,000)。

options(expressions = 500000)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 2023-01-13
    • 2021-01-13
    • 1970-01-01
    • 2016-06-05
    • 2016-08-15
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多