Apache Server 负载能力测试

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

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

  在命令行下输出:

  ./ab -n number_of_total_requests

  -c number_of_simultaneous_requests

  your_web_server/your_php_app.php

  例如:

  ./ab -n 1000 -c 50 www.domain.com/myapp.php

  AB将同时向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

  myapp.php每秒钟可以处理的请求数为113.71个。将请求数增加,看看服务器能否处理更大的压力。你也需要调节Apache的 MaxClients,ThreadsPerChild,MaxThreadsPerChild等参数,基于你的httpd.conf中的MPM模块选择。

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

  记下每次的参数,最后选择最佳效率的那种配置。

  要指出的是,除了AB,还有许多优秀的服务器性能测试软件。另外,如果你的服务器不是Apache,请自行寻找测试方法。

时间: 2024-11-02 10:45:45

Apache Server 负载能力测试的相关文章

用Apache Server配置php,cgi服务器

apache|cgi|server|服务器 作者:coolfire 现在有越来越多的个人主页站长需要了解如何如何在windows系统下配置自己的php,cgi服务器,以方便本地调试cgi和php的程序. 我们可以用Apache(windows版)来一次搞定:以下由我自己整理的关于在单机Windows环境下的安装和配置 Apache Server 的文章.如果您正在 Windows 单机环境下测试自己的网站,建议您参考一下. 主要包括:安装和配置 Apache Server:使用 Perl CGI

apache性能-Apache ab并发测试结果分析,牛人帮忙看看有啥问题,目前多人操作的时候非常慢

问题描述 Apache ab并发测试结果分析,牛人帮忙看看有啥问题,目前多人操作的时候非常慢 以下是一台阿里云机器,跑的测试结果,有知道这样的结果能反映什么问题吗? 目前小弟遇到一个性能问题,单人操作的时候速度还行,但是20 人左右同时操作的时候,就感觉很慢了. [root@AY1311281530504461fdZ bin]# ./ab -n 1000 -c 700 localhost/test.jsp This is ApacheBench, Version 2.3 <$Revision:

Apache的压力测试以及web性能优化的常用知识总结_Linux

什么是带宽? 误解:"数据在线路中的移动速度"."数据的传输速度" 我们所说的带宽是指数据的发送速度,比如百兆网卡,指网卡的最大发送速度是100Mbps,也就是说网卡在一秒钟最多可以发送100Mb的数据:相关的因素: 数据发送装置将二进制信号传送到线路的能力,也称信号传输频率,以及另一端数据接收装置对二进制信号接收的能力,也包括线路对传输频率的支持程度: 数据传输介质的并行度,等价于计算机系统总线宽度的概念:   习惯与约定 b:比特单位 bit: B:字节单位 B

Apache Server 2.2 多站点域名转向配置文件

#ApacheServe配置 #服务器根目录 ServerRoot "D:/Apache Server 2.2"  #侦听端口Listen 80LimitRequestLine 40940 LimitRequestFieldSize 40940 #加载模块 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module

Apache Server Status详解

Apache的日志如果靠分析日志或者查看服务器进程来监视Apache运行状态的话,比较繁冗.不过在Apache 1.3.2及以后的版本中就自带一个查看Apache状态的功能模块server-status,这样查看apache的一些相应状态信息会很方便. 一.打开 Apache Server Status 如果你的Apache配置文件httpd.conf或者extra/httpd-info.conf中有LoadModule status_module modules/mod_status.so话,

Apache Server的httpd.conf文件注释及配置指导

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  我们把httpd.conf文件进行了简单的注释,这里只是把其中注释了的提出来,便于浏览   开始之前: 1.配置和写文件名时注意:如果您给出文件名以"/"开头,则服务器会用绝对目录. 2.如果给出的文件名不以"/"开头,如:"logs/foo.log", 而当前

Sql server负载测试性能调整魔法棒

没有什么事情比这更糟了,采纳一个新的应用程序,而它的性能是如此的糟糕,导致业务在一片惊叫声中暂停.这并不是新出现的现象:这就是事实,我经常遇到这样的事实.我打赌你也曾经经历过.那么如何防止这些性能问题,有什么解决方案? 在这些应用程序"在惊叫声中暂停"的情况中,应用程序通常都已经在按照功能性分配的短暂的测试时间内进行过适当的测试了.但是充分吗?由于竞争和全球经济的原因,迅速应用于业务意味着只进行了最小化的测试.同样,最小化的测试也成为按时将应用程序发布给用户群体的可接受的风险之一.另一

Apache的压力测试工具及OB缓存

apache在做压力测试这方面还是特别方便的,apache里就直接由这样的工具而且使用方便,在这之前我们需要了解apache使用的是那种并发机制 1.查看apache使用的是那种并发模型 可以直接通过cmd进入apache的bin目录 ,使用httpd.exe -l即可 找到mpm,后面的winnt就是并发模型 2.apache的默认并发数 apache的默认并发数是150,tomcat6的并发接近200,一般情况下apache使用默认的并发模型,从上面第一点我们知道了改apache的并发模型是

IBM发布Windows Server 2012测试云平台

最近Windows 8以及Windows Server 2012相继发布,而相应的测试平台也随即推出,根据国外媒体报道,IBM和云服务商CloudShare宣布了他们的合作计划,二者将推出一个云开发平台.用户可以在几分钟内启动相应的应用,来快速测试Windows 8或者Windows Server 2012上的软件. IBM官网介绍 在这个云平台上,可以选择60多种虚拟机的操作系统,例如XP.CentOS.Ubuntu.Windows 7.Windows Server 2003/2008甚至是最