网站优化之动态页面缓存网站提升性能

网站优化(利用缓存一步步优化)

现如今的网站基本上全部是动态网站,比如动态网页,动态图片,web服务等。它们通常在服务器上进行计算,生成HTML,然后再返回给用户,浏览器再呈现出来。但是,在生成HTML的过程中,不可避免的涉及了更多的CPU运算和很多的IO操作,一般的服务器耗时也就在这里。如果想提高网站并发量,利用缓存是一个很好的解决方案。

页面缓存

准备工具

  1. 服务器,我当前的服务器是 2核4G 1M带宽的服务器。
  2. 我选用的测试对象就是当前博客首页。
  3. ab测试软件。

未优化前

使用ab测试,我们得到的结果如下

ab -n1000 -c10 http://www.wedophp.com/

从中我们可以很容易的看到,网站吞吐量为 22.72,平均响应时间为440.052ms,这对于高并发网站来说,简直是不可忍受。

现在可以查查看在哪花费了比较长的时间,通过查阅日志我们看到在数据库查询中我们就占用 387.95ms,本文对于数据库优化不做讨论,只是从这里大家可以看到,我们大部分时间都在数据库查询中花费了,如何让这些数据访问的更快呢?

我们利用缓存生成首页的html文件,并将这个文件作为首页访问。我们再来通过ab测试一下,测试结果为

ab -n1000 -c10 http://www.wedophp.com/

这个结果真的舒服太多了,比如网站吞吐量,达到了 12826.76,比之前整整多了578倍之多,而对于平均响应时间来看,我们也少了564倍之多,可见,页面缓存对于大型高并发网站来说,意义重大。

通常,我们还可以将html缓存在内存中,不过通常来说对于性能的影响不是很大,因为只是减少了一次磁盘IO而已,不过相对来说如果访问量特别大,倒是可以尝试一下。

接下来再用 keep-alive长连接 方式请求

ab -k -n1000 -c10 http://www.wedophp.com/

可以看到,网站应用吞吐率再次提升了10000多,这里也可以看到长连接对于高并发提升服务器性能还是很棒的。