javascript - 运行 R 脚本时网站加载时间较长

标签 javascript php mysql sql r

我正在尝试在网页上查询 MySQL 数据库。在我的 R 脚本中,我有 4 个不同的“查询”函数以及多个计算,这些计算将在我的网页上显示统计图表,所有这些都依赖于“N”变量。我正在使用 PHP(使用 shell_exec)调用 R 并发送“N”。我在 R 中使用 RMySQL 和 ggplot2 库。

<小时/>

仅使用 1 个基本查询函数(包括 dbConnect()、dbGetQuery 和 on.exit(dbDisconnect()) 运行我的 R 脚本,然后使用 png()、plot() 和 dev.off() 大约需要 15 秒在我的网站上显示图表。

有 2 个函数和 2 个绘图,由于加载时间太长,我什至没有耐心等待它是否有效。查询本身相当冗长(通过循环可能会变得更容易),但我已经测试了它们在 MySQL 中的工作情况,并且我不确定如何避免 SQL 的循环错误。

<小时/>
  • 加载时间长是否是由于每个函数中都有 dbConnect/dbDisconnect 造成的?我应该只在脚本中执行一次此操作(即创建一个新的“连接”函数,然后从此处调用其他函数)吗?

  • 是否是我正在运行多个冗长的查询请求?如果是这样的话,如果我将每个“查询函数”拆分为单独的 R 脚本,然后每个“shell_exec”并允许用户选择要显示的图形(即 HTML/PHP 中允许执行的复选框)会更好吗?每个所需的脚本/图表)?

<小时/>

通过测试,我知道我的逻辑是存在的,但我可能完全遗漏了一些东西。我想加快这个过程,这样网站用户就不必永远盯着加载屏幕,我实际上可以获得一些切实的结果。

很抱歉这个冗长的请求,感谢您提供的任何帮助!如果您想查看网页或我的任何代码以获得更好的想法,我可以上传并分享。

谢谢!

编辑:还应该注意的是,我使用 while 循环 (x < 100) 进行一些计算;我知道 R 中的循环通常被认为是昂贵的过程,但整个矢量化的事情(我想这就是名字?)超出了我的理解范围。

最佳答案

您的请求可能非常苛刻并且无法同步执行。您可以改用队列系统。当发出请求时,它被发送到队列。当服务器准备就绪时,结果将异步输出。同时,您可以将用户重定向到另一个页面,并且当结果可用时可以通知用户。

以下是一些建议:

关于javascript - 运行 R 脚本时网站加载时间较长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949860/

相关文章:

javascript - highcharts 不会渲染到我的 div

php - HTML 多 anchor 名称

javascript - 来自 WordPress 站点的 Valence API D2L/Brightspace API 调用

mysql utf-8 支持

php - 将表的 id 调用到新表并将值插入到该新表中

javascript - 从两侧拖放 Html5

javascript - 如何查看窗口的 Javascript 窗口 ID?用于 Selenium select_window()

一个查询的 PHP/MySQL 分页

Javascript clearInterval 不会停止 setInterval

php - 如何将任意数量的值绑定(bind)到 mysqli 中的准备好的语句?