介绍
- 网站性能压力测试是服务器网站性能调优过程中必不可少的一环,只有让服务器处在高压情况下,才能真正体现出软件,硬件等各种设置不当所暴露的问题。
- ab是Apache自带的压力测试工具,非常实用,可以模拟多线程并发请求,测试服务器的负载压力。它不仅可以对Apache服务器网站访问进行压力测试,比如Nginx,tomcat,IIS等。ab对发出负载的计算机的要求很低,既不会占用很多的CPU,也不会占用太多内存,但却会给服务器造成巨大的负载。
- 再带宽不足的情况下,最好进行本机的测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。远程对Web服务器进行压力测试,往往效果不理想,因为网络延迟过大或带宽不足,得到的结果并不准确。
实验准备
- 本次实验,将使用Apache服务器建立网站并且对齐进行压力测试。本次需要准备Apache服务器,CentOS7操作系统。
实验过程
环境准备
- Apache手工编译安装
#解包
tar -zxvf apr-1.4.6.tar.gz -C /opt
tar -zxvf apr-util-1.4.1.tar.gz -C /opt
tar -zxvf httpd-2.4.2.tar.gz -C /opt
mv /opt/apr-1.4.6/ /opt/httpd-2.4.2/srclib/apr
mv /opt/apr-util-1.4.1/ /opt/httpd-2.4.2/srclib/apr-util
#安装手工编译软件包
yum install gcc gcc-c++ pcre-devel pcre zlib-devel make -y
#执行configure
cd /opt/httpd-2.4.2
./configure \
--prefix=/usr/local/httpd \
--enable-deflate \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
#make编译
make && make install
#安装完成之后建立一条软链接
ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
- 配置Apache主配置文件
vim /etc/httpd.conf
修改以下部分
- 启动Apache服务
/usr/local/httpd/bin/apachectl start
systemctl stop firewalld
setenforce 0
- 安装配置dns服务
yum install bind -y
vim /etc/named.conf
vim /etc/named.rfc1912.zones
cd /var/named/
cp -p named.localhost sup.com.zone
vim sup.com.zone
- 启动dns服务
systemctl start named
压力测试
- 将本机地址指向dns服务器
echo "nameserver 192.168.18.135" > /etc/resolv.conf
- 优化前使用ab对本机测试
ln -s /usr/local/httpd/bin/* /usr/sbin/
ab -n 3000 -c 1000 www.sup.com/index.html
连续测三次
第一次:21.078 seconds
第二次:21.055 seconds
第三次:21.029 seconds
平均:21.054 seconds
- 模块优化
开启deflate模块
vim /etc/httpd.conf
- 优化后使用ab对本机测试
ab -n 3000 -c 1000 www.sup.com/index.html
第一次:0.521 seconds
第二次:0.938 seconds
第三次:0.830 seconds
平均:0.763 seconds
实验总结
通过添加压缩模块,测试秒数减少了20s,Apache网页性能大大优化。