配置Apache运行在event事件驱动模式下
(1)启用MPM
Include conf/extra/httpd-mpm.conf
(2)配置evnet MPM参数
<IfModule event.c>
#default 3
ServerLimit 15 #default 256 MaxRequestWorkers (2.3版本叫MaxClients) <= ServerLimit * ThreadsPerChild
MaxRequestWorkers 960 #default 3
StartServers 3 #default 64
ThreadsPerChild 64 #default 100000 ThreadLimit >= ThreadsPerChild
ThreadLimit 64 #default 75
MinSpareThreads 32 #default 400 MaxSpareThreads >= (MinSpareThreads + ThreadsPerChild)
MaxSpareThreads 112 #default 0, at 200 r/s, 20000 r results in a process lifetime of 2 minutes
MaxConnectionsPerChild 10000
</IfModule>
1、StartServers:初始数量的服务器进程开始,默认为3个
2、MinSpareThreads:最小数量的工作线程,保存备用,默认是75个线程
3、MaxSpareThreads:最大数量的工作线程,保存备用,默认是250线程
4、ThreadsPerChild:固定数量的工作线程在每个服务器进程,默认是25个
5、MaxRequestWorkers:最大数量的工作线程,默认是400
6、MaxConnectionsPerChild:最大连接数的一个服务器进程服务,默认为0,没有上限限制,但是为了避免内存异常,影响稳定性,需要设置一个数值进行限制在修改配置后,需要停止htppd,再启动httpd, 不能通过apacherestart生效,而是先 apache stop 然后再 apache start才可以生效。
7、ServerLimit:ServerLimit是活动子进程数量的硬限制,它必须大于或等于MaxClients除以ThreadsPerChild的值。serverLimit最大20000,默认是16。只有在你需要将MaxClients和ThreadsPerChild设置成需要超过默认值16个子进程的时候才需要使用这个指令。不要将该指令的值设置的比MaxClients和ThreadsPerChild需要的子进程数量高。使用这个指令时要特别当心。如果将ServerLimit设置成一个高出实际需要许多的值,将会有过多的共享内存被分配。如果将ServerLimit和MaxClients设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。RedHat Enterprise LinuxAS3.0Update2最大MaxClients只能设置到256。如果你需要设置其为更高,需要在MaxClients前面添加:ServerLimitxxx其中xxx不能少于MaxClients的数值。该设置方法适用于Apache 2.0系列。
8、ThreadLimit:ThreadLimit是所有服务线程总数的硬限制,它必须大于或等于ThreadsPerChild指令。使用这个指令时要特别当心。如果将ThreadLimit设置成一个高出ThreadsPerChild实际需要很多的值,将会有过多的共享内存被分配。如果将ThreadLimit和ThreadsPerChild设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。该指令的值应当和ThreadsPerChild可能达到的最大值保持一致。
计算event的相关参数
(1):计算服务器进程的平均内存
[root@localhost ~]# ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
(2):计算正在通讯传输过程中的进程的平均内存,最好在一天之内不同的时间段内运行以下代码
[root@localhost ~]# ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
通过上面两个指令计算出平均进程所使用的内存大小 ,再通过以下公式计算
MaxRequestWorkers(MaxClients) = (Total RAM - RAM used for Linux, MySQL, etc.) / Average httpd process size.
1、StartServers 30% of MaxRequestWorkers
2、MinSpareThreads 5% of MaxRequestWorkers
3、MaxSpareThreads10% of MaxRequestWorkers
4、ServerLimit == MaxRequestWorkers
5、MaxConnectionsPerChild 10000 (as conservative alternative to address possible problem with memory leaky apps)
event MPM 与worker MPM区别
可以支持比worker更高的并发数,主要安装在类unix/linux上的工作模式。event mpm是worker mpm的变种,但是具有比worker MPM更好的并发性能。在event mpm模式下,ssl是不被支持的,他会被切换到worker mpm下处理。event mpm在apache2.4版本时才被从实验状态转化成标准应用。
配置Apache运行在event事件驱动模式下的更多相关文章
- 配置apache运行cgi程序
配置apache运行cgi程序 文章目录 [隐藏] ScriptAlias目录的CGI ScriptAlias目录以外的CGI 配置apache运行cgi程序可分为两种情况,一是ScriptAlias ...
- Asp.Net运行于32/64模式下的性能差异
项目使用的是Oracle数据库,.Net使用Odac对数据库进行访问.在官方下载Odac时会让你选择是下载32位的还是64位的.这会直接影响到网站的运行模式.目前我们使用的是32位的,那么布署时,需要 ...
- [Apache手册]Linux环境下配置Apache运行cgi
CGI动态页面 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互 ...
- 在ubuntu下配置apache运行python脚本
2008-12-05 常用的简单命令 sudo apt-get remove --purge apache apache2 (彻底删除) sudo /etc/init.d/apache2 r ...
- Spring Cloud ZooKeeper集成Feign的坑3,程序Run模式运行没事,Debug模式下报错
请更新Spring Cloud的版本: <dependency> <groupId>org.springframework.cloud</groupId> < ...
- 保护模式下pmtest1.asm的理解
整个代码对应内存线性地址分为四段,[gdt] [code32] [video32] [code16] 代码先在实模式[code16]下运行,code16中的cs就是系统分配的该程序物理地址的基址. 编 ...
- 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...
- ART模式下基于Xposed Hook开发脱壳工具
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik ...
- Ubuntu下配置Apache的Worker模式
其实Apache本身的并发能力是足够强大的,但是Ubuntu默认安装的是Prefork模式下的Apache.所以导致很多人后面盲目的去 安装lighttpd或者nginx一类替代软件.但是这类软件有一 ...
随机推荐
- JDK源码那些事儿之SynchronousQueue上篇
今天继续来讲解阻塞队列,一个比较特殊的阻塞队列SynchronousQueue,通过Executors框架提供的线程池cachedThreadPool中我们可以看到其被使用作为可缓存线程池的队列实现, ...
- SecureCRT中解决乱码的问题
SecureCRT中文乱码的问题,解决方法如下: 打开Option菜单,点击Session Options- 在Appearance外观这里,选择编码--UTF-8 一定要记得先保存! ...
- 树莓派远程桌面--使用windows自带的远程桌面软件mstsc.exe
步骤: 1.使用SSH登录树莓派 2.安装xrdp服务: sudo apt-get install xrdp 3.在Windows下打开命令框运行:mstsc 4.登录树莓派桌面 5.登录成功
- linux中的set ff=unix
set ff=unix : 告诉 vi 编辑器,使用unix换行符. 操作步骤: 1.用vi命令打开文件 2.直接输入 :set ff=unix
- Linux 内存分配失败(关于overcommit_memory)
1.问题现象和分析:测试时发现当系统中空闲内存还有很多时,就报内存分配失败了,所有进程都报内存分配失败:sshd@localhost:/var/log>free tota ...
- Oracle 11g 禁用 SQL Tuning Advisor 与 auto space advisor
生产上有一套11g数据库alert.log报错ORA-16957: SQL Analyze time limit interrupt. 查询MOS相关文档Troubleshooting: ORA-1 ...
- 怎样运行jar包中的文件
1. 2.编辑sysmodule.cmd文件 java -cp sysmodule.jar;classes12.jar;mysql-connector-java-5.0.3-bin.jar;jbcl. ...
- zabbix数据的时序-
gj的proxy服务器经过重启之后时序有变化. zabbix数据库中数据的存储是以哪方为准server端还是agent端, 触发事件跟恢复时间反了,本应该恢复的事件在数据库中查询event,得到的事件 ...
- Kalman实际应用总结
目录 Kalman理论介绍 一. 简单理论介绍理论 二. 升华理论介绍 Kalman基本应用 一. Kalman跟踪/滤波 二. Kalman预测/融合(单传感器) 三. Kalman多传感器融合A ...
- codeforces524E
题意:n*m的矩阵,给出k个点,Q次询问,问每个矩阵中每个点是否被看管,一个点被看管的定义是那个点所在的行或列有点,n,m<=1e5,k,q<=2e5 sol :发现行和列是独立的,即要么 ...