我在RoR 2.1
和后端MySQL
上有一个网络应用程序并运行大约8k用户,现在我想在我的网络应用程序和服务器上执行Load Test
以找出load on the server and the average and peak number of concurrent users.
有哪些方法可以实现此负载测试来分析服务器上的负载和Web应用程序的性能,并找出并发用户的平均和峰值数量?
答案 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(而不仅仅是)监控的插件。
好的一点是,它不需要更改应用程序。因此,您只需安装它即可使用,而无需对生产设置进行任何更改。