版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、优化招数 一服务器并发策略1. 这里的吞吐率特指web服务器单位吋间内处理的请求。2. 压力测试的前提:1>并发用户数2>总请求数3>请求资源描述3. 用户平均请求等待时间主要用户衡量服务器在一定并发用户数的情况 下,对于单个用户的服务器质量;而服务器平均请求处理时间与前者相比,则用 于衡量服务器的整体服务质量,它其实就是吞吐率的倒数。4. 对 http header 中标记为 connection: keep-alive 的请求,开启 web 服务器的长连接支持。减少系统调用accept的次数,即减少建立连接的开销。5老调重弹,进程,内核级线程和用户级线程在不同情况下的优劣
2、。10 模型,mmap (内村映射),直接10,例如sendfile syscal 1以及异步10等。 多路 10 复用(select, poll, epoll and kqueue etc)6. 服务器并发策略1> 一个进程处理一个连接,非阻塞10。稳定性强,但context switch 的开销随http request递增而快速增长。2> 一个内核级线程处理一个连接,非阻塞10,多进程多线程混合 方式。context switch的问题依然存在。理论上可以支持更多的并发连接。3>个进程处理多个连接,非阻塞10。(epoll, kqueue) lighttpd, ngin
3、xo支持并发性能强劲。上述情况的适用范围不能一刀切,而且这里都是指 单机并发,需根据实际情况(实际并发数)来选择。通常,在并发用户数较大的 情况下,web服务器使用什么样的并发策略,是影响最大并发数的关键。二动态内存缓存在实际应用中,动态内容缓存可能是使用得最多的技术,但是并不见得 所有的动态内容都适合使用网页缓存,缓存带來的性能提升恰恰与有些动态数据 实时交互的需求形成矛盾,这就是一个权衡。1. 缓存动态牛成的html代码。2. 把动态内容静态化,直接缓存整个html文件。这样就可以直接访问 缓存。这时的更新策略:1>在数据更新时重新生成静态化内容2>定时重新生成静态化内容3.
4、使用 ssi (server side include)进行局部静态化。但 web server 的sst功能会对静态文件的吞吐率有负面影响。三动态脚本加速加快脚本语言的执行速度;缓存中间代码(opcode)以供复用。四浏览器缓存减少http请求,充分利用浏览器的缓存。而webapp通过http协议(更 具体位置就是http header)来与浏览器协商,那些东东浏览器可以使用其缓存 即可。1. last-modified/tf-modifiedsinee2. etag/if-none-match3. expires + cache-control: max-age=<scconds&g
5、t;1和2需要浏览器和webserver交互后,有服务器端通知浏览器是否使用浏览器 缓存,而3则是在过期前直接使用浏览器缓存,这样就直接kill掉了 http requesto同时还需注意,在使用ssi的内容中,由于整个页面是服务器动态牛 成的,所以last-modified标记在不同的web服务器屮有不同的生成方法。五web服务器缓存这个第二点动态内存缓存有区别,前者更指缓存是否命中与否完全由应 用程序决定,且缓存方式也有应用来决定;而后者更指有web服务器通过url 决定是否缓存命中,比如静态内容或者更新不太频繁的动态内容就比较时候由其 缓存。六反向代理缓存web服务器隐藏在代理服务器之后
6、。这种代理机制称为反向代理(reverse proxy),同时,实现这种机制的服务器便成为反向代理服务器。隐藏在反向代理服务器之后的web服务器,我们习惯称它为后端服务器(back-endserver),当然,反向代理服务器就被称为前端服务器(front-end server) 0引入反向代理服务器的目的之一就是基于缓存的加速。我们可以将内容缓存在反向代理服务器上,所有缓存机制的实现仍然采用http/1. 1协议。缓存命中率和后端吞吐率的理想技术模型缓存丢失率二(活跃内容数/(实际吞吐率x平均缓存有效期)x100%缓存命中率二1-缓存丢失率后端吞吐率二活跃内容数/平均缓 存有效期缓存命中率二(
7、1-(后端吞吐率/实际吞吐率)x 100%后端吞吐率二(1 -缓存命中率)x实际吞吐率结论:1活跃内容数和平均缓存有效期一定的情况下,缓存命中率与 实际吞吐率成正比。2. 实际吞吐率和平均缓存有效期一定的情况 下,缓存命中率与活跃内容数成反比。3 活跃内容数和实际吞吐率一定的情况下, 缓存命中率与平均缓存有效期成正比。4. 活跃内容数一定的情况下,后端吞吐率与 平均缓存有效期成反比。5. 平均缓存有效期一定的情况下,后端吞吐 率与活跃内容数成正比。6. 缓存命中率的变化不一定会影响后端吞吐7. 后端吞吐率的变化不一定会影响缓存命屮 率。esi - edge side include类似与ssi
8、,但不在webserver端组装内容, 而是在htlp代理服务器上组装内容,包括反向代理。在处理只有局部更新动态 内容时ajax是更好的原则,它不依赖与底层webserver的实现,但esi的优势 在于再有多个后端服务器的情况下,变可以避免多个后端的重复组装,减少总工 作量。七web组件分离从以下几个方而来看web组件的差异:1. 文件大小2. 文件数量3. 内容更新频率4. 预计并发用户数5. 是否需要脚本解释器6. 是否涉及大量cpu计算7. 是否访问数据库&访问数据库的主要操作是读还是写9. 是否包含rpc对每种类型的web组件采取不同的优化方式(一种或多种):1. 是否使用ep
9、oll模型2. 是否使用 sendfile() syscall3. 是否使用异步104. 是否支持http持久连接(http keep-alive)5. 是否需要opcode缓存6. 是否使用动态内容缓存以及有效期为多长7. 是否使用web服务器缓存以及有效期为多长 &是否使用浏览器缓存以及有效期为多长9.是否使用反向代理缓存以及有效期为多长10. 是否使用负载均衡策略按照web组件的不同类型将其放在不同的二级域名/机器/不同类型的webserver 同时,还需考虑到不同的浏览器对同一个域名下的访问有多大并发数限制,而使 用多个域名。ie6, 7 2(http/l. 1)te8 6(h
10、ttp/l. 1)firefox2 2 (http/1. 1)firefox3 6(http/l. 1)发挥各自的潜力对于动态内容:开启opcode缓存,使用足够快的cpu,足够大的内存, 多进程以及与数据库保持高速连接对于静态内容:支持cpoll,非阻塞10,异步10,使用scndfilc,单 进程(对于10密集型任务,多进程无法发挥优势),使用高速磁盘,使用raid对于image, css and script分配合理设置其过期时间(expires)八分布式缓存使用分布式缓存避免应用服务器的内存缓存瓶颈,使其更易于扩展。当 使用多台应用服务器时,分布式缓存易于内容共享。九数据库性能优化(泛
11、泛而谈)1 合理的执行计划,包括合理使用索引2使用慢查询分析工具,找出执行很慢的sql并优化之。3合理的数据库缓存,索引缓存,数据缓存等 4更具实际需求选择合理的数据库引擎或数据库5反范式化设计,对查询带来优化,但增加写和更新的工作量。6放弃关系型数据库,针对实际情况,读写要求极高吋数据库扩展:读 写分离,按业务实施合理的垂直分区,对热点表进行水平分区。十web负载均衡dns负载均衡需要dns服务商提供该功能,且dns记录存在缓存,无法及时 修改,带來更新延迟。反向代理负载均衡http重定向和dns解析在请求的调度上体现在“转发”上,而 其则体现在“转移”。任何对于实际服务器的http请求都必
12、须经过调度器;调度器必 须等待实际服务器的http响应,并将它反馈给用户。由于调度策略在自己手中,就可以使用诸如按照权重进行调度 等策略。也可以对个应用服务器进行健康监控,对无效服务器不在把请求转移给 它;还可以实现sticky sessionso作为负载均衡调度器的反向代理服务器在扩展上的制约,反向 代理服务器的处理能力制约了整个集群的处理能力,其次,容易岀现单点故障tp负载均衡netfilter+ tpvs用iptablcs修改netf订ter规则,进行基于ip的tcp包转发,也即调 度。1pvs (ip virtual server)也成为 lvs(linux virtual server) o两者结合的具体策略有1. lvs + nat2. lvs + dr十一其他内容分发和同步webdav rsync etc分布式文件系统分布式计算十二性能监控工具列表:1. mrtg网卡流量报告,可以获取实际带宽(max speed),它便是从交 换机接收端口获得的最大接收速度,同时也是该主机的最大数据发送速度。2. apache ab通过http进行压力测试3. *nix中的stracc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 11成考数学试题及答案
- 2026年非金属船舶设计创新实践报告
- 2026年体育行业智能运动装备技术创新报告
- 2026年消声器行业发展行业报告
- 地域政治模板课件
- 2026年初级社会工作师考试社会工作综合能力知识模拟试题及答案(十三)
- 易混淆药品管理制度
- 智慧社区治理建设报告
- 农业社会化服务体系设计报告
- 企业利润分配内控管理制度
- 2026消防宣传月培训课件(含火灾案例)
- 文物修缮工程现场监理工作规程
- GB 48147.1-2026矿山隐蔽致灾因素普查规范第1部分:总则
- 2026年国信集团评标专家模拟题及答案详解
- 电气设计强条审图要点速查手册(2026版)
- 换填垫层专项施工方案(3篇)
- 门店托管代运营合同
- 国际政治学概论(第四版)
- 钢结构屋面内天沟更换不锈钢天沟施工方案
- 2026春鲁科版二年级劳动技术全一册每课教案附目录
- 2025年华能集团招聘笔试试题及答案
评论
0/150
提交评论