第九章 Web组件分离
Web组件: 指Web服务器提供的所有基于URL访问的资源,保罗动态内容、图片、脚本、CSS等。
Web组件分离的目的: 采用针对性的方法,使得各种Web组件能够充分有效地利用服务器资源,达到符合各自实际情况的吞吐率最大化。
如何分离:
(1)将Web组件分别独立部署,可位于不同的物理服务器或同一个物理服务器不同逻辑单元中,同时将不同的域名指向不同的Web组件服务器。不必购买新的主域名,只需使用站点现有主域名的二级域名。
以下是新浪网上的组件分离策略(采用二级域名重写URL)
<!-- optimization begin -->
<script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>
<script type="text/javascript" src="http://news.sina.com.cn/js/213/20091202/34/head.js"></script>
<script type="text/javascript" src="http://news.sina.com.cn/pfpnews/js/libweb.js"></script>
<!-- optimization end -->
对于站点中多个二级域名需要使用cookie时,就需要为一些比较独立的组件启用新的顶级域名,这样来自原有主站点的cookie不会再主动上报。
文件在服务器间迁移(文件分发和同步,分布式文件系统)
浏览器的并发数:
浏览器的最大并发数对于同一个域名下的组件是有限制的,用不同的域名对Web组件进行分离后,可以提高浏览器下载Web组件的并发数。
HttpWatch可以用来检测浏览器请求。在线测试工具http://site-perf.com
静态网页:
不需要动态脚本解释器参与,需要全身心地进行IO操作,属于IO密集型应用。静态内容的吞吐率很大程度上取决于服务器的并发处理能力。
提高处理静态网页时的吞吐率的措施: 支持epoll,非阻塞IO和异步IO,使用sendfile()系统调用,使用高速磁盘等。
Epoll可以使Web服务器在大量并发用户数的情况下保持较稳定的吞吐率。
非阻塞IO能避免不必要的IO等待。
Sendfile()能避免文件系统磁盘缓冲区到用户地址空间的数据复制,从而优化IO。
Http持久连接可以大大提高图片服务器的吞吐率。
分享到:
相关推荐
H3CSE高性能园区网搭建,考试心得笔记,概括考试知识点,抓住重点赢得考试
H3CSE V1.0 构建高性能园区网络-笔记,根据个人需求可以深入了解一下,多方面理解基础知识点,如果有误可以和我说一下,及时修改,方便传播知识,共享知识。
web 开发笔记 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画[2]。 Internet...
高性能Mysql笔记,网易云课堂https://study.163.com/course/courseMain.htm?courseId=1003746011课程笔记
H3CSE笔记-构建H3C高性能园区网络
web学习笔记,web学习笔记,web学习笔记,web学习笔记,web学习笔记,web学习笔记
移动端web学习笔记,初步学习移动端网页的注意点,顶部搜索设置三栏自适应,轮播图如何设置以及媒体查询拓展,栅格系统,行列的设置以及各参数的作用移动端web学习笔记,初步学习移动端网页的注意点,顶部搜索设置三栏...
《高性能Mysql》第五章的读书笔记,记录的都是要点,以思维导图的方式呈现。
高性能Mysql学习笔记
web前端笔记是在培训机构培训过程中整理的一些笔记,仅供参考
webApi笔记.zip
H3CSE完全笔记-构建H3C高性能园区网络
Protege构建本体笔记
Web安全测试笔记,你值得拥有。包括各种测试的方法等等
JSWeb APIS笔记
高性能MySQL学习笔记.cpt
web前端基础知识学习笔记,内含有HTML、CSS、JavaScript的基础知识的总结,可以帮助大家学习
web笔记(js,html)
web前端.pdf 笔记