Apache网页深入优化——ab压力测试,工作模式

  

ab压力测是工具

  
  
      <李> Apache自带压力测试工具ab,简单易用,且可以模拟各种条件对web服务器发起测是请求李   <李> ab工具可以直接在web服务器本地发起测是请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户电脑本地的计算时间,从而可以通过观测各种时间指标判断web服务器的性能,以便进行参数的优化调整李   
     

在进行性能调整优化过程中,可用ab压力测是工具进行优化效果的测试

  
      <李>优化前先使用ab进行压力测试李   <李>优化后,重启服务,再使用ab进行压力测试李   <李>对比两次测试的结果,看优化效果是否明显李   <李>为了能更客观的评价web服务的性能,一般优化前后都要进行多次测试,取测试的平均值进行对比李   
  

ab工具使用

  
命令格式:
  
 <代码> ab[选项]网站网址 
  
参数说明:
  
 <代码> - n、c - t - v  
  
示例:
  
 <代码>/usr/地方/httpd/bin/ab -n5000 -c900 www.kgc.com/index.html
  在测试时要根据情况调整求总数与并发用户数 
  

ab测试结果关键参数说明

           参数   描述               服务器软件? ? ? ? ? ? ? ? ? ? ? ?   http响应数据的头信息         服务器主机名   请求的url中的主机名称         服务器端口   web服务器软件的监听端口         文件路径   请求根的url的绝对路径         文件长度   http响应数据的正文长度         并发级别   并发的用户数         测试所花费的时间   所有这些请求被处理完成所花费的时间总和         完成请求   表示总请求数         请求失败   失败的请求总数         总转移   请求的响应数据长度总和         每秒请求   服务器的吞吐率,每秒处理的请求数         每个请求的时间   用户平均请求等待时间         每个请求的时间   每个请求实际运行时间的平均值         在一定比例的请求服务时间(女士)   描述每个请求处理时间的分布情况            

Apache工作模式介绍

  
  
      <李> Apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件   <李>其工作模式有许多种,源码包安装httpd时刻查看httpd-mpm-conf文件,该文件位于额外的/conf目录中李   <李>目前主要有两种模式:
    事件模式
    prefork模式
    工模式李   
     
 <代码>可使用。/httpd - l查看apache当前工作模式 
  

事件工作模式介绍

  
  
      <李>事件是Apache最新的工作模式,它和工模式很像,不同的是在于它解决了维生长连接的时候占用线程资源被浪费的问题   <李>事件工作模式在遇到某些不兼容的模块时,会失效,将会回退到工模式李   <李>事件工作模式需要Linux系统(Linux 2.6 +)对epoll的支持,才能启用。需要补充的是HTTPS的连接(SSL)   
     

事件工作方式

  
  
      <李>在事件工作模式中,会有一些专门的线程用来管理这些维生类型的线程李   <李>当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放李   <李>这样,一个线程就能处理几个请求了,实现了异步非阻塞。这增强了在高并发场景下的请求处理李   
     

事件参数讲解

  
 <代码> # #在http-mpm.conf配置文件中,以下是事件模块的定义
  & lt; IfModule mpm_event_module>
  StartServers 3
  MinSpareThreads 75
  MaxSpareThreads 250
  ThreadsPerChild 25
  MaxRequestWorkers 400
  MaxConnectionsPerChild 0
  & lt;/IfModule>  
  

参数说明

           参数   说明               StartServers   服务启动时初始的进程数,默认3         MinSpareThreads   最小的空闲子进程数,默认75         MaxSpareThreads   最大的空闲子进程数,默认250         ThreadsPerChild   每个子进程产生的线程数量,默认是25         MaxRequestWorkers   限定同一时间内客户端最大接入请求数量,默认400         MaxConnectionsPerChild   每个子进程在其生命周期内允许的请求数量,如果请求总数已经达到这个数值,子进程将会结束,如果设置为0,子进程将永远不会结束。将该值设置为非0值,可以防止运行PHP导致的内存泄露            

Apache网页深入优化——ab压力测试,工作模式