centos7 测试php,centos7 apache2.4 测试

物理环境

VPC,64C,8G,SSD

安装环境

centos7

apache2.4

php5.4

均使用YUM安装。

默认配置。

创建phpinfoecho "<?php  phpinfo(); ?>" >> /var/www/html/index.php

使用ab,phpinfo进行测试

出现socket错误继续进行(-r Don't exit on socket receive errors.)

使用HTTP KeepAlive功能(-k ,避免apr_pollset_poll: The timeout specified has expired (70007)错误)

使用ulimit -n增加文件打开数量ulimit -n 65535

第一次测试ab -r -n 20000 -c 100 'http://127.0.0.1/index.php'

测试期间,新建一个会话,统计httpd进程数。ps -ef|grep httpd|wc -l

259

最多的时候是259个进程,基本符合默认配置最多256个httpd进程

查看apache2.4 mpm默认配置cat /etc/httpd/conf.modules.d/00-mpm.conf# Select the MPM module which should be used by uncommenting exactly

# one of the following LoadModule lines:

# prefork MPM: Implements a non-threaded, pre-forking web server

# See: http://httpd.apache.org/docs/2.4/mod/prefork.html

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

# worker MPM: Multi-Processing Module implementing a hybrid

# multi-threaded multi-process web server

# See: http://httpd.apache.org/docs/2.4/mod/worker.html

#

#LoadModule mpm_worker_module modules/mod_mpm_worker.so

# event MPM: A variant of the worker MPM with the goal of consuming

# threads only for connections with active processing

# See: http://httpd.apache.org/docs/2.4/mod/event.html

#

#LoadModule mpm_event_module modules/mod_mpm_event.so

apache2.4 默认使用prefork模式,默认设置这里没有显示,需在官网查询

打开查询网址http://httpd.apache.org/docs/2.4/mod/prefork.html

发现prefork模式有以下配置StartServers(启动时进程数,默认5)

MinSpareServers(最小空闲进程数,默认5)

MaxSpareServers(最大空闲进程数,默认10)

MaxRequestWorkers(最大进程数,不可大于serverlimit,默认256)

MaxConnectionsPerChild(每个进程处理任务数,达到后重启进程,默认0,不重启)

ServerLimit(程序最大进程数,默认256)

ListenBacklog(超过MaxRequestWorkers最大服务请求,将连接进行排队,默认队列长度511)

参数调整逻辑,将以下参数StartServers

MinSpareServers

MaxSpareServers

MaxRequestWorkers

ServerLimit

设置成同一数值,避免httpd进程数出现变化,造成性能不稳定。

不重启进程,节约cpu。生产环境需设置一个较大数值,避免内存泄漏。MaxConnectionsPerChild 0

将队列调高,将来不及处理的链接都进行排队ListenBacklog 10000

ab测试的时候加上-r -k参数,避免出现小错误时候停止测试.

-n 代表总测试次数,-c 代表每秒测试次数ab -k -r -n 1000000 -c 512 'http://127.0.0.1/index.php'

新建会话使用top(这里推荐htop)观察内存,cpu占用情况,如出现cpu或内存超过80%负荷(在保证最高负荷时的稳定性,一般不推荐超过80%负荷,这是个人经验,无测试依据)情况,同步降低所有参数。

其实一般情况下默认的参数就够用的,如果你的设备性能非常好,才需要慢慢调整配置。

测试一次,调整一次,避免负优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值