提问人:Tony Beninate 提问时间:7/15/2023 最后编辑:Tony Beninate 更新时间:7/16/2023 访问量:32
Ruby 2.7.6 (heroku-20) 和 Ruby 3.1.4 (heroku-22) 之间的数据库查询速度明显变慢
Significantly slower DB queries between Ruby 2.7.6 (heroku-20) and Ruby 3.1.4 (heroku-22)
问:
我有一个在 Heroku 上运行的 Ruby 2.7.6 应用程序(堆栈 heroku-20)和在 Heroku 上运行的 Ruby 3.1.4 上的同一应用程序的分支(堆栈 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 提出的一个问题,但我只是想检查一下我这里是否还缺少我应该注意的其他东西。
更新事实证明,在这个特定环境中,数据库一定出了点问题。删除并重建(使用相同的生产数据)后,它又变得活泼了。
答: 暂无答案
评论