`

apache性能优化

 
阅读更多

收藏自:http://sookk8.blog.51cto.com/455855/275759/

Apache的配置是针对原先较低的服务器来配置的,原先的配置显然已经不适合了,所以今天开始研究下Apache配置的问题。

1. 首先要了解Apache采用的MPM(Multi -Processing Modules,多道处理模块)
MPM是Apache的核心,它的作用是管理网络连接、调度请求。

Apache2.0中MPM分为3种(perfork、worker、event)。perfork从Apache1.3中继承下来的,它采用的是进程管 理方式,所以它可以提供更可靠的性能和更好的兼容性;worker是Apache2.0中新增加的方式,它采用了线程控制方法,可以比perfork更节 约系统开销、处理更多的数据量,但同时兼容性并不是很好,很多旧的程序无法工作在worker下;event仍处于试验阶段,它为每个任务分配不同的进程 池,目前不应该采用。
通过命令 httpd -l 可以获取目前Apache采用的是哪种MPM
本文仅针对perfork方式进行讨论

2. 了解perfork的工作方式

查看Apache2.0的配置文件httpd.conf,可以看到perfork的配置段,大致如下:

ServerLimit       256
StartServers       5
MinSpareServers   10
MaxSpareServers   15
MaxClients       256
MaxRequestsPerChild  4000

当Apache被启动时,Apache会自动创建StartServers个进程,并且尽力将空闲进程数保持在MinSpareServers和MaxSpareServers之间。
如果空闲进程小于MinSpareServers,Apache将会以大约每秒1个的速度新建进程。
如果空闲进程小于MaxSpareServers,Apache将会删除多余的空闲进程,释放服务器资源。
进程数的最大值由MaxClients控制,在Apache1.3中最大只能设置为256,但在Apache2.0中,可以通过在配置开头增加ServerLimit项目来突破256的限制,此时必须 MaxClients ≤ ServerLimit ≤ 20000
MaxRequestsPerChild用来控制每个进程在处理了多少次请求之后自动销毁,这个参数可以设置为0表示无限(即不销毁进程)。

3. 优化perfork
首先,对于一个负载相对较高的网站来说,256的进程限制是不够的,如果服务器已经达到256的极限,那么接下去的访问就需要排队,这也就是为什么某些服务器负载不高,但是访问却很慢的原因之一。所以首先应该了解服务器在繁忙时的进程数量。
通过命令ps -ef|grep httpd|wc -l可以了解到当前系统中Apache进程数,通过设置ServerLimit和MaxClients来达到为服务器软扩容的目的。

然后,在访问量高峰期,经常会出现的情况是突然之间发生非常多的并发连 接,然后突然之间减少了很多访问。如果Apache没有准备足够数量的预备进程,那访问只能等待Apache每秒1个的新增进程,随后又要将多余的进程删 除,那Apache只能一直忙于新建和销毁进程,大大地降低了访问速度。可以适当增加StartServers、MinSpareServers、 MaxSpareServers来使得Apache不需要一直忙于作无用功。

最后,强烈推荐MaxRequestsPerChild不要设置为0,设置为非0,可以保护Apache进程免遭内存泄漏的影响,因为你不知道运行在Apache上的应用程式在什么时候会出错导致内存泄漏。

设置完之后大致是这样的:

ServerLimit       1000
StartServers       30
MinSpareServers   30
MaxSpareServers   45
MaxClients       1000
MaxRequestsPerChild  4000
分享到:
评论

相关推荐

    25个Apache性能优化技巧推荐

    ### Apache性能优化技巧详解 #### 一、简介 在当今高度依赖互联网的世界中,Web服务器的性能至关重要。Apache作为全球最流行的Web服务器之一,其性能直接影响到网站的响应速度及用户体验。本文将详细介绍25个实用...

    Apache:Apache性能优化:Apache长期维护与性能持续优化.pdf

    整体而言,Apache性能优化需结合服务器的具体硬件配置和预期负载,通过细致调整配置参数并合理管理模块。在生产环境中实施任何优化措施前,建议先在测试环境中进行充分测试和验证,以避免不必要的风险和损失。 对于...

    Apache:Apache性能优化:Apache安全设置与性能平衡.pdf

    一、Apache性能优化基础 1. 理解Apache工作原理 Apache服务器通过其主进程对多个子进程或线程的管理来处理客户端请求,这使得其可以高效地进行并发处理。Apache有两种工作模式:prefork模式与worker模式。prefork...

    Apache:Apache性能优化:Apache模块管理与性能影响.pdf

    因此,在进行Apache性能优化时,应尽量只加载必要的模块,这样可以减少资源消耗,提高服务器响应速度。例如,如果网站不需要SSL/TLS加密功能,就无需加载mod_ssl模块。 在实际使用中,模块性能影响主要表现在内存...

    Apache性能优化

    Apache性能优化是一个复杂而关键的任务,它涉及到服务器的配置、硬件资源的利用以及软件设置等多个层面。Apache作为一款广泛应用的Web服务器,其性能优化能够显著提升网站的响应速度和用户体验,尤其是在高并发环境...

    Apache:Apache性能优化:Apache缓存机制与优化策略.pdf

    在Apache性能优化策略中,缓存机制扮演着至关重要的角色。缓存能够存储频繁访问的数据副本,降低服务器负载,并且加快响应速度。具体来讲,Apache缓存主要涉及静态内容、动态内容和代理缓存的处理。其核心原理是基于...

    25个Apache性能优化技巧.docx

    为了提高其性能,以下25个优化技巧将有助于最大化Apache的工作效率: ...以上就是25个Apache性能优化技巧,通过这些方法,可以显著提升Apache服务器的处理能力和响应速度,确保网站和服务的高效运行。

    2021-2022年收藏的精品资料软件工程师Web开发者必知的25个Apache性能优化技巧.docx

    以下是一些关键的Apache性能优化策略: 1. **移除不用的模块**:Apache在安装时会包含很多模块,但并非所有模块都会被使用。移除不必要的模块可以减少内存占用,提高服务器性能。 2. **使用mod_disk_cache而非mod_...

    Apache:Apache性能优化:Apache配置文件优化技巧.pdf

    Apache服务器是互联网上使用最广泛的Web服务器之一,其性能优化对于确保网站稳定性和快速响应至关重要。Apache服务器的配置文件(httpd.conf或apache2.conf)是其核心配置文件,它决定了服务器的行为和功能。为了...

    Apache:Apache性能优化:Apache服务器基础配置与理解.pdf

    Apache服务器性能优化是保障网站高效运行的重要环节。Apache服务器通过模块化设计,确保其架构由核心服务器、模块和配置文件组成,具备灵活和可扩展性。核心服务器负责处理HTTP请求和响应,模块提供如URL重写、SSL...

    Wins2003系统中Apache性能优化方法

    Apache性能优化是网站管理员和运维工程师在搭建高效、稳定的服务环境中不可或缺的技能之一。特别是在Windows Server 2003系统中,Apache的性能优化显得尤为重要。以下是对文档中提到的Apache性能优化方法的详细说明...

    Apache 集群性能优化 日志切分

    Apache集群性能优化是提高Web服务器处理能力的关键环节,特别是在高流量和大数据量的环境中。日志切分则是管理和分析服务器日志的一种有效方法,有助于监控系统状态、追踪问题以及进行性能调优。以下是对这两个主题...

    apache优化 网站优化

    Apache作为最流行的开源Web服务器,其性能优化对于任何网站来说都是至关重要的。本文将深入探讨Apache的优化策略,结合“apache优化 网站优化”的主题,以及标签中的“源码”和“工具”,我们将讨论如何通过调整...

    Apache

    apache性能优化技巧

    Apache2.2安全配置和性能优化

    ### Apache2.2安全配置和性能优化 #### 安全配置 **Apache禁止目录遍历:** 为了确保Apache服务器的安全性,防止恶意用户通过遍历目录来获取未授权的文件或者敏感信息,需要对Apache进行相应的配置。在Apache中,...

    Apache Pig的性能优化.pdf

    根据给定的文件信息,我们可以深入探讨Apache Pig的性能优化及其在大数据处理中的角色与优势。首先,让我们从Apache Pig的基本概念入手。 ### Apache Pig概述 Apache Pig是一种高生产力的数据流语言和执行框架,...

    Apache优化全面详细教程

    针对运行Apache的Linux主机,还可以从以下几个方面进行性能优化: 1. **清理服务器磁盘碎片**:定期使用工具清理磁盘碎片,提高读写效率。 2. **开启硬盘DMA**:确保硬盘驱动程序支持DMA(Direct Memory Access)...

    apache安全及优化设置

    Apache作为全球广泛使用的Web服务器之一,其安全性与性能优化对于确保网站稳定运行至关重要。本文将从几个方面详细介绍如何对Apache进行安全配置与性能优化。 #### 安全设置 1. **限制访问权限**: - 通过`....

Global site tag (gtag.js) - Google Analytics