构建高性能Web站点(笔记六)

来源:互联网 发布:迅游网游加速器 mac 编辑:程序博客网 时间:2024/05/01 15:07

第九章 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持久连接可以大大提高图片服务器的吞吐率。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 梦幻将军令换了怎么办 手机丢了将军令怎么办 大军之印放弃了怎么办 联想一体机进入界面就死机怎么办 nmd袜子鞋露脚趾怎么办 生意不顺意志崩溃了怎么办 笔记本突然卡住不动了怎么办 指定货代费用高怎么办 空运舱单上的收货人错了怎么办? 被诚信贷骗了怎么办 原户主不迁户口怎么办 二手房原房主没迁走怎么办 办退工没有就失业证怎么办 消防队教导员插手商场翘柜台怎么办 调动工作原单位领导不放人怎么办 脚碰了一下肿了怎么办 六十岁的犯人身体有病怎么办 比熊肛门周围发炎怎么办 夏天肛门周围皮肤发炎怎么办 直肠息肉手术后便秘怎么办 痔疮手术后肛门洞怎么办 痔手术后肛门有个洞怎么办 直肠上长了瘤怎么办 上嘴唇没有唇峰怎么办 拉屎厕所堵了怎么办啊 小孩一拉屎就哭怎么办 上火裆部有肿块特别疼怎么办 狗狗拉屎拉不出来怎么办 肛裂大便带血怎么办 辣椒不小心弄丁丁上怎么办 小鸡躺着不动还呼吸怎么办 老人身体不舒服不敢去检查怎么办 金毛上火鼻子干怎么办 狗鼻子干裂结壳怎么办 小狗吐了没精神怎么办 狗狗又吐又拉怎么办 孕妇嘴干鼻子干怎么办 狗狗打了针皮肤变硬怎么办 狗狗得了狗瘟怎么办 金毛得了犬瘟怎么办 泰迪身上起皮怎么办