9

我想对 Rails 应用程序进行性能测试。

真实世界的数据大小为 100 MB。

但是 Rails 总是重建测试数据库,它会覆盖真实世界的数据。

那么如何进行性能测试呢?

4

3 回答 3

16

我会创建一个名为“性能”的新环境。您需要它来复制应用程序的生产设置(类缓存、模板等),然后加载数据库。在过去,我创建了一个专门用于性能测试的数据库,创建了一个执行必要迁移/加载的 rake 任务,然后调用了 rails 性能脚本。

您还可以在测试中关闭夹具行为 - 取决于您使用的测试框架。

我还发现这篇关于Running Rails performance testing on real data的有用帖子,其中包含有关此方法的一些详细信息。

于 2010-04-17T02:21:22.567 回答
0

我对 SQLite 用户有一个快速修复。

在测试用例中

def setup
  `cp db/development.sqlite3 db/test.sqlite3`
end
于 2010-06-04T01:29:00.057 回答
0

我会将应用程序部署到登台服务器(靠近您的生产环境)。并在您的数据库中生成数据以进行更准确的测试。您可以查看ffakergem 以生成虚假数据。然后使用 3rd 方工具来访问您的应用程序。因为您在服务器本身上运行的工具也会影响性能。我更喜欢Jmeter作为负载测试工具。您可以创建测试用例。

例如,您想测试您的登录页面。您可以设置登录参数并发布到登录网址。您会考虑对对数据库进行写入操作的页面进行测试。这些可能会成为您的应用程序的瓶颈。

JMeter 用户手册

Jmeter 教程

希望这可以帮助。

于 2013-05-01T08:49:57.567 回答