执行RoR 2.1 Web应用程序的负载测试&服务器

时间:2011-12-30 06:48:51

标签: ruby-on-rails ruby ruby-on-rails-3 web-applications load-testing

我在RoR 2.1和后端MySQL上有一个网络应用程序并运行大约8k用户,现在我想在我的网络应用程序和服务器上执行Load Test以找出load on the server and the average and peak number of concurrent users.

有哪些方法可以实现此负载测试来分析服务器上的负载和Web应用程序的性能,并找出并发用户的平均和峰值数量?

1 个答案:

答案 0 :(得分:2)

我使用ab(apache基准http://httpd.apache.org/docs/2.0/programs/ab.html)进行负载测试。在google.com上测试的示例:

ab -n 10000 -c 100 http://google.com/

它允许我调查我的设置(应用程序)每秒可以执行的请求数量以及并发级别。

ab工具是CentOS和Red Hat发行版中Apache httpd包的一部分。所以它可能已经安装在那里了。对于Ubuntu / Debian安装apache2-utils包。

ab --help for full options list

最重要的是:

-n requests     Number of requests to perform
-c concurrency  Number of multiple requests to make

我还使用munin(http://httpd.apache.org/docs/2.0/programs/ab.html)和nginx / passenger / unicorn / CPU / Memory的插件来监控活动高峰,具体取决于配置,以及MySQL的插件,它显示每秒的查询总量和更多的数据。

您可以使用适合您的RH linux的教程从http://munin-monitoring.org/wiki/LinuxInstallation页面安装munin。

这里还有关于munin和mongrel监控的非常好的文章: http://onrails.org/2007/08/31/monitoring-rails-performance-with-munin-and-a-mongrel

您可以从http://exchange.munin-monitoring.org获取apache(而不仅仅是)监控的插件。

好的一点是,它不需要更改应用程序。因此,您只需安装它即可使用,而无需对生产设置进行任何更改。