Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Web服务器压力测试期间监控内存消耗?_Php_Linux_Performance_Apache_Benchmarking - Fatal编程技术网

Php 如何在Web服务器压力测试期间监控内存消耗?

Php 如何在Web服务器压力测试期间监控内存消耗?,php,linux,performance,apache,benchmarking,Php,Linux,Performance,Apache,Benchmarking,我想在本地主机上运行的Apache Web服务器上进行压力测试。测试将请求Web服务器执行我编写的PHP应用程序。我想看看Web服务器(和/或相关的PHP进程)在测试期间消耗了多少内存(RAM)。或者看看测试完成后消耗了多少 我的操作系统是Ubuntu 13.10 我查看了ApacheBench、ApacheJMeter和httperf。他们似乎都没有提供这样的信息。我最多可以在httperf中看到一些CPU负载(在大多数情况下是100%,所以不太相关) 是否有一些工具可以为我提供内存消耗信息?

我想在本地主机上运行的Apache Web服务器上进行压力测试。测试将请求Web服务器执行我编写的PHP应用程序。我想看看Web服务器(和/或相关的PHP进程)在测试期间消耗了多少内存(RAM)。或者看看测试完成后消耗了多少

我的操作系统是Ubuntu 13.10

我查看了ApacheBench、ApacheJMeter和httperf。他们似乎都没有提供这样的信息。我最多可以在httperf中看到一些CPU负载(在大多数情况下是100%,所以不太相关)


是否有一些工具可以为我提供内存消耗信息?它不必是一个Web服务器基准测试工具,也可以是另一个与基准测试工具并行运行的Linux软件。我只是认为通过
top
命令手动监视测试有点不准确。提前谢谢。

htop
可能正是您想要的

就我个人而言,我最近发现了一个名为
byobu
——它在底部提供了一个方便的读数(您可以通过按F9进行配置)——

这正是我个人最喜欢的,因为你所描述的


尽管如此,您也可以查看xdebug——并在您测试的php脚本中使用类似于
xdebug\u memory\u usage()
——在脚本的关键点将信息转储到日志文件中

例如top、htop、memstat、iotop、mysqltop。所有这些工具都非常适合在您对服务器进行围攻(以及它的朋友apachebench)时查看到底是什么在彻底破坏您的服务器。

我使用vmstat进行内存、磁盘和CPU监控。下面是在基于Linux的Raspberry Pi堆底部复制文件时的一些度量。我在20世纪80年代第一次使用vmstat,监视早期Unix系统上的DB活动。详情请参阅:

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

当我通过控制台手动启动脚本时,我也创建了一些PHP cronjob,我也想看到调试和其他东西

我提出了这样一种方法:

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
sar
。我首先选择
top
。我使用图形化的pimped
htop