centos7 apache2.4 测试
物理环境
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 测试相关推荐
- CentOS7.x Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)
前言: 什么是sysbench? Oracle官方也使用该工具对MySQL进行测试 根据互联网应用特点进行测试 可以根据某个具体操作进行测试 还支持Oracle.PostgreSQL的测试 1.1.0 ...
- Centos7 安装Caliper 测试 Fabric2.3
文章目录 目录 文章目录 前言 一.安装npm 二.创建Fabric测试网 三.Caliper创建工作区 四.构建网络配置文件 五.构建测试工作负载模块 六.构建基准测试配置文件 七.运行Calipe ...
- CentOS7 ab压力测试安装与解释
背景 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用 在此提供 ab 在 centOS7 下的安装和使用方法 注:个人发现,之前安装的centos6 ...
- centos7 apache2.4 多站点配置
2019独角兽企业重金招聘Python工程师标准>>> 1.apache主配置文件引入文件 #Include conf/extra/http-vhosts.conf 取消注释或在其下 ...
- centos7 xampp启动mysql数据库_mysql主从配置,用win xampp和centos7环境下测试
mysql复制是基于主服务器的二进制日志中跟踪所有对数据库的增删改的,要开启主服务器的二进制日志 本地环境介绍: 主mysql: win 用的是Xampp集成环境,mysql5.6.ip地址:192. ...
- 在php环境下搭建dvwa,CentOS7搭建DVWA测试环境
1.部署环境 CentOS Linux release 7.7.1908 (Core) Apache/2.4.6 (CentOS) 5.5.64-MariaDB MariaDB Server PHP ...
- Debian下Apache2安装与设置 一 ZT
Debian下Apache2安装与设置 一 ZT 4. Apache 的安装 Apache 的安装无外乎两种方式: 源代码安装和DEB包安装.这两种安装类型各有特色,DEB包安装不需要编译,而源代码安 ...
- PHP安装包TS和NTS的区别-Centos7 LANMP环境搭建(最完善版本)
PHP安装包TS和NTS的区别 phpinfo(); 打印环境查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全如果是:enabled,一般来说应该是ts版,否则是nts版. ...
- debian10 apache2使用ssl
安装apache2 apt-get install apache2 修改配置 vim /etc/apache2/sites-available/default-ssl.conf 这里修改为你的证书位置 ...
最新文章
- 转帖一篇:截取密码(VC++)学习消息VC++的好处
- 在linux安装不了apache,Apache 不能安装在linux?
- bash知识点:文件测试
- linux系统配置脚本,Linux系统配置脚本开机自启
- shell监控web服务的多种方案
- python清洗完数据做什么_python数据清洗的基本思路是什么?
- 使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)
- mysql并行复制功能
- 基于与非门和多路开关结构的一位全加器实现方法
- H5文章分享给好友或朋友圈后如何生成自定义分享内容
- 卷积码原理及基本概念
- abb机器人goto指令用法_ABB机器人程序指令解读,建议收藏
- tap10.app cn.html,Tap连点器
- 亚马逊欧洲站的VAT需要多久申报一次
- 上海域格ASR和高通模块 USB端口分配及Linux下拨号说明
- 数字图像处理 低通、高通、带阻和带通滤波器
- vuepress引入外部组件后build报错window is not defined
- PDF分割与合并(充分利用Spire的bug实现操作PDF)
- wireshark使用抓包详细图文教程
- 利用VS安装项目打包软件的做法