公司游戏提交到sina微博平台,同时还需要提供一份压力测试报告,因为没有压力测试的经验,所以查了不少资料,走了不少弯路,做一个总结,分享给大家吧
首先我们只有1台服务器,8G内存,操作系统centos5.5(64位),安装了Mysql 5.5,Apache 2.2.17,TC 1.4.47,TT 1.1.41,PHP 5.3.5,这么多的软件都跑在一台机子上,着实有点担心伤不起啊
选择web压力测试软件的时候,做了一番选择,有ab,siege,最终还是选择了webbench,理由是webbench开源免费,安装方便,可以模拟高达3w的并发,同时参数简单,省去了不少研究的功夫
webbench的官网是:http://home.tiscali.cz/~cz210552/webbench.html
同时介绍比较详细的网址有:http://blog.s135.com/post/288/
1.安装先
#wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
#tar -zxvf webbench-1.5.tar.gz
#make
#make install
2.写一段php代码,包含了经常调用且需要操作mysql,tt,假设url是 http://mytest.com/
开始测试前,还需要几个准备工作
3.写一个shell脚本ps.sh,记录每秒的http请求数
#!/bin/sh
while [ 1 ]
do
ps aux | grep httpd | wc -l
sleep 1
done
4.再写一个shell脚本ms.sh,记录每秒最高的请求数
#!/bin/bash
m=0
while [ 1 ]
do
c=$(ps aux | grep httpd | wc -l)
if [ $m -lt $c ]; then
m=${c}
echo $m
fi
sleep 1
done
5.给shell脚本权限后,开启2个远程窗口,分开运行脚本
#chmod +x ps.sh
#./ps.sh
#chmod +x ms.sh
#./ms.sh
6.开启新窗口,查看内存和cpu使用情况
#top
7.开启新窗口,webbench压力测试,8000的并发,持续30秒
#webbench -c 8000 -t 30 http://mytest.com/
8.得到结果,各自的操作窗口的数据进行总结了
9.优化apache的并发配置,加上了自己的注释
// 注释: 查看编译的模块
// 这里是查看是否编译prefork.c
#/usr/local/apache/bin/apachectl -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
// 编辑httpd.conf
#vi /usr/local/apache/conf/httpd.conf
// 去掉“#”
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
// 编辑httpd-mpm.conf
#vi /usr/local/apache/conf/extra/httpd-mpm.conf
// 刚才看到是prefork.c,这里就派上用场了
// 编辑prefork模块
<IfModule mpm_prefork_module>
// 启动apache同时产生10个进程
StartServers 10
// 最少50个空闲进程,理解最少50个候补人员,供apache差遣
MinSpareServers 50
// 最多100个空闲进程,如果少于MinSpareServers,则在MinSpareServers基础上+1
MaxSpareServers 100
// 此项如果不存在,自行添加,如果允许最大客户端超过256个,此项必须设置,必须在MaxClients之前,必须大于MaxClients
ServerLimit 3000
// 允许的最大并发数
MaxClients 3000
// 每个并发数允许的最多子进程,如果超过,会直接杀死进程
MaxRequestsPerChild 1000
</IfModule>
配置好apache后,记得重启,先stop在start比较保险
#/usr/local/apache/bin/apachectl stop
#/usr/local/apache/bin/apachectl start
10.调整心得
- StartServers 主要是考虑如果少于MinSpareServers,则会每秒按2的倍数生成1个新的空闲进程,就是1生2,2生4,4生8,直到达到MinSpareServers,所以和MinSpareServers相关
- MinSpareServers 开始设置得很大,对于一下子有大量的并发http效果明显,但是如果没有过大的http并发请求,则该项会占用内存和cpu,所以要慢慢调节到需要的量即可
- ServerLimit 据说最大值是20000,么尝试过
- MaxClients 并发数,如果设置太小,则超过并发数的请求只能排队等待,影响体验,当然,如果设置太大,则会增加服务器负担,使得每个得到处理的请求的体验也下降,难呐
- MaxRequestsPerChild 默认是0 表示所有子进程都会进行完后才会删除,所以很多人建议是设置一个定值
11.总结
总算把报告提交上去了,也不知道能不能通过
分享到:
相关推荐
在IT领域,Web压力测试是确保网站或Web应用在高流量和高负载下仍能保持稳定性和性能的关键步骤。本文将深入探讨十个免费的Web压力测试工具,它们各自的特点、优势与局限性,帮助读者更好地理解和选择适合自身需求的...
Web 压力测试工具 在软件开发和测试中,web 压力测试工具是非常重要的,用于评估 web 应用程序的性能和可靠性。在本文中,我们将对 10 种常用的 web 压力测试工具进行总结和比较。 1._LoadRunner_ LoadRunner 是...
1. **理解Web压力测试概念**:Web压力测试是一种模拟大量用户同时访问网站或应用,以检查系统在高负载下的性能、稳定性和资源利用率的方法。它可以帮助识别可能导致系统崩溃或响应速度下降的问题。 2. **熟练运用...
Web压力测试工具软件是针对Web应用程序进行性能和稳定性检测的重要工具。它们的主要目的是模拟大量并发用户访问,以检查系统在高负载下的响应速度、资源消耗和可能出现的问题。Web Application Stress Tool是一款...
【微软Web压力测试工具】 微软Web压力测试工具,也被称为Microsoft Web Application Stress Tool(WAST),是微软提供的一款专门用于测试Web应用程序性能和稳定性的工具。这款工具的主要目的是模拟大量并发用户对...
【软件测试——Web压力测试实验报告】 Web压力测试是软件测试的一个重要环节,主要目的是评估一个Web应用程序在高并发访问下的性能和稳定性。通过模拟大量用户同时访问系统,以检测其在极限条件下的表现,找出可能...
【标题】:“WEB压力测试”涉及的是评估和优化网站在高并发访问情况下的性能和稳定性。这是一项关键的测试活动,旨在确保Web应用程序在大量用户同时访问时仍能正常运行,提供良好的用户体验。 【描述】:“简单web...
在Linux下对Web进行压力测试的小工具有很多,比较出名的有AB.虽然AB可以运行在windows下,但对于想简单界面操作的朋友有点不太习惯....为了让在win下对web压力测试变得更简单方便所以用.net写了一个小工具来完成这个事情
Web压力测试是指通过模拟多个用户同时访问Web服务器,以评估服务器性能、稳定性、安全性的测试方法。Web压力测试工具可以帮助测试者了解服务器在高负载情况下的表现,从而发现系统性能瓶颈,确保系统具备足够的承载...
【标题】:“Windows下Web压力测试工具AB” 在Windows操作系统中,进行Web应用程序的压力测试是一项重要的任务,确保网站或服务在高并发访问时能够稳定运行。Apache HTTP Server提供了一个名为ApacheBench(简称ab...
标题:"WEB压力测试的科学与艺术" 描述:"WEB压力测试的科学与艺术。" 标签:"WEB压力测试" 根据给定的文件信息,我们可以深入探讨WEB压力测试的关键知识点,特别是其科学性和艺术性方面。 ### WEB压力测试:...
Web压力测试工具是用于模拟大量用户并发访问Web应用程序,以评估其性能和稳定性的软件工具。Was-Weba就是这样一个工具,它可以帮助开发者和运维人员识别潜在的性能瓶颈,优化网站服务,确保在高负载情况下仍能正常...
Web压力测试是评估Web应用程序在高负载或大量并发用户访问情况下的性能和稳定性的关键步骤。这有助于确保网站在高峰期能够正常运行,提供良好的用户体验。"web压力测试工具.rar"这个压缩包包含了进行此类测试所需的...
Web压力测试工具就是专门用于模拟大量用户同时访问网站,以此来检测服务器、数据库和网络等组件的承受能力。本篇文章将围绕"web压力测试工具",特别是"MS Web Application Stress工具"进行详细的介绍。 MS Web ...
**微软Web压力测试工具详解** 在信息技术领域,性能测试是不可或缺的一个环节,它能帮助我们评估和优化网站或应用程序在高并发情况下的表现。微软Web压力测试工具正是为这一目的而设计的专业工具,它能够模拟大量...
微软Web压力测试工具是一款强大的性能测试和负载测试解决方案,它专为评估Web应用程序在高并发访问下的稳定性和性能而设计。这款工具可以帮助开发者、系统管理员和质量保证团队模拟大量用户同时访问网站,以此来检测...
**Web压力测试工具Polygraph详解** Polygraph是一款广泛用于Web性能和压力测试的工具,它能够模拟大量并发用户对Web服务器进行访问,以此来评估服务器在高负载情况下的性能表现和稳定性。通过运行详尽的测试场景,...
在IT行业中,压力测试是确保Web应用程序稳定性和性能的关键环节。`ab`工具,全称为ApacheBench,是由Apache HTTP服务器项目提供的一款简单而强大的压力测试工具。它主要用于评估Web服务器在高负载条件下的表现,比如...