文档章节

apache调优

人情世故
 人情世故
发布于 2016/05/20 17:26
字数 540
阅读 60
收藏 1

apache 调优

prefork和worker模式的比较

prefork模式使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。

worker模式使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是安全的"。

 

./configure --with-mpm=worker(prefork)

httpd -v

apachectl –l 显示当前工作模式

 

 


5

6

7

8

9

10

#mpm_perfork模块的默认配置

 

<IfModule mpm_prefork_module>

StartServers 5 #推荐设置:小=默认 中=20~50 大=50~100

MinSpareServers 5 #推荐设置:与StartServers保持一致

MaxSpareServers 10 #推荐设置:小=20 中=30~80 大=80~120

MaxClients 150 #推荐设置:小=500 中=500~1500 大型=1500~3000

MaxRequestsPerChild 0 #推荐设置:小=10000 中或大=10000~500000

(还需要额外注意ServerLimit参数,该参数一般要大于MaxClients的值。)

</IfModule>

 

StartServers,启动Apache时创建的子进程数。

MinSpareServers,处于空闲状态的最小子进程数。

MaxSpareServers,处于空闲状态的最大子进程数。

MaxClients,允许同时连接的最大请求数量。

MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量

ServerLimit是最大的进程数,MaxClients是最大的请求并发,所以他们的关系是MaxClients=ServerLimit*进程的线程数

© 著作权归作者所有

人情世故
粉丝 5
博文 23
码字总数 8850
作品 0
赤峰
运维
私信 提问
The based of tuning

调优目的: 1、 提高资源利用率 2、 找出性能瓶颈并缓解 3、 通过性能管理实现合理的资源分配,提升硬件性价比 调优分层及效率问题: 业务级调优 eg:1)网站使用的Apache—>业务架构 2)将原...

卡子火
2017/05/18
0
0
成为Java GC专家系列

成为Java GC专家(1):深入浅出Java垃圾回收机制 成为Java GC专家(2):如何监控Java垃圾回收机制 成为Java GC专家(3):如何优化Java垃圾回收机制 成为Java GC专家(4):Apache的MaxClients参数...

HenrySun
2016/06/21
217
0
系统运维工程师面试题及参考答案

1. raid0 raid1 raid5 原理与区别 raid0至少2块硬盘。吞吐量大 性能好 同时读写,但损坏一个就完蛋 raid1至少2块硬盘。相当于 一个镜像,一个存储。安全性比较高。但是性能比0弱 raid5至少3...

xinsz08
2017/04/18
0
0
性能调优概述

大纲: 一、概述 二、什么是性能调优?(what) 三、为什么需要性能调优?(why) 四、什么时候需要性能调优?(when) 五、什么地方需要性能调优?(where) 六、什么人来进行性能调优?(who) 七、怎...

陈明乾
2014/07/14
0
0
SparkML模型选择(超参数调整)与调优

Spark ML模型选择与调优 本文主要讲解如何使用Spark MLlib的工具去调优ML算法和Pipelines。内置的交叉验证和其他工具允许用户优化算法和管道中的超参数。 模型选择(又称为超参数调整) ML中...

rlnlo2pnefx9c
2017/12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。 Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函...

猿敲月下码
27分钟前
9
0
debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
59分钟前
10
0
aelf Enterprise 0.8.0 beta有奖公测,“Bug奖金计划”重磅开启

2019年9月30日,aelf Enterprise 0.8.0 beta版正式发布。aelf Enterprise 0.8.0 beta是一个完备的区块链系统, 包含完备的区块链系统、开发套件、开发文档、以及配套的基础应用和基础服务。 ...

AELF开发者社区
今天
10
0
oracle 初始化数据库脚本

create user lpf identified by 123456; create tablespace lpf_ts_cms datafile '/opt/app/oracle/product/11.2.0/lpf.dbf' size 200M; alter user lpf default tablespace lpf_ts_cms; sel......

internetafei
今天
8
0
深入了解Redis底层数据结构

说明 说到Redis的数据结构,我们大概会很快想到Redis的5种常见数据结构:字符串(String)、列表(List)、散列(Hash)、集合(Set)、有序集合(Sorted Set),以及他们的特点和运用场景。不过它们是...

TurboSanil
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部