- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Apache 性 能 优 化 方 案
针对Apache和PHP配置优化
修订历史记录
日期
版本
说明
作者
目 录
TOC \o 1-4 \h \z \u 5161 1. 引言 3
6109 1.1. 编写目的 3
1495 1.2. 参考资料 3
19738 2. 任务概述 3
3691 2.1. 目标 3
25889 2.2. 运行环境 3
12590 2.3. 条件与限制 3
15332 3. 问题描述及原因分析 4
28892 3.1. Apache服务器进程连接数急剧增加 4
11671 3.2. 网络连接出现大量“TIME_WAIT” 4
5039 3.3. Memcache无法连接 5
16123 3.4. 其他 5
19728 4. Apache服务器性能测试 6
14550 4.1. Apache AB工具介绍压力测试 6
8611 4.2. Apache AB压力测试 7
22608 5. Apache与PHP优化方案 9
16572 5.1. Apache优化 9
782 5.2. PHP优化 14
9864 6. 防止DDOS攻击 15
9531 6.1. DDoS攻击时的现象 15
13419 6.2. 防御DDoS攻击策略 15
引言
编写目的
随着的业务发展,使用官网的会员快速增长,为确认官网能稳定并快速响应会员的各种业务请求,因此,需对官网的性能进一步优化,本文主要针对现在官网在性能在Apache和PHP方面的配置进行优化尝试。
参考资料
Apache配置文件参数详细介绍.doc
LAMP系统性能调优+优化Apache和PHP.doc
Apache 2.2参考手册
任务概述
目标
提升Apache服务性能
提供性能综合解决方案
运行环境
操作系统:Linux
Apache版本:2.2
PHP版本:5.2.8
负载均衡:F5
条件与限制
问题描述及原因分析
Apache服务器进程连接数急剧增加
问题描述:Apache服务器在某一时刻出现的进程连接数很高,CPU占用率达到100%,导致官网访问临时性缓慢或瘫痪。
原因分析:
同一时间需要处理的业务骤增,如多个会员同时登入官网、查询房态、预订操作和访问论坛等。
操作系统处理其他非官网业务。
黑客攻击。如DDOS攻击或使用压力测试工具访问官网,耗尽服务器资源。
网络连接出现大量“TIME_WAIT”
问题描述:当Apache服务器进程连接数很高时,伴随出现大量的TIME_WAIT,占用服务器连接资源,导致官网访问临时性缓慢或瘫痪。
原因分析:
Apache配置文件httpd.conf里面中的keepalive处于 off 状态,导致每次请求都要建立新的tcp连接,请求完成以后关闭,增加了很多time_wait的状态。这种问题通常发生在Apache服务器。
服务器使用了短连接方式,所以会造成大量处于TIME_WAIT状态的连接,根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收使用. 具体现象是对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多的多,严重影响服务器的处理能力,甚至耗尽可用的socket,停止服务. TIME_WAIT是TCP协议用以保证被重新分配的socket不会受到之前残留的延迟重发报文影响的机制,是必要的逻辑保证。这种问题通常发生在Mysql服务器,通常是由于PHP程序代码中没有使用mysql.colse(),才导致大量的mysql TIME_WAIT 。
Memcache无法连接
问题描述:当Apache进程数很多时,偶尔会出现Memcache warning:Could not connect,导致无法访问指定的页面。
原因分析:
Memcache未启动或非正常运行
网页客户端连接数过多,连接数接近或超过了启动memcached的时候设置的 -c 数目(默认是1024)
其他
Apache服务器可能由于硬件故障、操作系统配置引发性能问题。
Apache服务器性能测试
Apache AB工具介绍压力测试
Apache压力测试工具apache bench 简称ab.主要是从系统设计和开发的角度去评价系统在一定压力下的
文档评论(0)