gpt4 book ai didi

ruby-on-rails - 将昂贵的查询放在后台线程上会有助于网站性能吗?

转载 作者:行者123 更新时间:2023-11-29 13:34:50 25 4
gpt4 key购买 nike

我们是一个在 Heroku 上运行的 Ruby on Rails 应用程序,我们正在为我们的数据库使用 Heroku 的 Postgres 解决方案。

我们有一个非常昂贵的数据库查询。大约需要 45 秒。我们使用 memcache 来缓存此查询……但是当有人第一次访问在缓存中 24 小时后运行此查询的页面时,该站点基本上会因为此查询运行而崩溃。

我们正在考虑将查询放在后台线程上。这会与 memcache 一起很好地工作吗?这会有助于网站性能吗?数据库仍在处理大型查询这一事实是否会影响其他页面加载?

最佳答案

如果问题不是 dyno 上的资源密集型或锁定数据库,这可能会有所帮助。

如果这两种情况都不成立,您可以简单地向发起客户端返回一些东西(以前的版本,可能在缓存失效之前启动进程)并旋转一个新线程。

如果强度在测功机上而不是数据库上,您可以尝试启动 worker 测功机或 scheduled job .

如果您的数据库被锁定,那么您又回到了绘图板。

哦,如果您的应用程序只使用一个数据库连接,请务必为线程打开另一个(dyno 会自行处理)。

关于ruby-on-rails - 将昂贵的查询放在后台线程上会有助于网站性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com