Apache网页深入优化 ----ab压力测试
一:ab压力测试
1、ab工具的概述
-
ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。
-
ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。
-
ab命令对发出负载的计算机要求很低,不会占用很高CPU和内存,但也能给目标服务器产生巨大的负载,使用的时候要注意,如果一次太多的负载,可能导致主机资源耗尽,严重时可能死机。
-
ab工具位于 /usr/local/httpd/bin/ab 下
2、命令格式
例:ab -n2000 -c800 www.test.com/index.html
//800为并发数,2000为总请求数
参数说明:
-n: 测试会话中所执行的请求总数,默认时仅执行一个请求;
-c: 并发产生的请求个数,默认是一个一次;
-t: 测试所进行的最大秒数;
-v: 设置显示信息的详细过程。
3、ab测试结果关键参数
4、Apache工作模式
- Apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件
- 其工作模式有许多种,源码包安装httpd时可查看httpd-mpm.conf文件,该文件位于extra/conf目录中
- 目前主要有三种模式
- event模式
- prefork模式
- worker模式
复制代码
1
2
3
4
5
6
7[root@apache1 bin]#./httpd -| '查看Apache当前的工作模式' Compiled in modules: core.c mod SO.C http_ core.c event.c
二:ab测试实验
1、实验目的
使用apache自带ab工具,测试压缩模块优化前后的时间差距
2、实验过程
(1)首先先挂载,再把挂载文件解压到/opt/目录下,再安装编译工具
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[root@localhost ~]# mkdir /abc ‘创建目录 /abc’ [root@localhost ~]# mount.cifs //192.168.10.29/share /abc ‘192.168.10.29是自己的宿主机IP地址’ ‘解压’ [root@localhost abc]#tar -zxvf apr-1.4.6.tar.gz -C /opt/ [root@localhost abc]#tar -zxvf apr-util-1.4.1.tar.gz -C /opt/ [root@localhost abc]#tar -zxvf httpd-2.4.2.tar.gz -C /opt/ ‘安装包优化’ [root@localhost opt]# mv apr-1.4.6/ httpd-2.4.2/srclib/apr [root@localhost opt]# mv apr-util-1.4.1/ httpd-2.4.2/srclib/apr-util ‘安装编译工具’ [root@localhost opt]# yum install gcc gcc-c++ pcre pcre-devel zlib-devel make expat-devel -y
(2) 手工编译安装
复制代码
1
2
3
4
5
6
7
8
9
10
11[root@localhost opt]# cd /opt/httpd-2.4.2/ #有configure的文件,执行以下命令 [root@localhost httpd-2.4.2]# ./configure --prefix=/usr/local/httpd --enable-deflate --enable-so --enable-rewrite --enable-charset-lite --enable-cgi [root@localhost httpd-2.4.2]# make && make install
(3) 进入apache 主配置文件修改
复制代码
1
2
3
4
5
6
7
8[root@localhost init.d]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf ‘建立软连接’ [root@localhost init.d]# vim /etc/httpd.conf ServerName www.kg.com:80 ‘修改域名,前面#号去掉’ Listen 192.168.34.147:80 ‘修改监听地址 (自己虚拟主机地址)’ #Listen 80 ‘注释’ [root@localhost init.d]# service httpd start ‘开启httpd服务’
(4)先给网页站点插入图片
复制代码
1
2
3
4
5
6
7
8
9[root@localhost abc]# cp dog.jpg /usr/local/httpd/htdocs/ ‘图片放在共享的文件中’ [root@localhost abc]# cd /usr/local/httpd/htdocs/ [root@localhost htdocs]# ls dog.jpg index.html [root@localhost htdocs]# vim index.htm <html><body><h1>It works!</h1> <img src="dog.jpg"/> ‘添加这一行,把图片加在网页中’ </body></html>
(5)在/bin/目录下启动脚本,关闭防火墙
复制代码
1
2
3
4
5
6
7
8
9[root@localhost httpd]# cd bin/ [root@localhost bin]# ls ab apu-1-config dbmmanage fcgistarter htdigest httxt2dbm apachectl apxs envvars htcacheclean htpasswd logresolve apr-1-config checkgid envvars-std htdbm httpd rotatelogs [root@localhost bin]# systemctl stop firewalld ‘关闭防火墙’ [root@localhost bin]# setenforce 0 [root@localhost bin]# ./apachectl start
到win10客户机中 测试
(6)建立一条软连接,便于系统识别
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14[root@localhost init.d]# cd /usr/local/httpd/ [root@localhost httpd]# ls bin cgi-bin error icons lib man modules build conf htdocs include logs manual [root@localhost httpd]# cd /bin [root@localhost bin]# ls [ mkhybrid a2p mkinitrd ab ‘可以看到ab压测工具’ mkisofs ...省略内容 [root@localhost bin]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ ‘建立的软连接’ [root@localhost bin]# which ab ‘查看是否有ab压测工具’ /usr/local/bin/ab
(7)对apache进行多次压测,取平均值
复制代码
1
2
3
4
5
6
7[root@localhost bin]# ab -n 2000 -c 800 www.kg.com/index.html Concurrency Level: 800 Time taken for tests: 21.031 seconds '看这行数据' '压缩时间' CompLete requests: 2000 Failed requests: 235
(8)进行优化,与优化前的测试结果对比
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf ‘进入apache主配置文件’ LoadModule filter_module modules/mod_filter.so ‘默认已经开启的’ LoadModule deflate_module modules/mod_deflate.so ‘去掉前面#号,开启deflate’ ‘在末尾处添加 , 关闭压缩模块功能’ <IfModule mod_deflate.c> AddOutputFilterBytype DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png DeflateCompressionLevel 6 SetOutputFilter DEFLATE </IfModule> [root@localhost bin]# /usr/local/httpd/bin/apachectl -t ‘验证apache配置文件是否有语法错误’ Syntax OK [root@localhost bin]# service httpd restart ‘开启服务’
(9)优化后再次使用ab工具进行压测
复制代码
1
2
3
4[root@localhost bin]#./apachectl stop [root@localhost bin]#./apachectl start '重启服务' [root@localhost bin]#ab -n 2000 -c 800 www.kg.com/index.html
实验总结:
从上面压测的两个数据比较来看,优化过后,处理高并发的能力更强 。 通过比较可以发现,结果参数发生了变化,在现网中的生产环境,可以根据承载的请求数等,频繁的调整参数,以使Apache 发挥出最大的优化性能 。
最后
以上就是饱满大神最近收集整理的关于Apache网页深入优化 ----ab压力测试Apache网页深入优化 ----ab压力测试的全部内容,更多相关Apache网页深入优化内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复