尝试对我的rails应用程序的页面加载时间进行基准测试 - 第一次传递非常慢,后续页面加载速度非常快。我的第一个想法是,这可能是由于有效的缓存,但即使我清除测试运行之间的缓存,我也得到相同的传播。
feature "program index view", benchmarks: true do
before(:each) do
Rails.cache.clear
puts "clearing"
end
scenario "loads slow first time" do
seed_db
time = Benchmark.realtime { visit programs_path as: @learner }
puts "first time took #{time}"
expect(true).to be_truthy
end
scenario "loads fast second time" do
seed_db
time = Benchmark.realtime { visit programs_path as: @learner }
puts "second time took #{time}"
expect(true).to be_truthy
end
def seed_db
puts "starting db seed"
# create a TON of objects here
puts "finished db seeding"
end
end
第一关是大约25秒!第二次它是0.28秒!
这反映了我在制作中看到的内容,其中我们偶尔会出现非常慢的响应时间,特别是在应用程序处于非活动状态或最近重新启动之后。然后在第一次ping之后,它有一段时间非常活泼。有什么想法吗?