我想在我在本地主机上运行的Apache网络服务器上进行压力测试。该测试将请求Web服务器执行我编写的PHP应用程序。我想看看网络服务器(和/或相关的PHP进程)在测试期间消耗了多少内存(RAM)。或者看看测试完成后消耗了多少。
我的操作系统是 Ubuntu 13.10。
我看了Apache Bench,Apache JMeter,Siege和httperf。他们似乎都没有提供这样的信息。最多,我可以在 httperf 中看到一些 CPU 负载(在大多数情况下是 100 %,所以不太相关)。
是否有一些工具可以为我提供内存消耗信息?它不一定是Web服务器基准测试工具,也可以是与基准测试工具并行运行的另一个Linux软件。我只是认为通过 top
命令手动监控测试是一种天真/业余。提前谢谢你。
htop
可能正是您要查找的内容。
就我个人而言,我最近发现了一种叫做byobu
的东西 - 它在底部为您提供了一个方便的读数(您可以通过按 F9 进行配置)--
这已经成为我个人最喜欢的,正是你所描述的。
虽然,你也可以在你正在测试的php脚本中研究xdebug - 并使用类似xdebug_memory_usage()
的东西,在脚本的关键点将信息转储到日志文件中
我也设置了一些 PHP cronjobs,当我通过控制台手动启动脚本时,我也想看到调试和其他东西。
我输入了这样的方法:
protected $consoleUpdate;
protected function printMemoryUsage() {
if ((time() - $this->consoleUpdate) >= 3) {
$this->consoleUpdate = time();
echo "Memory: ",
round(memory_get_usage(true) / (1024 * 1024)),
" MB",
"r";
}
}
根据需要调用此方法以打印脚本内存使用情况。
请注意控制台中的最后一个r
,它将光标返回到行开头并覆盖该行。如果您没有任何其他输出,则具有屏幕不移动的效果,而是更新。
像top,htop,memstat,iotop,mysqltop这样的东西。所有这些工具都非常适合在你围攻服务器(及其朋友apachebench)时看到什么在彻底烹饪你的服务器。
我使用 vmstat 进行内存、磁盘和 CPU 监控。以下是在基于 Linux 的堆 Raspberry Pi 底部复制文件时的一些测量结果。我在 1980 年代首次使用 vmstat,监视早期 Unix 系统上的数据库活动。更多详情请见:
http://www.roylongbottom.org.uk/Raspberry%20Pi%20Stress%20Tests.htm
VMSTAT 要么从单独的终端运行,要么在组合脚本文件中运行。
pi@raspberrypi /mnt $ time sudo sh -c "cp -r 256k /mnt/new2 && sync"
40 samles at 1 second intervals
vmstat 1 40 > vmstatRes.txt
real 0m38.781s
user 0m0.400s
sys 0m8.400s
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 304684 15208 65952 0 0 0 0 1109 319 39 2 59 0
1 0 0 282788 15208 87308 0 0 10292 0 4018 2994 5 57 9 29
1 1 0 256996 15208 112768 0 0 12380 0 4687 3863 3 53 0 44
2 2 0 231452 15212 138028 0 0 12288 40 4781 4024 5 55 0 40
0 1 0 216576 15216 152476 0 0 7004 10512 5649 3580 5 50 0 46
2 2 0 201688 15216 167288 0 0 7144 17488 5341 3527 2 52 0 46
1 0 0 195064 15216 173808 0 0 3192 9016 5909 3214 2 34 0 64
3 0 0 169520 15216 199152 0 0 12304 0 4704 3914 2 60 0 38
2 3 0 149988 15220 218288 0 0 9252 9892 5003 3614 2 52 0 45
0 2 0 131008 15224 237072 0 0 9112 10324 5086 3568 2 54 0 44
1 0 0 120160 15224 247784 0 0 5232 0 4976 2935 0 34 0 66
0 1 0 110424 15224 257404 0 0 4628 12864 5097 3034 4 36 0 60
1 0 0 86556 15224 281120 0 0 11536 0 4965 3874 3 54 0 43
1 1 0 73784 15224 293816 0 0 6188 11592 5545 3514 2 46 0 52
1 1 0 63252 15232 304132 0 0 4968 10320 4617 2748 2 34 0 64
0 1 0 43148 15232 323960 0 0 9652 7184 5126 3749 2 54 0 43
0 1 0 29336 15232 337560 0 0 6596 10036 4311 2796 2 38 0 59
1 1 0 23944 11696 346276 0 0 7480 0 5465 3455 2 46 0 52
2 1 0 23076 9580 349184 0 0 2860 10524 4521 2323 1 35 0 64
2 1 0 24440 5300 351508 0 0 8864 5188 4586 3215 1 66 0 33
0 1 0 24500 3900 352704 0 0 4896 11448 5974 3308 2 49 0 49
1 1 0 24432 3772 352700 0 0 10424 6208 4851 3682 2 60 0 38
1 1 0 23764 3772 353736 0 0 6568 5184 5970 3526 1 45 0 53
1 1 0 24068 3776 353500 0 0 4900 11388 5449 3142 0 40 0 60
0 1 0 24400 3780 352552 0 0 10068 8848 4821 3531 2 57 0 40
1 1 0 24152 3772 352588 0 0 8292 2784 5207 3588 2 50 0 48
1 1 0 23516 3772 353620 0 0 6800 7816 5475 3475 1 49 0 49
0 1 0 24260 3772 352940 0 0 7004 7424 5042 3284 4 43 0 52
2 1 0 24068 3776 353060 0 0 4624 10292 4798 2801 0 39 0 61
2 0 0 23820 3780 353340 0 0 8844 5508 5251 3609 0 56 0 44
2 1 0 24252 3772 352528 0 0 4552 12000 5053 2841 2 44 0 54
1 1 0 23696 3772 353120 0 0 10880 2176 4908 3694 2 58 0 40
1 0 0 24260 3772 352212 0 0 3748 11104 5208 2904 2 34 0 63
3 2 0 24136 3780 352084 0 0 10148 1628 4637 3568 1 55 0 44
0 1 0 24192 3780 352120 0 0 4016 10260 4719 2613 1 31 0 68
1 1 0 24392 3772 352076 0 0 6804 10972 5386 3473 1 52 0 47
1 1 0 24392 3772 351704 0 0 8568 8788 5101 3502 2 61 0 36
0 1 0 24376 3780 351764 0 0 0 30036 6711 1888 0 36 0 64
0 1 0 24252 3780 351928 0 0 28 2072 5629 1354 0 10 0 90
0 0 0 24768 3780 351968 0 0 40 20 1351 579 9 6 13 72
1 0 0 24768 3780 351968 0 0 0 0 1073 55 1 1 98 0