我想对 Rails 应用程序进行性能测试。
真实世界的数据大小为 100 MB。
但是 Rails 总是重建测试数据库,它会覆盖真实世界的数据。
那么如何进行性能测试呢?
我想对 Rails 应用程序进行性能测试。
真实世界的数据大小为 100 MB。
但是 Rails 总是重建测试数据库,它会覆盖真实世界的数据。
那么如何进行性能测试呢?
我会创建一个名为“性能”的新环境。您需要它来复制应用程序的生产设置(类缓存、模板等),然后加载数据库。在过去,我创建了一个专门用于性能测试的数据库,创建了一个执行必要迁移/加载的 rake 任务,然后调用了 rails 性能脚本。
您还可以在测试中关闭夹具行为 - 取决于您使用的测试框架。
我还发现这篇关于Running Rails performance testing on real data的有用帖子,其中包含有关此方法的一些详细信息。
我对 SQLite 用户有一个快速修复。
在测试用例中
def setup
`cp db/development.sqlite3 db/test.sqlite3`
end
我会将应用程序部署到登台服务器(靠近您的生产环境)。并在您的数据库中生成数据以进行更准确的测试。您可以查看ffaker
gem 以生成虚假数据。然后使用 3rd 方工具来访问您的应用程序。因为您在服务器本身上运行的工具也会影响性能。我更喜欢Jmeter
作为负载测试工具。您可以创建测试用例。
例如,您想测试您的登录页面。您可以设置登录参数并发布到登录网址。您会考虑对对数据库进行写入操作的页面进行测试。这些可能会成为您的应用程序的瓶颈。
希望这可以帮助。