我创建了一个新的应用程序,我计划添加缓存,cdn和其他性能改进方法。我想检查当前的性能,并且在每种方法之后我想再次检查性能。 这是一个Rails应用程序。
我应该怎么做?有没有我可以用来检查这个的命令?我需要进行测试吗?怎么样? 从我所看到的情况来看,似乎新的遗物提供了大量的信息,但在我看来,这仅仅是关于实时数据,我想测试应用程序可以处理的最大值(例如之前和之后)执行上述更改)以及监控实时数据。
答案 0 :(得分:6)
一种简单的方法是使用apache bench:
ab -n 2000 -c 200 http://yourdomain.com/
其中n是要发出的请求数,c是要使用的客户端数。
您将收到类似
的报告Document Path: /
Document Length: 36153 bytes
Concurrency Level: 200
Time taken for tests: 4.544 seconds
Complete requests: 2000
Failed requests: 0
Write errors: 0
Total transferred: 72732000 bytes
HTML transferred: 72306000 bytes
Requests per second: 440.17 [#/sec] (mean)
Time per request: 454.366 [ms] (mean)
Time per request: 2.272 [ms] (mean, across all concurrent requests)
Transfer rate: 15632.19 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 72 77 59.1 73 1075
Processing: 160 357 96.3 325 636
Waiting: 73 196 95.9 165 488
Total: 234 434 109.9 398 1340
Percentage of the requests served within a certain time (ms)
50% 398
66% 419
75% 440
80% 468
90% 607
95% 671
98% 688
99% 700
100% 1340 (longest request)
答案 1 :(得分:1)
New Relic还允许您存储数据。根据您的帐户类型,您可以获得无限制的数据保留。标准类型帐户为您提供7天的数据保留期。这应该足以达到你的目的。
然后,您可以使用负载测试应用程序,例如jMeter或Apache bench。还有基于网络的工具,如blitz.io和Loadimpact。
答案 2 :(得分:1)
配置有点复杂,但我建议 jMeter 。 您可以在其中构建HTTP(或其他受支持的)请求,设置参数,标头。这样您就可以加载测试特定页面。 ab 对于静态页面可以是可靠的,但如果您的网站有数据库交互,您可能希望在负载测试中模拟这些用户交互。