基本信息
编辑推荐
深入分析常见高性能Web技术,轻松搭建高性能Web站点。
涵盖了Web站点性能优化的几乎所有内容,通过通俗易懂的文字和生动有趣的配图,让读者充分并深入理解高性能架构的真相。
内容简介
计算机书籍
本书围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,涵盖了Web站点性能优化的几乎所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。在这些内容中充分抓住本质并结合实践,通过通俗易懂的文字和生动有趣的配图,让读者充分并深入理解高性能架构的真相。同时,本书充分应用跨学科知识和科学分析方法,通过宽泛的视野和独特的角度,将本书的内容展现得更加透彻和富有趣味。...
目录
1.1 等待的真相 1
1.2 瓶颈在哪里 2
1.3 增加带宽 3
1.4 减少网页中的HTTP请求 4
1.5 加快服务器脚本计算速度 4
1.6 使用动态内容缓存 5
1.7 使用数据缓存 5
1.8 将动态内容静态化 6
1.9 更换Web服务器软件 6
1.10 页面组件分离 7
1.11 合理部署服务器 7
1.12 使用负载均衡 8
1.13 优化数据库 8
1.14 考虑可扩展性 9
1.15 减少视觉等待 10
第2章 数据的网络传输 11
2.1 分层网络模型 11
2.2 带宽 22
2.3 响应时间 28
前言
10年来,我们见证了互联网有史以来最快速的发展,商业应用层出不穷,业务逻辑不断复杂,对用户体验的要求也不断提升,随之而来的是应用技术和开发语言的日新月异,开发者永不停息地学习新技术。同样,在Web站点性能方面,我们一直在跟时间赛跑,社交网站和微博客成为大众的主流应用,带来了更加快速、实时的信息传递,更多的站点意识到开放的重要性,数据访问和计算无处不在,每秒数以万次的数据传递和读写正在我们身边进行。
但是,构建Web站点的基础技术几乎多年来从未改变,比如诞生于20世纪80年代的TCP,如今依旧是网络数据传输的主宰者,而HTTP则更与我们息息相关,可是你真的认真学习过它们吗?人们始终在做的事情就是在这些基础技术之上一层一层地封装概念,不断地诞生新的技术。加上商业化产品的市场竞争和炒作,.NET和Java阵营中的概念让我眼花缭乱却又无可奈何。它们已经成为营销用语,有时候过度会让事情变得更加复杂,让开发者迷失方向。
不论你是一名从事Web开发的工程师,还是一名关心Web性能的架构师,都应该更多地关注各种技术和架构的本质。
从哲学意义上讲,对本质的研究属于形而上学的范畴,但是在自然科学中,我们从来不缺乏对本质的探索,因为只有认识事物的本质才能做出正确的决策,并且真正地驾驭它们,这是毫无争议的。
也许你曾经被商家的促销活动所打动。是的,我们往往只看到事物的表面现象,而经济学家却看到了事物的本质,这正是他们的高明之处。技术和架构同样如此,你要明白任何收获都是有代价的,天下没有免费的午餐,很多时候,你完全可以用成本经济学的知识来思考技术的合理性,你甚至可以像经济学家一样思考技术问题。
当然,仅仅理解本质是远远不够的,因为在庞大的架构体系中,涉及太多的部件,而影响整体性能的因素究竟有哪些呢?你也许会感到扑朔迷离,但你必须知道瓶颈所在,并且能够意识到何时需要优化性能或者扩展规模。与此同时,系统化的分析方法至关重要,中医理论对人体的系统思辨能力体现了先哲们的智慧,在站点性能不尽如人意的时候,我们能否“对症下药”?这与你对整个系统能否全面把握有着密切的关系。
另一方面,绝对与相对、变化与平衡,是永恒的大道,在很多时候你实际上需要考虑的是如何做出权衡,同时,我们也要铭记变化的道理,系统瓶颈不是一成不变的,久经考验的架构师深知这一点。
道可道,非常道。要将所有的架构之道讲出来实属不易,架构就像艺术品一样,往往无法完全复制,但是独立的技术以及分析的思路是可以学习的,作为优秀的开发者或者架构师,心中的架构才是最有价值的。
如果你希望寻找心中的架构,那么,从本书的绪论开始吧!
读者群
如果你希望学习如何创建一个Web站点,那么这本书可能并不适合你,但是当你对站点的性能开始担忧时,欢迎你的归来。
这本书适合以下读者:
编写Web应用程序、关心站点性能,并且希望自己做得更加出色的开发人员 ..
关心性能和可用性的Web架构师
希望构建高性能Web站点的技术负责人
实施Web站点性能优化或者规模扩展的运维人员
与Web性能有关的测试人员
的确,整个技术团队的所有成员都适合阅读这本书。另外,高校学生以及个人网站站长也可以阅读,笔者希望本书可以帮助他们开拓视野。
如何阅读
序言
我曾经代表公司面试过许多开发人员,在问及与高性能相关的问题时,大家都能回答出需要负载均衡,需要缓存技术,然而当我进一步询问负载均衡如何实现或如何有效控制缓存命中率时,面试者却无从答起。知其然而不知其所以然是很多浮躁开发者的通病,也因此限制了其技术能力的提升和发展。..
这本书将为你提供构建高性能网站的完整解决方案,它会成为每个致力于开发承载百万级用户规模网站开发者的工具箱。郭欣有着架构和开发多个大规模网站的经验,他精通前/后台技术和架构。在知道他将花时间著作一本高性能网站架构的书时,我不禁为国内许多开发者感到高兴。我见过部分知名网站架构师曾经分享过他们网站技术发展的历程,但每每都是停留在抽象层面,而像本书这样全面彻底地进行技术剖析却是头一回。尤其是构建高性能网站的各种技术方案,绝大部分是通过实践总结出来的经验,没有这样的经历,你甚至很难想象为什么会是这样。
不要犹豫了!当你拿起这本书,按照书中所分享的技术方案去实践时,你会发现,原来构建高性能网站就这么简单。中国互联网正在不断地成长,用户规模也在不断地扩大,我相信,越来越多的网站会根据性能这项最基本的用户体验决定其自身的生存能力。本书所提供的技术解决方案,正是在这个发展趋势中的一个基础,拥有它并加以实践,你和你的用户都会更加享受这一切!
为了页面一秒响应的境界,开始阅读吧!
——王速瑜
腾讯R&D研发总监(Tencent Director of R&D)
资深技术专家(Senior Technology Expert)
深圳,2009年7月...
媒体评论
——章文嵩博士,LVS作者,Linux内核作者之一
本书深入分析了常见的高性能Web技术的方法和原理,对搭建高性能Web站点具备很强的可操作性。
——张松国,腾讯网技术总监
这是一个令人兴奋的领域,这一系列准则和方法在TopN的互联网公司中都有大规模的实践和应用,作者在书中进行了详细而量化的论述。如果你正在为日益庞大的应用而手足无措,那么你唯一要做的就是拥有这本书,并且实践它。..
——朱鑫,MemcacheDB作者,新浪网研发中心平台部高级工程师
互联网寄托着我们的梦想,它改变了人们的生活,从社交网站到网络游戏,从搜索引擎到电子商务,成功的秘诀在于如何构建高性能Web站点。郭欣在这本书中几乎涵盖了Web性能优化的所有内容,并从多个角度进行了全面的阐述,你可以通过其通俗易懂的文字深入理解高性能站点架构的真相,并开拓视野,从而对性能瓶颈对症下药。本书可谓是高性能站点的必读精作。
——沈翔,Google Developer Advocate,加州总部...