物理环境

VPC,64C,8G,SSD

安装环境

centos7

apache2.4

php5.4

均使用YUM安装。

默认配置。

创建phpinfo

echo "<?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%负荷,这是个人经验,无测试依据)情况,同步降低所有参数。

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

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

转载于:https://blog.51cto.com/titandeng/1793167

centos7 apache2.4 测试相关推荐

  1. CentOS7.x Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)

    前言: 什么是sysbench? Oracle官方也使用该工具对MySQL进行测试 根据互联网应用特点进行测试 可以根据某个具体操作进行测试 还支持Oracle.PostgreSQL的测试 1.1.0 ...

  2. Centos7 安装Caliper 测试 Fabric2.3

    文章目录 目录 文章目录 前言 一.安装npm 二.创建Fabric测试网 三.Caliper创建工作区 四.构建网络配置文件 五.构建测试工作负载模块 六.构建基准测试配置文件 七.运行Calipe ...

  3. CentOS7 ab压力测试安装与解释

    背景 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用 在此提供 ab 在 centOS7 下的安装和使用方法 注:个人发现,之前安装的centos6 ...

  4. centos7 apache2.4 多站点配置

    2019独角兽企业重金招聘Python工程师标准>>> 1.apache主配置文件引入文件 #Include conf/extra/http-vhosts.conf 取消注释或在其下 ...

  5. centos7 xampp启动mysql数据库_mysql主从配置,用win xampp和centos7环境下测试

    mysql复制是基于主服务器的二进制日志中跟踪所有对数据库的增删改的,要开启主服务器的二进制日志 本地环境介绍: 主mysql: win 用的是Xampp集成环境,mysql5.6.ip地址:192. ...

  6. 在php环境下搭建dvwa,CentOS7搭建DVWA测试环境

    1.部署环境 CentOS Linux release 7.7.1908 (Core) Apache/2.4.6 (CentOS) 5.5.64-MariaDB MariaDB Server PHP ...

  7. Debian下Apache2安装与设置 一 ZT

    Debian下Apache2安装与设置 一 ZT 4. Apache 的安装 Apache 的安装无外乎两种方式: 源代码安装和DEB包安装.这两种安装类型各有特色,DEB包安装不需要编译,而源代码安 ...

  8. PHP安装包TS和NTS的区别-Centos7 LANMP环境搭建(最完善版本)

    PHP安装包TS和NTS的区别 phpinfo(); 打印环境查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全如果是:enabled,一般来说应该是ts版,否则是nts版. ...

  9. debian10 apache2使用ssl

    安装apache2 apt-get install apache2 修改配置 vim /etc/apache2/sites-available/default-ssl.conf 这里修改为你的证书位置 ...

最新文章

  1. 转帖一篇:截取密码(VC++)学习消息VC++的好处
  2. 在linux安装不了apache,Apache 不能安装在linux?
  3. bash知识点:文件测试
  4. linux系统配置脚本,Linux系统配置脚本开机自启
  5. shell监控web服务的多种方案
  6. python清洗完数据做什么_python数据清洗的基本思路是什么?
  7. 使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)
  8. mysql并行复制功能
  9. 基于与非门和多路开关结构的一位全加器实现方法
  10. H5文章分享给好友或朋友圈后如何生成自定义分享内容
  11. 卷积码原理及基本概念
  12. abb机器人goto指令用法_ABB机器人程序指令解读,建议收藏
  13. tap10.app cn.html,Tap连点器
  14. 亚马逊欧洲站的VAT需要多久申报一次
  15. 上海域格ASR和高通模块 USB端口分配及Linux下拨号说明
  16. 数字图像处理 低通、高通、带阻和带通滤波器
  17. vuepress引入外部组件后build报错window is not defined
  18. PDF分割与合并(充分利用Spire的bug实现操作PDF)
  19. wireshark使用抓包详细图文教程
  20. 利用VS安装项目打包软件的做法

热门文章

  1. mysql的show profile使用总结
  2. flutter Web打包
  3. 数据库之事务及事务的 ACID 性质
  4. 你真的做好数字化运营了吗?来直播间,给你加点儿“灵感”丨教育专题
  5. 重磅 |《企业埋点体系搭建方法论及实践经验》白皮书上线
  6. 深入分析 Flutter 初始化流程
  7. Exp3 免杀原理与实践 20154320 李超
  8. CSDP是个好东西——CSDP 认证考试简介
  9. 生产环境子域降级记录
  10. 如何写出《黄焖鸡米饭是怎么火起来的》这样的文章