加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Apache的性能优化(一)

(2005-11-22 09:54:34)
分类: linux OS

服务器型号:

型号:DELL1750

cpuIntel Xeon(TM) CPU 3.06GHz

内存 1G

硬盘:70/70/70

操作系统:FreeBSD 4.8p-STABLE

 

主要针对的应用需求:

峰值:800/s

pv流量一千万。

每个文件最大0.k字节,都是html文件.

使用内存文件系统。

 

目录:

简单介绍模块化思想

具体模块定制

影响性能的关键指标MPM

其他apache性能优化配置

简单性能测试

 

 

简单介绍模块化思想:

UNIX系统上, Apache采用了多进程模型。多进程模型中, 其子进程处理客户请求, 父进程用于管理子进程. 当系统过载时父进程会再启动几个子进程, 当系统空闲时, 父进程会杀掉几个子进程. 子进程的数目在"MinSpareServers""MaxSpareServers"之间. 而且, 每个子进程处理的请求个数也是有限制的, 这可以解决诸如内存泄漏等问题. 所有的进程状态都被记录在share memory. 由于每个进程的状态记录在其中的一小块内存上, 它通常也只读写这一块内存, 因此, Apache没有使用什么同步机制.

  Apache 2.0中加入了很多的核心改进和新功能,如Unix线程、多协议支持、新的构建系统、对非Unix平台的更佳支持、IPv6支持、新的Apache API、过滤器、多语言错误响应、原生的Windows NT Unicode支持、更简单化的配置,以及升级的正则表达式库等。它当然还包括对许多模块的重要改进,同时也加入了一些新的模块。

 

  Apache是模块化的服务器,核心服务器种只包含了功能最常用的模块,而扩展功能由其他模块提供。设置过程中,你必须指定需要包含的模块。文档中有模块清单备查,其中状态为"Base"的模块会被默认地包含进核心服务器,如果你不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他状态的模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。

 

  Apache有两种使用模块的方法,其一是永久性包含进核心;如果操作系统支持动态共享对象(DSO),而且能为autoconf所检测,则模块还可以被动态编译。DSO模块的存储是独立与核心的,可以被核心使用由mod_so模块提供的运行时刻配置指令包含或排除。如果编译中包含有任何动态模块,则mod_so模块会被自动包含进核心。如果希望核心能够装载DSO,而不实际编译任何动态模块,需要明确指定--enable-so

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有