高性能web站点建设(一)
一、等待
客户端发送请求到服务端相应请求的过程,是需要等待的,而等待时间的长短通常是衡量这个网站“快慢”的重要指标,在这等待的时间里,到底发生了什么?概括来说经历了以下几个部分时间:
- 数据在网络上传输的时间(受发送的数据量和网络宽带的影响)
- 服务器处理请求并声称回应数据的时间(衡量的指标是吞吐率,即每秒处理请求数,影响吞吐率的因素很多,如I/O性能、cpu核数等等)
- 浏览器本地计算和渲染的时间(依赖的因素包括浏览器采用的并发策略、样式渲染方式、页面大小、页面组件的数量等等)
二、瓶颈
系统性能的瓶颈是指影响性能的关键因素,而这个关键因素随着系统的运行又会发生不断的变化或迁移。
在关键因素的背后,也存在很多不能忽略的子因素,构成性能优化的“长尾效应”。
三、处理瓶颈的通常方式
- 增加宽带(增加宽带是架构师想到的最省事的办法,但是找到当前的宽带用到了哪里,如何更好地运用才是根本。)
- 减少页面http请求(1、设计更简单的页面,但这可能牺牲了美观和用户体验。2、将多个图片合并成一个图片,通过css背景图片的偏移技术呈现在网页中,避免多个图片的下载。3、合并js和css。4、充分利用浏览器端缓存策略,减少重复下载。)
- 加快服务器端脚本计算速度(asp.net中,编译器对某个脚本程序第一次解释的时候将中间代码缓存起来,以供下次直接使用)
- 使用动态内容缓存(将动态内容的html数出结果缓存起来,在随后的一段时间内,当有用户访问时便跳过重复的动态内容计算而直接输出,缓存带来性能提升恰恰与有些动态数据实时交互的需求形成矛盾)
- 动态内容静态化
- 更换web服务器软件
- 页面组件分离(网页的各种各样的组件他们的下载量和对服务器的能力要求不尽相同,如果由同一台物理服务器或者头哦那个一个并发策略的web服务器软件来统一提供服务,那势必造成计算资源的浪费以及并发策略的低效,所以,分离带来的好处是显而易见的。)
- 合理部署服务器(同一个局域网内通信或者接入同一个城市交换节点的局域网之间通信,数据达到时间相对较短,而如果通信的两端主机位于不同运营商的主机,那么数据必须流经两个互联网运营商的顶级交换节点和骨干路线,那么这个顶级交换节点,将会是瓶颈所在)
- 负载均衡(当一台服务器扛不住的时候,就要想办法将流量合理转移到更多地服务器,我们需要用不同的方法实现web负载均衡。)
- 优化数据库
---------------------------------------------------------------------------------------------------------------------------------------------------------
软谋在线教育,最适合大学生、上班族的在线软件培训,主要教授asp.net动态网站制作,yy教育房间远程实时授课,每节课录制成高清视频课后分享,老师白天八小时全职在线辅导,不懂就问。加qq群:138800420
即可免费试听。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。