- 分类:Joomla!
- 点击数:2576
这个m88体育 博客已经建立两年多,但真正开始写是最近一个多月。之前一直没有遇到性能问题,想必是因为数据量小,只有个位数的文章,所有访问都是飞快。
现在m88体育 文章即将过百,访问明显变慢了。前不久有国内的朋友抱怨访问速度太慢,查了一下发现,国内的问题应该是dns、路由和墙共同作用的结果。在https://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,然后把所有网站挪到上面,暂时顶上几天。在这几天之内,服务器就可以下线维护了。