httpd IO相应进程数调优

目的:在机器能够承受情况下,达到最大请求连接数

概念:http的IO模式

prefork, worker, event,其中prefork为进程模式,worker和event为线程的多路复用模式,本文以httpd传统的prefork为例,也可以通过更改配置文件设置httpd的IO响应模式

/etc/httpd/conf.modules.d/00-mpm.conf

准备测试网页

一般一个5Mb大小的文本文件test.txt,通常门口网站主页大小,

  1. 调整prefork的配置,从2000个进程开始
StartServers 2000
MinSpareServers 5
MaxSpareServers 20
ServerLimit 2000                     # 最多进程数,最大值 20000
MaxClients 2000                     # 最大的并发连接数
MaxRequestsPerChild 4000       # 子进程最多能处理的请求数量。

在服务端打开vmstate

vmstat 1 #主要观察内存和swap情况

在client端测试httpd连接状况,根据测试结果不断调整profork进程数大小

# ab命令为httpd-tools中的一个工具
# 输出中主要的参数为Requests per second
ab -c1000 -n2000 http://ip/test.txt
Document Path:          /
Document Length:        20 bytes

Concurrency Level:      10
Time taken for tests:   0.070 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      2650 bytes
HTML transferred:       200 bytes
Requests per second:    143.24 [#/sec] (mean)
Time per request:       69.813 [ms] (mean)
Time per request:       6.981 [ms] (mean, across all concurrent requests)
Transfer rate:          37.07 [Kbytes/sec] received


你可能感兴趣的:(httpd IO相应进程数调优)