PHP程序之服务器负载测试

黑色大妹

黑色大妹

2016-01-29 13:01

PHP程序之服务器负载测试,PHP程序之服务器负载测试

 

 

服务器负载太大而影响程序效率也是很常见的,我们需要对此进行测试。这里我以目前最常用的Apache服务器为例。 Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。使用这个轻巧的工具我们可以对服务器进行负载测试,看看在重负荷之下服务器的表现如何。ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求,同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据作为调整服务器设定或程序的依据。

在命令行下输出:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

./ab -n number_of_total_requests

-c number_of_simultaneous_requests

http://your_web_server/your_php_app.php

例如:./ab -n 1000 -c 50 http://www.domain.com/myapp.php

AB将同时向http://www.domain.com/myapp.php发出50个并发请求,共发出1000次。

测试结果将可能是这样的:

Server Software: Apache/2.0.16

Server Hostname: localhost

Server Port: 80

Document Path: /myapp.php

Document Length: 1311 bytes

Concurrency Level: 50

Time taken for tests: 8.794 seconds

Complete requests: 1000

Failed requests: 0

Total transferred: 1754000 bytes

HTML transferred: 1311000 bytes

Requests per second: 113.71

Transfer rate: 199.45 kb/s received

Connection Times (ms)

min avg max

Connect: 0 0 5

Processing: 111 427 550

Total: 111 427 555

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)myapp.php每秒钟可以处理的请求数为113.71个。将请求数增加,看看服务器能否处理更大的压力。你也需要调节Apache的MaxClients,ThreadsPerChild,MaxThreadsPerChild等参数,基于你的httpd.conf中的MPM模块选择。

如果你想得到更详细的信息,请到www.apache.org上查阅一些更深入的文档,包括模块和第三方的提高效率的工具。修改httpd.conf后,要重启Apache服务器,然后再用AB测试。你会看到每秒请求数增加或减少。

记下每次的参数,最后选择最佳效率的那种配置。要指出的是,除了AB,还有许多优秀的服务器性能测试软件。另外,如果你的服务器不是Apache,请自行寻找测试方法。

展开更多 50%)
分享

猜你喜欢

PHP程序之服务器负载测试

PHP
PHP程序之服务器负载测试

PHP程序加速探索之服务器负载测试

PHP
PHP程序加速探索之服务器负载测试

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PHP程序与服务器端通讯方法小结

PHP
PHP程序与服务器端通讯方法小结

PHP程序与服务器端通讯的方法

PHP
PHP程序与服务器端通讯的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用PHP连接LDAP服务器

PHP
使用PHP连接LDAP服务器

如何测试和调试Apache服务器

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
如何测试和调试Apache服务器

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

EJB 3.0 开发指南之定时服务

EJB 3.0 开发指南之定时服务

Aspx中导Excel

Aspx中导Excel
下拉加载更多内容 ↓