从国内机房搬到美国后开始用的虚拟主机,后来一时心痒就买了个360MB内存的VPS,机房再美国Fremont,在国内访问速度不错。购买之前朋友就提醒VPS不像虚拟主机从系统安装到优化都得自己动手,到现在使用VPS两个月了,在不断的故障,摸索,优化,再出故障,再优化的周而复始的惨痛过程中才体会到朋友的话是如此中肯。
我的VPS上有三个网站,除了这个博客,一个访问量可忽略不计的加拿大乐队站点,主要是用于Android中文圈博客,Android中文圈是我开始做的一个关于Google Android相关的博客,内容主要是我翻译的国外Android最新资讯和一些原创文章。开始访问量并不大,后台采用WORDPRESS,VPS系统安装的是CentOS系统,服务端软件用的是Apache+php+mysql,想当然认为这样的经典模式肯定不会出问题,结果后来发现网站每过几天就会当机一次,经常在夜里出问题网站连续不能访问几小时。
开始怀疑是WordPress没优化好或者是插件的问题,卸载了所有能卸载的插件,同时启用了WP Super Cache和WP Widget Cache两大缓存插件和External object cache缓存优化,Wordpress的数据库查询次数大幅降低,网站访问速度也提高了很多,以为问题就这么被解决了,窃喜。
大概坚持了一星期左右Android中文圈又开始不能访问了,而且重启服务器后出问题的频率也升高了,可能和网站访问量增加有关系。只能写了一个定时脚本每天凌晨5点自动重启VPS。可是每天重启VPS总不是办法,最后经过大牛54chen的点拨发现原因出在Apache上。Apache虽然是Linux系统排名第一的WEB服务端程序,apache是用的传统的阻塞式网络IO,只对大内存服务器支持较好,像VPS这样的小内存环境下Apache运行效率很低网站访问量一大就出问题。他推荐我用Nginx替代Apache。接下来几天研究了一下发现不管是国内的知名独立博客还是像豆瓣这样的大站WEB前端都采用Nginx,恶补了关于Nginx的只是,抛弃Apache已经势在必行。
最后考虑采用了LNMP一键安装包,LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。重新安装了纯净的CentOS系统,根据这篇文章安装了LNMP,安装完成后把/root/run.sh添加到/etc/rc.d/rc.local文件中开机自动启动。通过phpmyadmin导入数据库数据,恢复Wordpress,测试一下Android中文圈现在的访问速度飞快,1秒钟就可以打开。
使用free -m查看内存还剩余120MB左右,Swap分区基本没有使用。使用TOP命令查看系统负载load average控制在1以内。网站连续运行10天没有出问题。
通过一段时间的运行发现网站有时候速度会变慢,这时候检查系统负载都会升高,负载超过1网站访问速度明显变慢。超过3后几乎无法打开。特别是Wordpress登陆后台操作和发文章的时候系统负载会迅速上升。没办法,再想办法优化。
又禁掉了一些插件,Wordpress相关文章和随机文章都改用代码方式实现,去掉了每次打开页面都会调用几个js文件的NextGEN Gallery相册插件。启用Nginx防盗链设置防止图片被其他站点盗链加重服务器负担。同时把CentOS之前启用的iptables等没用的服务全部停掉,只留几个必须的服务,节省了部分系统资源。
目前Android中文圈访问速度基本上是首页25 queries in 0.5 seconds,内页差不多是20 queries in 0.3 seconds,作为美国主机这个速度已经算不错,至此VPS风平浪静,问题告一段落,等待下一次出问题再想办法解决。
Update:更换了VPS主机提供商后服务器再没出过问题,之前用的盘古网络VPS是垃圾中的垃圾,同样的配置每周至少出一次问题,每次出问题至少停机5小时以上,每次找客服总是不知道如何处理推脱是我程序的问题,更主要的是这是一家骗子公司,公司一名网名叫don的经理答应我的退款最后用龌龊的手段赖掉了,后来才知道这家公司从来不退款,都是来一个骗一个,关于盘古主机的龌龊事迹Google一搜一大堆,如果你想知道详情可以给我发邮件,我会告诉你事情的来龙去脉让你自己对这家公司的性质进行判断。总之大家千万不要选择这家垃圾骗子公司!盘古网络应该改名为作古网络!
.png)









七月 5th, 2010 at 11:11 上午
哥回的不是贴,回的是寂寞
七月 17th, 2010 at 3:13 上午
出现宕机,是内存超了,还是CPU超了呢?
七月 18th, 2010 at 6:56 下午
CPU和内存都没有超,就是负载会莫民奇妙上升,应该是我之前VPS提供商的问题,我搬了新服务器没出现过这种问题。
七月 21st, 2010 at 5:00 上午
中间加一层 PHP accelerator,比如 eAccelerator, XCache 什么的会好一点。
八月 22nd, 2010 at 12:22 上午
嗯,请问你买的哪家公司得vps?
linode?
好快啊…
比我的都快
谢谢了
八月 22nd, 2010 at 8:36 下午
@向阳 diahosting