CentOS下Magento性能测试

今天将Magento性能测试搬到了Linux上
* 环境:
1. Apche2.2.3 + PHP5.2.13(With APC extension) + Mysql5.0.77(操作系统等并未特别优化) + Memcache.
2. Magento 1.4.1.1 + 官方的Sample Products.
  以访问前端的“家具”分类页 http://localhost/mage/furniture.html 为例

* 测试结果:
               第一次        第二次        第三次 第四次
1. 禁止Cache   5,266ms       5,655ms      5,763ms
2. 开启Cache:配置使用FILE(默认)作为Cache      2,450ms  2,454ms 2,494ms
3. 开启Cache:配置使用APC作为Cache  2,309ms   2,347ms 2,718ms
4. 开启Cache:配置使用Memcache作为Cache        2,612ms 2,738ms 2,857ms
5. 开启Cache:配置使用APC作为Cache,允许GZIP(开启DEFLATE) 2,057ms 2,110ms 2,042ms 1,958ms
6. 开启Cache:配置使用APC作为Cache,允许GZIP(开启DEFLATE)在Magento中设置Block Cache(局部页面缓存) 1,612ms       1,554ms       1,531ms  1,560ms


注:
* 以上四种测试均在开启APC系统缓存(optcode)下进行(我尝试将APC代码缓存禁止,但是却发现几乎没有什么性能影响), 所以以上缓存影响系统响应速度响主要是源于数据缓存!
* 这里提到的"数据缓存"主要是指页面中使用的公用数据(PHP变量)的缓存、一些公用的局部页面(Block)缓存:如页面的navigation部分.

从以上测试中可以看出开启缓存之后(无论是APC还是Memcahe),性能几乎都提高了50%, APC和Memcache差不多,APC还略高。这是由于APC使用内存来缓存数据,而Memcahce尽管装在同一台服务器却由于Socket连接开销而性能略低于APC.不过由于Memcahe支持分布式的环境,所以在分布式环境下还是建议略损失点性能而使用Memcache.

测试5的结果速度略快(0.3s左右的时间)是因为启动了gzip压缩。
测试6由于启动了Magento的Block缓存(页面主要部分将静态输出), 页面加载时间稳定在1.5~1.6s.

测试6的配置已经基本使Magento单页访问时间控制在2s之内,这个速度对当今互联网B2C网站仍然不令人满意。经简单测试:易迅和京东产品分类页访问时间基本控制在700ms~1s之间。
所以,Mageneto需要进一步性能优化,否则无法用在国内生产环境。

下一步优化:
1. 针对每一个页面小心设置更多局部缓存(Block缓存)
2. 整页缓存(Whole Page) + AJAX/SSI?

你可能感兴趣的:(linux,Ajax,centos,cache,互联网)