您的位置: 首页 > 技术文档 > 网站建设 > "杀死"你的服务器的6种方法
互联网产品经理常用软件及平台 回到列表 浅谈大型网站动态应用系统架构
 "杀死"你的服务器的6种方法

作者:佚名 时间: 2010-08-27 文档类型:转载 来自:IT专家网

第 1 页 "杀死"你的服务器的6种方法 [1]
第 2 页 "杀死"你的服务器的6种方法 [2]

我们需要一个计划来减少负载,然后,我们和我们的托管服务提供商讨论了这个问题。他们的一个系统管理员提出了一个好主意:“伙计,你的服务器现在运行在一个非常常见的Apache+mod_php架构上。把你的Web服务器换成Lighttpd怎么样?它是一个相当小项目,但是维基百科都在使用它。”我们同意了。(相关文章推荐:更好的选择 细数Apache服务器的四个替代者)

"杀死"你的服务器的方法之二

把一个开箱即用的Web服务器架设在你的机器上,并且一点也没有对它进行优化,那么你的服务器将会挂掉!那个管理员尽了他的最大努力,尽快地重新配置了所有的Web服务器。他抛弃了Apache,然后切换到Lighttpd+FastCGI+Xcache上来。后来,当我们重新上线的时候,我们几乎没有再感受到压力。这次,这些服务器会维持多长时间呢?

这些服务器运行的出奇地好。负载比以前低很多,平均响应时间也不错。我们彻底放心了,然后我们都回家睡觉了。天已经很晚了,我们认为没有其他的事情需要我们做了。第二天,网站运行的相当好,但是在高峰时段,它一直接近于崩溃的边缘。我们发现MySQL是瓶颈,我们再次打电话给我们的托管服务提供商。他们建议在每个Web服务器上用MySQL从服务器进行MySQL的主-从同步。

"杀死"你的服务器的方法之三

再强大的数据库服务器也有它的极限,当你到达它的极限的时候,你的服务器将会挂掉!在这种情况下,某些时候你的数据库会变得十分缓慢,以至于队列中大量的网络连接会再次“杀死”我们的Web服务器。不幸的是这个问题很难修复。内容管理系统在这方面十分的简单,它本身并不支持单独地读取和写入SQL查询。重写这一切花了很长时间,但是相对于每分钟都遭遇到挂起休眠来说,是相当值得的。

MySQL同步真的成功了,网站最终稳定了!在接下来的几周,几个月里,网站取得了成功,用户的数量开始不断地增加。流量再次超过我们的资源限制,这只是时间的问题。

"杀死"你的服务器的方法之四

不提前作规划,你的服务器可能会挂掉!

幸运的是,我们一直在思考,并且一直在做规划。我们优化了代码,减少了每个页面载入的时候需要的SQL查询的数量,我们意外地发现了MemCached这个好东东。首先,我们在一些核心功能上添加了对MemCached的支持,在一些重量级(运行缓慢)的功能上我们也添加了对MemCached的支持。当我们把这些变更部署以后,我们简直不能相信这个结果——这感觉有点像发现了“圣杯”。我们每秒查询的数量至少降低了50%。我们决定更多地使用MemCached,而不是购买另外一个Web服务器。

"杀死"你的服务器的方法之五

忘记做缓存,你会浪费很多钱,而且,你的服务器还会挂掉!事实证明,MemCached帮助我们减少了70%-80%的MySQL服务器上负载,同时,在Web服务器上,也产生了巨大的性能提升。页面载入的相当快。

最终,我们的配置看起来似乎是完美的。即使在高峰时段,我们也无须再担心崩溃或页面响应缓慢了。我们搞定它了吗?不!一台蓝色的Web服务器开始有一点响应缓慢了。然后出现了一些错误消息,空白页面等等。这个系统负载能力很不错,在大多数情况下服务器也都在工作,但是只是在“大多数情况下”而已。

"杀死"你的服务器的方法之六

把成百上千个小文件放在一个文件夹里,当索引节点耗尽的时候,你的服务器将会挂掉!

是的,你没有看错。我们过去只是关注MySQL,PHP和Web服务器本身,并没有太关注文件系统。Smarty缓存文件存储在本地文件系统里——所有的缓存文件都存储在同一个目录下。解决方案是把Smarty放在一个专用的ReiserFS分区里。另外,我们还打开了Smarty的“use_subdirs”选项。

在过去的几年里,我们一直在优化页面。我们把Smarty缓存放到了memcached中。为了更快速地处理静态文件,我们安装了Varnish来减少I/O负载。我们还切换到了Nginx(Lighttpd会随机的产生error 500的消息),安装了更多的内存,购买了更好的硬件,更多的硬件......这个列表永远不会结束。

总结

扩展一个网站是一个永远不会结束的过程。当你解决了一个瓶颈以后,很可能马上会遇到下一个瓶颈。永远都不要这样想:“就是这样,我们大功告成了”然后就靠边站了。这会“杀死”你的服务器,甚至是你的业务。规划和学习是一个持续的过程。如果你因为缺乏经验或资源而不能自己完成这个工作,那么可以找一个有能力胜任这个工作,而且很可靠的合作伙伴,和它一起来做这个工作。永远都不要停止和你的团队和合作伙伴沟通当前遇到的一些问题和即将会遇到的一些问题。思考在前才能争取主动。

原文:http://networking.ctocio.com.cn/386/11504386.shtml

本文链接:http://www.blueidea.com/tech/site/2010/7924.asp 

出处:IT专家网
责任编辑:bluehearts

上一页 "杀死"你的服务器的6种方法 [1] 下一页

◎进入论坛网站综合网页制作版块参加讨论

相关文章 更多相关链接
Yahoo!网站最佳体验守则之服务器篇
浅谈广域网(服务器)链路负载均衡
Windows服务器平台磁盘整理软件
AS3中与服务器交互
打造中小企业邮件服务器
作者文章 更多作者文章
详解SQL Server分布式查询
SQL Server数据库对于应用程序的关系
用CorelDraw来绘制中国画荷花
精美黄页图标
尝鲜 VS 2010 Beta2
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule
>> 分页 首页 前页 后页 尾页 页次:2/21个记录/页 转到 页 共2个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2