WordPress建站心得(二)网站架构设计

在上一篇文章《WordPress建站心得(一)前端性能优化》中,我们提到了如何在服务器和网络状况不变的情况下,通过调整优化请求数目和顺序,缩短页面呈现时间,从而提升用户体验。不过,这种优化只是在请求之间的优化,它并不能提升每个请求的响应时间,如果需要继续优化性能,则必须从服务器和网络本身入手。 我们谈到服务器性能,主要有三个比较重要的衡量标准。一是吞吐量,表示网站在一定时间内能有效承载的请求的最大数量,也就是网站能承受多少人同时访问。二是资源消耗,表示网站在处理一定数量的请求时,所消耗的服务器资源,这和网站的成本直接挂钩。三是首包时间,表示网站返回动态(如PHP, JSP)与静态请求(如js,css,jpg)所需要的计算时间。 在这三个标准中,传统的性能优化主要集中在头两个方面,这无可厚非,因为直接涉及到网站的运营成本和覆盖范围。诚然,这三个标准其实相互作用,一个性能优良的网站,必然会有较高的吞吐量,较低的资源消耗,以及较低的首包时间。不过这并非完全正确,因为采用传统方法优化服务器架构,只能在前两方面有所进步。比如,采用web–>application–>db三层服务器集群,中间通过load balancer来动态调配,的确能极大增加吞吐量和降低单服务器资源消耗,但首包时间并不会因此而大大降低,反而会因为服务器之间的网络沟通产生延时。 回到WordPress的例子上面,相信很多站长都和我一样,没有充裕的budget,只是凭个人爱好而建站,必然没有那么多资源建设庞大的服务器集群,但我们同样有很多办法优化我们仅有的vps性能,从而降低首包时间,减少资源消耗,增大吞吐量。这篇文章针对的正是我们这些草根站长。

告别BAE,转战VPS

从6月29日我的个人站点上线以来,已经整整四个月了。从最初完全不懂任何PHP和站点设置,到现在入门,经历了许许多多。BAE是一个很好的平台,部署简单,网络通畅,对于刚入门的我来说足够了。不过随着深入了解,我发现BAE作为wordpress的平台还是有一定局限性的。 无法本地写文件。这个是一个硬伤,由于不能本地写文件,导致所有插件和升级都必须手动svn完成,耗时耗力,而且由于无法本地写文件,一系列的文件型缓存无法应用,制约了性能的提升。这才有后来研究迁移memecached插件的事情。此外,所有上传的附件都不能永久保存,只能使用百度云存储的插件才能解决。