这个博客已经建立两年多,但真正开始写是最近一个多月。之前一直没有遇到性能问题,想必是因为数据量小,只有个位数的文章,所有访问都是飞快。

现在文章即将过百,访问明显变慢了。前不久有国内的朋友抱怨访问速度太慢,查了一下发现,国内的问题应该是dns、路由和墙共同作用的结果。在http://ping.chinaz.com/测速得到:

线路耗时最短节点耗时最长节点平均耗时
所有线路 英国[海外] 深圳[联通] 3528毫秒
电信 四川遂宁[电信] 江西[电信] 3846毫秒
多线 浙江[多线] 安徽[多线] 3437毫秒
联通 安徽滁州[联通] 深圳[联通] 4832毫秒
移动 山东[移动] 深圳[移动] 3222毫秒
海外 英国[海外] 日本[海外] 2307毫秒

大部分访问总耗时都在3秒以上,这已经相当于不能访问了。听说cdn很高大上,专治这类疑难杂症,所以试用了一星期左右cloudflare免费cdn,结果居然更差,鄙视一下cloudflare:收费服务好于免费服务无可非议,但免费cdn还不如我自己家一台破服务器就有些说不过去了,难道你家这cdn不做性能优化,反要做劣化不成?针对国内的访问,我短期内是没什么解决办法了,只能先放一下。

更严重的问题是网站本身。为排除网络问题,我从家里局域网直接访问服务器,发现速度已经很糟糕了。不开joomla缓存的情况下,首页加载TTFB有900毫秒以上,打开joomla的debug模式,有如下结果:

Application 0.000 seconds (+0.000); 0.41 MB (+0.413) - afterLoad
Application 0.049 seconds (+0.049); 1.19 MB (+0.772) - afterInitialise
Application 0.092 seconds (+0.042); 1.59 MB (+0.408) - afterRoute
Application 0.532 seconds (+0.440); 2.48 MB (+0.890) - afterDispatch
Application 0.545 seconds (+0.013); 2.55 MB (+0.067) - ...
...

那个afterDispatch占用了440毫秒,应该是php代码解释和数据存取的耗时,这说明joomla框架负载上现有数据,让服务器硬件吃不消了。说来我这台"服务器"的硬件确实比较寒碜,它其实是一台2009年上市的Net-top,型号为Medion Akoya e2005d,配置如下:

处理器:Atom 230 (1.6GHz)
内存:1GB DDR2
硬盘:160GB
网卡:集成千兆

这样的配置,今天看来纯属废物利用。这台机器唯一的好处是省电,待机功率不超过30瓦,所以全时开机每年电费也就不到30欧元。弱是弱了点,但优化一下应该还能坚持到真正有流量那一天,到时候再升级也不迟。找到的优化方向有好几个:一是硬盘,据说有个工具叫hdparm可以让硬盘访问速度成倍提高;二是数据库,我现在用的mysql没做过任何优化,就是安装后的样子,应该还能榨出些性能来;三是joomla的清理,这个站搭起来以后,试用过不少插件,也不知道那些玩艺儿卸载是否干净;此外还有apache性能微调,准备试用一下mem_cache,应该比file_cache快很多吧。

另外,局域网大升级时,给服务器买的无线网卡好久前就收到了,一直没时间装,而安装这块新网卡需要给老旧的debian squeeze升级内核。

折腾这几样东东都有系统全面崩溃的风险,必须线下操作才行。决定用闲置的旧配件凑出一台机器,装上debian,然后把所有网站挪到上面,暂时顶上几天。在这几天之内,服务器就可以下线维护了。

评论   

0 #4 mrdaydreamer 2015-02-11 10:54
引用 Yu:

抄家应该不会,电话警告应该是有的。话说博主的网站我这里速度并不觉得慢,自己感觉比我的博客还要快些(服务器在香港)

还是很危险呀 :lol:
现在不慢一方面是因为我暂时把缓存打开了,本地TTFB直接降到100毫秒以内,减少接近1秒的加载时间。 但这个评论插件和缓存有些冲突,首页评论计数器被缓存下来,不能及时刷新,如果我找不到好的解决办法,早晚 还是要把缓存关掉。另一方面也和你那边的线路有关,可能你的地理位置+dns都很合适,所以比较快。但根据 几个网站的测试结果,国内大部分地方是无法正常访问的,有的地方甚至无法解析域名,更别提速度了。。。
引用
0 #3 Yu 2015-02-11 10:24
引用 mrdaydreamer:
引用 Yu:
一看到“放家里”顿时被吓到了,心想国内网络审查这么严居然还有敢把服务器放家里的;结果仔细一看原来是在国外 :D

呵呵 还真不知道如果在国内这么玩会发生什么。。。会有国安的人来抄家么?

抄家应该不会,电话警告应该是有的。话说博主的网站我这里速度并不觉得慢,自己感觉比我的博客还要快些(服 务器在香港)
引用
0 #2 mrdaydreamer 2015-02-11 10:15
引用 Yu:
一看到“放家里”顿时被吓到了,心想国内网络审查这么严居然还有敢把服务器放家里的;结果仔细一看原来是在国外 :D

呵呵 还真不知道如果在国内这么玩会发生什么。。。会有国安的人来抄家么?
引用
0 #1 Yu 2015-02-11 10:01
一看到“放家里”顿时被吓到了,心想国内网络审查这么严居然还有敢把服务器放家里的;结果仔细一看原来是在 国外 :D
引用

提交评论


安全码
刷新