(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事件驱动模式下的更多相关文章

  1. 配置apache运行cgi程序

    配置apache运行cgi程序 文章目录 [隐藏] ScriptAlias目录的CGI ScriptAlias目录以外的CGI 配置apache运行cgi程序可分为两种情况,一是ScriptAlias ...

  2. Asp.Net运行于32/64模式下的性能差异

    项目使用的是Oracle数据库,.Net使用Odac对数据库进行访问.在官方下载Odac时会让你选择是下载32位的还是64位的.这会直接影响到网站的运行模式.目前我们使用的是32位的,那么布署时,需要 ...

  3. [Apache手册]Linux环境下配置Apache运行cgi

    CGI动态页面 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互 ...

  4. 在ubuntu下配置apache运行python脚本

    2008-12-05    常用的简单命令 sudo apt-get remove --purge apache apache2 (彻底删除)   sudo /etc/init.d/apache2 r ...

  5. Spring Cloud ZooKeeper集成Feign的坑3,程序Run模式运行没事,Debug模式下报错

    请更新Spring Cloud的版本: <dependency> <groupId>org.springframework.cloud</groupId> < ...

  6. 保护模式下pmtest1.asm的理解

    整个代码对应内存线性地址分为四段,[gdt] [code32] [video32] [code16] 代码先在实模式[code16]下运行,code16中的cs就是系统分配的该程序物理地址的基址. 编 ...

  7. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16

    一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...

  8. ART模式下基于Xposed Hook开发脱壳工具

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78092365 Dalvik模式下的Android加固技术已经很成熟了,Dalvik ...

  9. Ubuntu下配置Apache的Worker模式

    其实Apache本身的并发能力是足够强大的,但是Ubuntu默认安装的是Prefork模式下的Apache.所以导致很多人后面盲目的去 安装lighttpd或者nginx一类替代软件.但是这类软件有一 ...

随机推荐

  1. 快捷键和功能键、进入DOS命令行的方法、DOS命令讲解、java跨平台原理、JRE和JDK的定义、书写格式

    快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScree ...

  2. docker学习(五)

    一.实战案例介绍一些典型的应用场景和案例. 1.使用Supervisor来管理进程Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常 ...

  3. 自定义MVC--增删改查

    使用自定义mvc框架完成CRUD操作 1.通用分页的jar.自定义mvc框架.自定义标签 导入jar.导入之前写好的pageTag.自定义mvc.xml 1.1导入需要用到的jar包 1.2导入之前已 ...

  4. ASCII和Unicode编码的区别

    归纳: 编码 大小 支持语言 ASCII 1个字节 英文 Unicode 2个字节(生僻字4个) 所有语言 UTF-8 1-6个字节,英文字母1个字节,汉字3个字节,生僻字4-6个字节 所有语言 具体 ...

  5. AcWing P379 捉迷藏 题解

    Analysis 这道题因为我们要给能到达的两个点都连上,又由于n<=200,所以我们可以用n³的传递闭包来建边,再用匈牙利算法来求二分图最大点独立集. #include<iostream ...

  6. kubernetes 部署metricserver

    本篇适用于kubeadm部署的k8s的集群 安装环境:首先要部署好k8s的集群,版本是1.11.1,我的虚拟机部署的,一个master节点,一个node节点.笔记本性能有限 下载metrics-ser ...

  7. Excel开发VBA学习

    1.合并字符串A1&A22.拆分字符串LEFT(A2,SEARCH("-",A2)-1)3.下拉选项Data->Data validation->List 1. ...

  8. 爬虫(十一):scrapy中的选择器

    Scrapy提取数据有自己的一套机制,被称作选择器(selectors),通过特定的Xpath或者CSS表达式来选择HTML文件的某个部分Xpath是专门在XML文件中选择节点的语言,也可以用在HTM ...

  9. centos6安装Python3环境

    Python3安装 CentOS 6+系统默认安装的python版本是2.6.6,python2版本与python3还有有一些语法上的不一样.我们要把python升级到3版本,但是系统自带的旧版本py ...

  10. liunx系统下crontab定时启动Scrapy爬虫程序

    定时启动爬虫 # 查看命令得绝对路径 # which scrapy # cd到爬虫得项目目录下 + scrapy命令得绝对路径 + 启动命令 */5 * * * * cd /opt/mafengwo/ ...