软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件开发专栏>>操作系统>>正文
Apache Server 负载能力测试
文章出处:51testing博客转 作者: 发布时间:2007-03-19
    服务器负载太大而影响程序效率也是很常见的,我们需要对此进行测试。这里我以目前最常用的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,请自行寻找测试方法


站内搜索
相关文章
◎Web服务器和应用程序服务器的区别
◎Linux中通过缓存DNS的解析来提高上网的响应速度
◎Windows上启动linux图形终端的方法
◎Windows下通过xmanager远程桌面控制Linux
◎Linux操作系统下6个应急处理小常识
◎实现samba可写不可删除
◎Linux学习 系统FAQ
◎linux资源管理(2)
◎linux资源管理(1)
◎linux命令全记录
◎Linux解释器原理
◎自动安装Windows
◎Unix系统安全必读(2)
◎Unix系统安全必读(1)
◎GCC 命令行详解
◎linux shell 脚本入门
◎Linux网络安全之经验谈(2)
◎如何在Linux下搭建Web应用环境
◎Linux网络安全之经验谈(1)
◎linux下的网络分析Tcpdump命令的使用
◎linux下网络经典问题指南篇
◎资深Linux程序员的开发经验谈
◎Linux操作系统12则经典应用技巧
◎Linux上的C/C++编译器gcc/egcs详解
◎Linux无线网络技术概述:WLAN
◎Unix系统安全必读
◎Linux内核模块和驱动的编写
◎Linux 下 C++程序的异常处理技巧
◎如何在Linux环境模拟DOS命令
◎Linux的常用网络命令
◎操作系统探测
◎实时操作系统VxWorks在跟踪雷达系统中的应用
◎Linux嵌入式系统开发平台选型探讨
◎uCOS和uClinux的比较
◎XP自带网络诊断程序解决网络故障
◎完全掌握Windows系统还原12招
◎Linux 下 C++程序的异常处理技巧
◎巧用DLL文件来隐藏你的资料
◎使用 Bash shell 脚本进行功能测试
◎学会使用Linux性能分析工具
◎Qmail安装及设定
◎Microsoft 群集服务 (MSCS) 简介
◎Linux初学之学习方向和方法浅谈
◎Linux常见紧急情况处理方法
◎Linux操作系统中的7件武器详解
◎Windows XP鲜为人知的N招
◎嵌入式系统Boot Loader 技术内幕(4)
◎嵌入式系统Boot Loader技术内幕(3)
◎嵌入式系统Boot Loader技术内幕(2)
◎嵌入式系统Boot Loader 技术内幕(1)
热门文章
◎Sun Solaris指令大全
◎vi使用手册
◎linux shell 脚本入门
◎学会使用Linux性能分析工具
◎Linux指令大全(1)
◎嵌入式系统Boot Loader技术内幕(2)
◎Linux操作系统12则经典应用技巧
◎Linux的常用网络命令
◎Linux上的C/C++编译器gcc/egcs详解
◎Windows XP鲜为人知的N招
◎GCC 命令行详解
◎Linux下硬盘分区详解
◎嵌入式系统Boot Loader 技术内幕(1)
◎linux指令大全(2)
◎Qmail安装及设定
◎Linux嵌入式系统开发平台选型探讨
◎uCOS和uClinux的比较
◎嵌入式系统Boot Loader技术内幕(3)
◎linux指令大全(3)
◎Linux内核模块和驱动的编写
◎linux指令大全(4)
◎linux命令全记录
◎使用 Bash shell 脚本进行功能测试
◎linux下网络经典问题指南篇
◎linux使用大全(5)
◎Linux初学之学习方向和方法浅谈
◎嵌入式系统Boot Loader 技术内幕(4)
◎linux使用大全(9)
◎linux使用大全(6)
◎巧用DLL文件来隐藏你的资料
◎linux使用大全(7)
◎Linux解释器原理
◎安全高效 方便简洁—《Sun Solaris 10》测试手记
◎linux使用大全(8)
◎如何在Linux下搭建Web应用环境
◎Linux无线网络技术概述:WLAN
◎Linux操作系统中的7件武器详解
◎XP自带网络诊断程序解决网络故障
◎实时操作系统VxWorks在跟踪雷达系统中的应用
◎完全掌握Windows系统还原12招
◎自动安装Windows
◎Linux常见紧急情况处理方法
◎资深Linux程序员的开发经验谈
◎操作系统探测
◎如何在Linux环境模拟DOS命令
◎Unix系统安全必读
◎linux下的网络分析Tcpdump命令的使用
◎Unix系统安全必读(1)
◎Linux 下 C++程序的异常处理技巧
◎linux资源管理(1)

Google提供的广告