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

轻功燕子门1990

轻功燕子门1990

2016-01-29 15:05

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

  服务器负载太大而影响程序效率也是很常见的,我们需要对此进行测试。这里我以目前最常用的Apache服务器为例。

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

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

  在命令行下输出:

./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次。

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

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

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

  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 程序加速探索

Web开发
PHP 程序加速探索

PHP程序加速探索之缓存输出

PHP
PHP程序加速探索之缓存输出

lol偷钱流符文搭配推荐

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

使用PHP程序加速探索之缓存输出

PHP
使用PHP程序加速探索之缓存输出

PHP应用程序加速探索之简介

PHP
PHP应用程序加速探索之简介

lolAD刺客新符文搭配推荐

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

PHP实现网页自动更新块

PHP实现网页自动更新块

PHPMailer:Featured email transfer class for PHP

PHPMailer:Featured email transfer class for PHP
下拉加载更多内容 ↓