Apache实现网站性能压力测试
简介压力测试是性能调优过程中必不可少的一环。只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题。
性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。
ab的原理
ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、、tomcat、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC×××。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。
实验环境
[*]系统环境:centos6.5
[*]服务器IP地址:192.168.100.103
[*]yum挂载目录:/mnt/sr0
[*]相关源码包下载地址:百度云下载 密码:pko3
搭建步骤
一、准备工作
1、关闭防火墙及selinux
# chkconfig iptables off #随开机关闭iptables
# vim /etc/sysconfig/selinux
# reboot #重启生效
2、卸载以RPM方式安装httpd相关包
# rpm -qa | grep "httpd"
# yum remove httpd #卸载httpd相关包
3、搭建DNS服务器
如果没有搭建以上两个服务的朋友,请查看我的其他帖子有详细介绍
http://blog.51cto.com/11905606/2156944
二、搭建httpd服务
1、安装gcc、gcc-c++、make、arp、arp-util、pcre等工具包
# yum -y install gcc gcc-c++ make zlib-devel #安装C语言编译器以及make
# tar -zxvf apr-1.4.6.tar.gz -C /usr/src/
# cd /usr/src/apr-1.4.6/
# ./configure prefix=/usr/local/apr && make && make install
# tar -zxvf apr-util-1.4.1.tar.gz -C /usr/src/
# cd /usr/src/apr-util-1.4.1/
# ./configure prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install
# tar -zxvf pcre-8.10.tar.gz -C /usr/src #支持正则
# cd /usr/src/pcre-8.10/
# ./configure prefix=/usr/local/pcre && make && make install
2、配置编译安装apache
# tar zxvf httpd-2.4.2.tar.gz -C /usr/src/
# cd /usr/src/httpd-2.4.2/
# ./configure \
--prefix=/usr/local/httpd \
--with-apr=/usr/local/apr \
--with-pcre=/usr/local/pcre \
--enable-deflate \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
参数解析:
prefix:指定安装目录
enable-deflate:启用mod_deflate模块
enable-so:启用动态加载模块支持,需要什么功能可以动态加载
enable-rewrite:启用网页地址重写功能,实现伪静态
enable-charset-lite:默认字符集
enable-cgid:启用CGID
# make && make install #编译及编译安装
3、添加系统服务
# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
# vim /etc/init.d/httpd
第2、3两行添加以下参数:
# chkconfig:2345 85 15
# description:Apache is a World Wide Web server.
# chmod +x /etc/init.d/httpd
# chkconfig --add httpd
4、建立软链接,方便管理
# mkdir -p /etc/httpd
# ln -s /usr/local/httpd/conf/ /etc/httpd/ #优化配置文件路径
# ln -s /usr/local/httpd/bin/* /usr/local/bin/ #优化命令路径
5、修改配置文件
# vim /etc/httpd/conf/httpd.conf
修改以下参数:
ServerName www.bt.com:80 #填写完全主机名
Listen 192.168.100.103:80 #监听本地IP
6、启动httpd服务
# service httpd start
# netstat -anpt | grep ':80'
二、配置Apache实现网页压缩
1、编辑默认首页
# cp qingzi.jpg /usr/local/httpd/htdocs/ #将图片拷贝到站点目录中
# cd /usr/local/httpd/htdocs/
# vim index.html
It works!
#首页添加图片
2、修改主配置文件
# vim /etc/httpd/conf/httpd.conf
102行左右,开启deflate模块
LoadModule deflate_module modules/mod_deflate.so
最末尾添加如下参数:
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript #对html、css等内容启用gzip压缩
DeflateCompressionLevel 9 #压缩级别是9,高级别压缩,级别越高,压缩越小
SetoutputFilter DEFLATE #启用deflate模块对本站点的输出进行gzip压缩
3、检查是否安装了mod_deflate模块
# apachectl -t -D DUMP_MODULES | grep 'deflate'
# /etc/init.d/httpd restart #重启httpd服务
4、使用fiddler抓包查看
三、使用ab工具进行压力测试
# cd /usr/local/httpd/bin/
# ll
1、进行压力测试
# ab -n3000 -c1000 www.bt.com/index.html
-n:请求数总和,也就是request请求的总数,访问数量
-c:并发用户数,并发链接数量
2、关闭网页压缩功能
# vim /etc/httpd/conf/httpd.conf
# /etc/init.d/httpd restart #重新启动服务
3、再次进行压力测试
# ab -n3000 -c1000 www.bt.com/index.html
页:
[1]