apache优化.ppt_第1页
apache优化.ppt_第2页
apache优化.ppt_第3页
apache优化.ppt_第4页
apache优化.ppt_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、apache,丁灿彪 ,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,概要,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,概要,Apahce是一个Web服务器软件 Apache 服务器最大的特点:高度模块化 除了少数几个核心文件外,Apache中大部分功能都被模块化。 模块化的优点:用户可以根据自己的实际需要裁剪、增加功能。 apache1.3:采用多进程模型,每个请求适用一个单独的子进程处理。不支持线程 apache2.0:多进程 + 多线程 百度绝大多数产品线使用apache作为web服务器

2、 使用版本有1.3,2.x,apache,一次广告请求,Apache web server,Web browser,cp.js,cpro ads,Logo.jpg,apache 版本: 1.3.27 多进程模型 Keepalive off 管理进程 任务分配(记分板) 进程回收 工作进程 处理用户请求 进程数与并发用户数1:1的关系 流量大,超过10亿/天 机器多,超过100台apache服务器,Cpro apache,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,概要,背景 动态广告压缩(zlib) 静态文件预压缩(pregzip) mod_

3、expires 利用客户端缓存(etag MSIE 5.5; Windows 95; Alexa Toolbar) Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) JO=ar-jo;IQ=ar-iq 我们可以丢弃这些流量,动态的广告压缩 - zlib,现成的开源apache模块 通用,灵活 Gzip on the fly and precompressed 通用,灵活是以牺牲性能为代价的 存在大量的磁盘读写操作,动态的广告压缩 mod_gzip,Mod_gzip在2.4内核上的内存问题,2.4内核的机器,启用了mod_gzip后,系

4、统缓存的使用不断增加,积累到一定阶段后会有一个突降 内存突降通常在30秒钟内完成,突降的过程中系统负载突增,严重影响了正常的服务,导致报警。 缓存使用上的变化是由于mod_gzip模块大量的文件读写造成的。 缓存使用的突然下降是因为系统在大量回收slab缓存导致的。 基于2.4内核是无法控制这种回收过程中造成的对应用程序的影响的。 Slab缓存是系统内核的一种cache,在2.4内核算法中,即使系统的空闲内存很多,也会回收slab缓存,而在2.6内核算法中,只要系统有足够的剩余内存,系统就不回收slab缓存。,Mod_gzip在2.4内核上的内存问题,使用zlib后,apache进程数减少了将

5、近1/3 系统负载减小45% Cpu使用率减低接近50% Mod_gzip存在大量磁盘读写 (主要原因) mod_gzip作为一个通用的模块,配置非常灵活,其通用性,灵活性是以牺牲了性能为代价的。 对比没有使用压缩,压缩过程需要使用到cpu,但文件变小了,减少了io,使用zlib后机器的吞吐量反而变大了,Mod_gzip和zlib的性能对比,if( (p=(char*)ap_table_get(r-headers_in, Accept-Encoding) != 0) ,静态文件预压缩, 陷入无限的间接递归调用,stack的使用不断上涨 一个小时内达到4G,apache进程被杀死 系统内存出现问

6、题,内存使用报警 同机器的appui受到影响,super重启报警 导致了一次回滚,使用ap_internal_redirect的问题,客户端请求index.html/文件 mod_pregzip模块判断存在index.html并且存在index.html.gz mod_pregzip使用r-uri + .gz得出新的文件名:index.html/.gz,重定向到index.html/.gz文件 Apache重新解析,得出的结果是r-filename = index.html 运行2到5,反复进行 解决方案: Mod_pregzip第一次运行的时候设置一个标志位,第二次运行到mod_pregzi

7、p模块的时候检查该标识,简单的无限循环检测 使用mod_mime模块+内容协商实现预压缩功能,使用ap_internal_redirect的问题,对同一文件的多次请求落到不同机器上 文件的Etag不一致以及文件最后修改时间不一致 从etag中去掉inode信息 使用scp p统一上传所有静态文件 保持不同服务器上的同一文件etag,最后修改时间的一致性 客户端的缓存利用率大幅度上升,从2.2%上升到49.5%,利用客户端缓存,几个优化策略在节省cpro带宽方面的贡献,应用,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,概要,配置优化 去掉多余的

8、模块,apache优化,HostnameLookups off 1.3.27中默认on Options FollowSymLinks 消除多余的符号链接验证 AllowOverride None 去掉对.htaccess的支持 ExtendedStatus Off (mod_status) 减少每次请求多出的两次gettimeofday调用 ServerSignature Off, ServerTokens Prod 隐藏服务器信息(版本,模块及其版本),配置优化,Apache把请求处理分解成一系列步骤: URI - Filename 转换 验证检查身份 用户是否是他自称是的那位? 检查访问授

9、权 该用户是否有权访问这里? 除授权机制以外的其他访问检查 决定被请求对象的MIME类型 修正不是这些类型中的任何一种 实际发送响应回客户端 记录该请求,去掉多余的模块,根据实际应用情况,只保留 http_core,mod_log_config,mod_mime,mod_dir,mod_expires 去掉了多余的模块: mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex ,去掉多余的模块,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,

10、概要,cannot assign requested address 短连接 & time_wait apache和ui之间的极限压力 默认情况下,可用端口数28232,TIMEWAIT时间60s 28232/60 = 470 超过极限压力,系统崩溃 解决临时端口不足的问题 使用长连接(cpro的做法) 修改内核参数 端口复用,临时端口不足的问题,每个apache进程维护和后端ui的长连接 进程建立的时候建立初始连接 连接是否可用的检测 进程销毁的时候句柄自动释放 Apache最多进程数限制为1024,连接数与进程数成正比 压力1400的时候,系统保持稳定 整个机群的极限压力取决于后端的处理速

11、度 节省一半的apache服务器,将短连接改为长连接,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,概要,与apache无关 减少rtt个数 优化ui.js文件,改善用户体验,背景 节省网络带宽 apache优化 临时端口不足的问题 改善用户体验 Future work,概要,apache的问题 Transmit 使用apache 2.x? 在前端部署tcpflow,Future work,Keepalive off使得客户端需要重新连接 apache是多进程模型,并发进程数不能太高,不能为每个用户hold一个长连续 用户提交数据过程可能比较慢,apache的进程是在建立连接后就分配,容易被ddos攻击 prison通过扫描日志的方法,属于事后行为,apache的问题,keepalive 与用户保持长连接,与apache开短连接 慢连接 接收完所有请求后再建立与apache的连接 减少占用apache进程的时间,解放了apache进程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论