WordPress的性能瓶颈

如果不是有这个free usage trial(感谢亚马逊),我不会这么快用上VPS;

如果不是这台主机内存有613MB(再次感谢亚马逊),我是不敢在VPS上直接上LAMP的;

如果不是做QA的经历(这次感谢百度),我可能没有意识进行性能测试;

总之,最近我搞了台VPS,自己配置了LAMP环境(感谢ubuntu),迁移了博客,然后测试了一下性能,%*^&...(此处省略1000字)

总之,我的结论是:

  • WordPress对主机CPU消耗很严重,不管是LAMP,还是LNMP;
  • 在我的博客上头,当请求网站首页时,并发数10,开了5秒以后,CPU_IDLE直接降到0,网站基本处于无响应状态。为了证明这不是由Apache引起的,我后来又搭了一个套LNMP环境,发现内存和CPU占用确实减小了,但是,达到CPU_IDLE=0只是时间问题——其实也撑不了10秒;
  • 一定开WP super cache,开了以后,请求大部分变成了静态文件请求,上150的并发无压力;
  • 开了WP super cache以后,至少是这个主机,运行WordPress的博客,我觉得LAMP,LNMP差别不大,毕竟有613MB的总内存在那里,如果并发数在200以内的话,二者差别不大;
  • 以上测试结论得出极不严谨,最好不要参考;
  • 我预感自己还是会迁移到LNMP上的;

EC2上配置IPV6

前两天弄了这台主机以后,就发现连接速度那是相当慢啊——于是,终于忍不住的我,今天把服务器换到了东京机房——不过这是后话了...

为了让学校访问能够快一些,我决定给EC2主机打一个隧道,上IPV6,经过反复试验,最后得到较为成功的解决方案如下:

第一步:隧道申请:

1. 到he.net的免费隧道申请页面注册用户,申请成功以后密码发到邮箱;

2. 登陆后选择“Create BGP Tunnel”,申请隧道:

Endpoit就填你申请的EC2的静态地址;

服务器的话,视情况选择吧,我选的日本,其实我觉得Hongkong应该也不错;

3. 创建成功以后,会显示隧道信息,点击“Example Configuration”出现配置指南,我使用的是“Linux-net-tools”;

二、配置隧道:

1. 这一步实在是很简单,把上一步得到的脚本存到某个脚本文件,例如set_v6.sh;

2. 然后这样子:

sudo sh set_v6.sh #太坑爹了

3. 当然,你也可以把这个加入系统启动脚本,或者把脚本里头的内容加入到网络配置文件里头去,这个就不表了;

三、One More Thing:

事情完了吗,没有...接下来的内容才是本文的重点:

首先,he.net是通过ICMP协议确认客户端状态的,所以,你需要保证他们的服务器能够ping通你。但是亚马逊似乎给系统加了某种特别的防火墙规则,尽管我在防火墙里头允许了he.net服务器的IP,但是有时还是会出现ping不通的问题。

经过搜索和观察,发现当从EC2主机发出V6的ping请求(不管是ping谁)时,外面在大致10分钟以内可以ping进来,于是,我的终极解决方案便是:

ping6 -c 2 ipv6.google.com 加入到了crontab里头,虽然坑爹,但是经过测试,有效。

本文到此结束。

本文在一定程度上参考了这篇文章:http://benctechnicalblog.blogspot.com/2011/01/ipv6-in-amazon-ec2.html

云中漫步

昨天刚说要申请AWS的账户,今天就弄了台主机,把博客迁到EC2上头了,真是看了一堆教程以后手痒,没有办法。也不管他原来的主机还有五个月才到期了。

直接上的ubuntu server 10.04的AMI,原来用ubuntu还是比较习惯了,结果今天那个网速太坑爹,phpmyadmin装了一半断网了,弄了半天才把所有的进程强杀了。

628的内存,上一个LAMP环境还是够用的,而且我还上了apache2-mpm-itk,确实是有些奢侈,不过我这个PV完全没有问题。

我也没有测试性能,貌似也差不到哪儿去。等哪天有时间了,比较一下LAMP和LNMP到底有啥性能上的区别,再看是用LAMP还是LNMP,或许可以考虑牵头架nginx,搭一个RoR玩玩。

这些都是后话了,总结一下吧。今天已经弄好的东西:

  1. 把ubuntu 10.04装上去,并且装上LAMP(8G的root volume,系统用了不到1G,还有将近7G可以用);
  2. 安装和配置sendmail,现在可以发邮件了(其实就是为了WordPress发邮件),还设了一个MX记录,为了尽量不判垃圾吧;
  3. LAMP配置的是apache-mpm-itk,这个博客放在小权限用户下,应该安全性有一定保障,不过性能扛不扛得住是一个问题;
  4. 把博客迁移过来了,直接改了A记录,对于国内用户来说,流亡一下WordPress不算啥;

下一步要做的事情:

  1. 考虑测试一下这个服务器的性能;
  2. 要是能加一个反向代理提一下速度最好了;
  3. 可以考虑搞一个he.net的V6隧道试试看,教育网能够加速一下;
  4. 搞懂AWS这一套东西到底是咋算的,还有2G的EBS的free usage怎么利用上;
  5. 可以试一下写一些脚本,用svn啥的实现一些自动部署之类的东东;
  6. 考虑一下安全性,比如说防止恶意攻击啥的;

以上事项排名不分先后,期望在free usage tier过期之前完成。

最近在干嘛

今天开通了lofter,多亏了这个博客,填上博客,邀请码马上就申请下来了。

不过这么说其实逻辑不严格,我也没有试过,没有独立博客,申请会不会很慢。

在百度实习已经半年了,没有在博客里头提过这件事。毕业以后,博客也就处于基本荒废状态。

独立博客可悲的就是像现在这样的,没几篇日志里头,总有一片,完全是感慨没有时间写日志。

顺便说一句,我准备申请个Amazon的AWS主机,免费用一年先,IXWebhosting这个主机,速度真的不快,EC2相当于VPS了,自由度高多了。

搬到AWS上以后,我大概会再写一篇博客。