You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby 2.7.6(heroku-20)与Ruby3.1.4(heroku-22)数据库查询性能差异

Ruby 3.1.4 + Heroku-22 环境下数据库查询性能骤降问题排查

我有两个分支的Ruby应用:

  • 主分支基于Ruby 2.7.6,部署在Heroku heroku-20栈
  • 测试分支基于Ruby 3.1.4,部署在Heroku heroku-22栈
    两者连接完全相同的数据库。本地运行两个分支时,数据库查询耗时基本一致,但在Heroku上,Ruby 3版本的所有查询速度都显著变慢,部分场景甚至慢10倍以上。

以下是差异最明显的查询日志示例:

# Ruby 2.7.6 on Heroku-20
participant_registration.session_results.count
D, [2023-07-15T15:10:25.598762 #2] DEBUG -- :    (85.0ms)  SELECT COUNT(*) FROM "session_results" WHERE "session_results"."sessionable_id" = $1 AND "session_results"."sessionable_type" = $2  [["sessionable_id", 82497], ["sessionable_type", "UserChampionship"]]

# Ruby 3.1.4 on Heroku-22
participant_registration.session_results.count
D, [2023-07-15T15:10:43.115159 #2] DEBUG -- :    (1167.6ms)  SELECT COUNT(*) FROM "session_results" WHERE "session_results"."sessionable_id" = $1 AND "session_results"."sessionable_type" = $2  [["sessionable_id", 82497], ["sessionable_type", "UserChampionship"]]

最初不确定是否需要向Heroku反馈该问题,先自行排查是否存在遗漏的注意事项。

更新:经排查,问题根源在该测试环境关联的数据库实例上。删除并重建数据库(保留生产数据)后,查询速度恢复正常。

内容的提问来源于Stack Exchange,提问作者Tony Beninate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 22:05:06