我在ruby on rails网站上的特定页面很慢。
为了弄清楚发生了什么,我尝试按照guide在localhost上设置这个简单的测试:
class BrowsingTest < ActionDispatch::PerformanceTest
def test_homepage
get '/slow_page'
end
end
此时我的测试数据库是空的,所以我需要用一些数据来播种它。在用各种东西挖了几个小时后,我有点困惑,我不确定我是否应该:
1)以某种方式从生产服务器复制数据并将其粘贴到测试数据库中(有一种简单的方法可以做到这一点吗?)
OR
2)使用测试夹具.yml文件生成许多用户和帖子
OR
3)将代码放在seed.rb中以生成用户和帖子。 (我尝试过这样做,但由于某些原因,我在此文件中生成的内容在我的PerformanceTest运行时消失了
4)我遇到了像Factory Girl和Faker这样的宝石。我还没有尝试过这些,但从我读到的内容来看,似乎更多的是创建特定的情境和状态,而不是为性能测试生成数千个用户。
我认为这是一种常见的情况,并希望从那些做过这些事情的人那里得到一些建议。谢谢。
答案 0 :(得分:2)
生成性能测试的最佳方法是使用生产服务器中的真实用户数据。如果您可以使用它们,那么一定要使用它们。原因是您希望针对最常见的真实用户场景优化Web应用程序的性能。无论你根据真实的用户行为进行编制的任何情况,最好不要具有代表性,或者在最坏情况下完全没用。
在实践中,您想要做的是: