"杀死"你的服务器的6种方法(2)
来源:IT专家网 发布时间:2010-08-30 20:06:00
我们需要一个计划来减少负载,然后,我们和我们的托管服务提供商讨论了这个问题。他们的一个系统管理员提出了一个好主意:“伙计,你的服务器现在运行在一个非常常见的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的消息),安装了更多的内存,购买了更好的硬件,更多的硬件......这个列表永远不会结束。
总结
扩展一个网站是一个永远不会结束的过程。当你解决了一个瓶颈以后,很可能马上会遇到下一个瓶颈。永远都不要这样想:“就是这样,我们大功告成了”然后就靠边站了。这会“杀死”你的服务器,甚至是你的业务。规划和学习是一个持续的过程。如果你因为缺乏经验或资源而不能自己完成这个工作,那么可以找一个有能力胜任这个工作,而且很可靠的合作伙伴,和它一起来做这个工作。永远都不要停止和你的团队和合作伙伴沟通当前遇到的一些问题和即将会遇到的一些问题。思考在前才能争取主动。


猜你喜欢
- 随着中国互联网的迅猛发展,关注网络的人不断增加,各行各业的人士们开始搭建自己的网络宣传平台,建立自己的博客,为此也涌现出一批批优秀的博主,如
- 数据分析能力是做SEO应该具备的基本能力。很多影响SEO效果的重要因素,都可以从数据上反映出来。不管是前期的预测,还是流量波动后的事后分析,
- 就像家庭中90%的维修活都能用螺丝刀和扳手来完成,Web服务器也不例外。让我们来看看这些工具。1、服务器响应缓慢如果服务器响应缓慢,需要做的
- 如果看到这个标题,你有一些疑问,那你更要看完这篇文章,对于新手来说,购买WordPress空间之后,需要做的事情很多,Wopus这里列举出一
- 搜索引擎优化是很多网站非常关心的,在搜索引擎中表现好,意味着能吸引大量的用户,网站的宣传也就容易了,业务也就好开展了。但在针对搜索引擎优化的
- 这两天最热闹的新闻,腾讯和搜狗的版权官司算一个。再往前推,搜狐、激动网、优朋普乐成立反盗版联盟,剑指优酷、土豆、迅雷等国内目前最流行的视频网
- 众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节。Linux被认为是一个比较安全的Internet服务器,作为一种开
- 4399董事长蔡文胜(腾讯科技摄)腾讯科技讯 9月2日消息,4399董事长蔡文胜(http://t.qq.com/caiwensheng )
- iCafeScan(TM)网吧360°9月监测数据显示,地下城与勇士、穿越火线在激烈的市场竞争中牢牢稳居网游一线阵营,市场地
- # DedeCMS v5.3 归档插件+列表生成控制# jim.ma QQ:164186 jim.mail ~@~ 163.com程序中部分
- 做了一年的网站,技术提升了不少,但对我来说,收获最多的还是做网站的经验和感触…… 前阵子研究了国外的几个CMS,发现了他们有一个共同点:他们
- 3.3.2. 算法名字服务器使用的算法和本地操作系统和数据结构相关,下面的算法假设RR以几个树型结构组织,一个树就是区,有一个树是用于缓冲的
- 随着六一国际儿童节的临近,越来越多的互联网从业人员开始怀念童年,更有好事者提出了九条建议。希望广大站长在闲暇之余博得一乐。以下为网友提供的九
- 记得很早以前看到过这样的一段介绍:想象你在逛街边的一家书店,如果最终你没有购买任何图书就直接离开了,店长并不会知道你来过。但是如果你买了书,
- 实例如下:#include <time.h>#ifdef WIN32# include <windows.h&
- 古往今来,神话一直都是华夏灿烂文化的瑰宝,给人们的外在世界缔造了一个美丽的梦。今天,game2平台斥资1500万,打造耗时3年,再现上古的不
- SecretSecret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 使用 Se
- Linux静态库与动态库实例详解1. Linux 下静态链接库编译与使用首先编写如下代码:// main.c#include "t
- 新浪科技讯 2月29日上午10时50分消息,新浪科技今日获得内测版“百度HI”的界面图片,并通过首批参与内测的百度人士获得一份最新鲜的百度H