Apache深入优化----ab压力测试概述+实验

文章目录

        • 前言:
        • 一、ab压力概述
          • 1.1 ab压力测试工具简介
          • 1.2 ab压测工具命令、参数
          • 1.3 ab测试结果关键参数说明
        • 二、ab压测实验
          • 2.1 手工编译安装Apache
          • 2.2 网站部署及ab压力测试
            • 2.2.1 配置apache
            • 2.2.2 设置域名解析
          • 2.3 进行ab压测测试
          • 2.4 优化后压测对比
            • 2.4.1 优化后压测实验
        • 总结:

前言:

  • Apache的默认配置可以保证基本运行服务,但是在生产环境中,有时候需要把服务器性能发挥到最大,此时,需要我们进行深入优化

  • 深入优化包括对服务器进行压力测试,然后对相应数据进行优化,以便充分发挥服务器的作用

一、ab压力概述

1.1 ab压力测试工具简介
  • ab是apachebench命令的缩写。
  • ab的原理ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
  • Apache自带压力测试工具ab,简单易用,它对发出负载的计算机要求很低,它既不会占用很高的CPU,也不会占用很多的内存,但也能给目标服务器产生巨大的负载,使用的时候要注意,如果一次太多的负载,可能导致主机资源耗尽,严重时可能死机。
1.2 ab压测工具命令、参数
  • ab工具使用的命令格式

ab -n 2000 -c 800 www.test.com/index.html

参数说明

-n:测试会话所执行的请求总数,默认时仅执行一个请求;

-c :并发产生的请求个数,默认时一个一次;

-t :测试所进行的最大描述

-v :设置显示信息的详细过程

1.3 ab测试结果关键参数说明

Apache深入优化----ab压力测试概述+实验_第1张图片

二、ab压测实验

此项实验我们将分别在优化前后进行压测,对比前后结果

虚拟机环境:Centos 7 操作系统

2.1 手工编译安装Apache
  • 挂载共享文件、解压到/opt/目录中
[@localhost ~]# mount.cifs //192.168.181.1/LAMP-C7 /mnt
Password for root@//192.168.181.1/LAMP-C7:  
[@localhost ~]# cd /mnt
[root@localhost mnt]# ls
amoeba-mysql-binary-2.2.0.tar.gz  Discuz_X2.5_SC_UTF8.zip  mha.rar
apr-1.6.2.tar.gz                  httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz             LNMP-C7                  php-5.6.11.tar.bz2
awstats-7.6.tar.gz                LNMP-C7.rar
cronolog-1.6.2-14.el7.x86_64.rpm  mha
  • 解压跨平台组件包和源码包
[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
[root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
...............省略部分内容
[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
...............省略部分内容
[root@localhost mnt]# cp dog.jpg /usr/local/httpd/htdocs/
[root@localhost mnt]# cd /opt
[root@localhost opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
  • 安装编译工具及环境包
[root@lamp opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre-devel \
> zlib-devel \
> expat-devel \
> pcre \
> perl
...........省略部分内容
  • 配置编译
[root@lamp opt]# cd /opt/httpd-2.4.29/
[root@lamp httpd-2.4.29]#./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-deflate \
--enable-expires \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
........省略部分内容
[root@localhost httpd-2.4.29]# make   #生产可执行的二进制文件
........省略部分内容
[root@localhost httpd-2.4.29]# make install   #复制二进制文件到系统,配置应用环境
........省略部分内容
  • 创建软链接便于管理
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf  
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/ab /usr/sbin   #创建软链接,让httpd的ab命令便于系统管理
2.2 网站部署及ab压力测试
2.2.1 配置apache
  • 修改域名和监听地址
[root@localhost bin]# vim /etc/httpd.conf 
Listen 192.168.181.129:80	  #将监听地址修改为本机地址
#Listen 80				 	  #关闭ipv6监听地址
ServerName www.cats.com:80	  #修改域名
---------》wq
  • 关闭防火墙、开启Apache服务
[root@localhost bin]# systemctl stop firewalld
[root@localhost bin]# setenforce 0
[root@localhost bin]# ./apachectl start
  • 配置网页站点
[root@localhost bin]# cd ..
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# vim index.html 

It works!

"cat.jpg"/> --------->wq [root@localhost htdocs]# cd /mnt [root@localhost mnt]# cp cat.jpg /usr/local/httpd/htdocs/ [root@localhost htdocs]# ls cat.jpg index.html
2.2.2 设置域名解析

方式一:安装bind,做正向解析

方式二:指向hosts文件

示例

[root@localhost htdocs]# echo "192.168.181.129 www.cats.com" >> /etc/hosts
  • 使用win10-1 虚拟机测试网页
    Apache深入优化----ab压力测试概述+实验_第2张图片
2.3 进行ab压测测试
  • 优化前进行多次压测、取均值

示例

[root@localhost htdocs]# ab -n 2000 -c 800 www.cats.com/index.html

Apache深入优化----ab压力测试概述+实验_第3张图片

进行测试5次、平均时间为:22秒

2.4 优化后压测对比
  • 修改配置文件
LoadModule headers_ module modules/ mod_ headers. so     #默认开启
LoadModule deflate_ module modules/mod_ deflate. so     #去掉前面“#”开启deflate模块
LoadModule filter_ module modules/mod_ filter. so       #默认开启
#在文尾添加以下内容

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
  • 验证语法、重启服务
[root@localhost bin]# ./apachectl -t
Syntax OK
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
2.4.1 优化后压测实验
[root@localhost htdocs]# ab -n 2000 -c 800 www.cats.com/index.html

示例

Apache深入优化----ab压力测试概述+实验_第4张图片

进行测试5次、平均时间为:20秒

总结:

因为是临时创建的简易网站、站点中图片资源较少,优化前后的对比不明显,现网环境中,可以使用apache自带的ab测试工具进行测试、检验
后文将介绍apache的三种工作模式及目录属性

你可能感兴趣的:(Apache)