PHP 高速公路-Zend Platform PHP性能提升详细评测
一、 概述
在上一篇《PHP 平台终极堡垒 - Zend Platform》文章中,我们已经向大家介绍了Zend Platform强大的功能和特性,相信各位对Zend Platform也已经有了初步的认识。从这篇文章开始我们将会对 Zend Platform 中的主要功能模块和特性进行详细的评测以及介绍。
这次我们将为您介绍站长以及网站管理员最关心的问题之一:提升网站运行速度以及代码运行效率。服务器网站的性能通常是大家最为关注的焦点!本章我们将对Zend Platform的PHP代价加速、动态缓存功能进行深入的评测和对比介绍,通过对真实网站进行模拟仿真的压力测试,来领略 Zend Platform 强大高效的代码加速特性!下面让我们一起期待Zend Platform为我们带来的惊喜!
二、 性能加速介绍
Zend Platform具备多种对 PHP 代码的加速、性能提升方式和策略,可以灵活的设置加速方式以达到最佳的加速效果。通过良好的运用 Zend Plartform 性能提升特性,网站 PHP 代码执行效率可以获得 3 – 80 倍的提升!目前很多知名网站正在使用 Zend Platform 加速他们的网站运行效率,并且获得了巨大的性能提升和良好稳定的运行表现,如:腾讯网、Tom.com等。
Zend Platform拥有以下性能提升模式:代码加速、动态页面缓存、页面局部缓存、下载服务器下载性能加速以及输出页面特殊压缩。Zend Platform采用了非常人性化的设计,提供强大的图形控制台,对于最终用户或者管理员,只需轻点几下鼠标便可以从中修改各项性能参数,并且针对不同的平台和需求进行不同等级的设置和策略。Zend Platform内置的性能测试工具和性能参数统计图表也能帮助您清晰了解到网站整体性能的提升指数。
OK,下面就让我们看看 Zend Platform 在“实战”中的表现吧。测试开始!
三、 测试环境
我们选择在一台真实服务器以及网站上安装 Zend Platform 对网站进行性能提升测试。我们选择了一款目前主流的 Intel 架构服务器来进行测试,以便各位对Zend Platform有更近距离的接触!
服务器硬件配置以及系统软件环境
环境参数
服务器 CPU: 两颗 Intel Xeon 2.4 GHz L2/2M
内存: 2GB DDR RAM
网卡: 1000Mbps NIC
硬盘: 146GB SCSI Ultra-320
操作系统 CentOS 4.4 Linux (Kernel 2.6.9)
软件环境 Zend Platform 3.0.0
Web 服务器软件: Apache 2.2.4
PHP 版本: 5.2.2
MySQL 版本: 5.0.27
PHP 程序: 康盛创想 SupeSite/X-Space 5.0 正式版
四、 代码加速
使用 Zend Platform 内置的PHP代码加速测试系统从站点中随机抽取10个页面进行随机模拟访问。以下是测试结果以及数据图表分析:
从中我们可以清晰看到,使用 Zend Platform 对刚才随机抽取的 10 个站点PHP程序进行加速,根据PHP文件代码的不同其加速效果也是不同的,PHP程序执行效率最高提升了3.02倍,最低也有1.1倍的提升。此次测试的平均效率提升结果为:2.38倍。
五、 页面压缩测试(Compressions Test)
Zend Platform 提供的页面 gzip 压缩功能可以将网页输出代码进行压缩以节省传输带宽提升数据传输速度。当我们开启gzip页面压缩功能时,服务器会把客户端的请求页面打包成gzip格式后传递给客户端,随后在客户端解压呈现给访问者。接下来,我们来看看Zend Platform对压缩能起到怎样的效果。
图形数据如下:
从中我们可以清晰看到,使用 Zend Platform 对刚才随机抽取的 10 个站点PHP程序进行加速,根据PHP文件代码的不同其加速效果也是不同的,PHP程序执行效率最高提升了3.02倍,最低也有1.1倍的提升。此次测试的平均效率提升结果为:2.38倍。
五、 页面压缩测试(Compressions Test)
Zend Platform 提供的页面 gzip 压缩功能可以将网页输出代码进行压缩以节省传输带宽提升数据传输速度。当我们开启gzip页面压缩功能时,服务器会把客户端的请求页面打包成gzip格式后传递给客户端,随后在客户端解压呈现给访问者。接下来,我们来看看Zend Platform对压缩能起到怎样的效果。
图形数据如下:
上述图表中,橘红色条目代表压缩前的程序数据总量(字节);绿色条目代码经由Zend Platform 压缩后的程序数据总量(字节)。测试结果表明,使用Zend Platform压缩后的数据平均为普通压缩文件的71.87%,也就是说在传输过程中可以节省将近 71.87%的带宽资源,如此以来,客户端与服务端的数据传输就能在更短的时间内完成,也起到了提高访问速度的效果!
六、 下载速度测试(Zend Download Server Test)
如果您的服务器提供WEB访问的同时也同样提供下载,那么下载的速度和最大连接数也一定是您所关注的问题。
下载速度的快慢除了与带宽有很大的联系外,服务器响应请求的速度与处理请求的合理性也大大的限制了文件下载速度。我们选择一个大小为301K的文件,限定每个连接的速度为64K/S,并发100个连接进行测试。
图形数据如下:
七、 动态页面测试
对于动态页面的测试,为了获得更加可信并且更加准确的测试数据和效果,我们决定使用第三方专业测试工具来进行,因为Zend Platform在测试过程中对服务器资源进行了一定程度的保留,所以只作为理想条件下的标准,为了能在真正的压力测试中体现出Platform的优势,这里我们选择了Siege 这个专业的压力测试工具来进行。
Siege是一个多线程的WEB性能测试工具,被设计成可以让WEB开发人员了解代码在长时间压力下的性能.可以模拟很多用户同时访问WEB服务器,此数量可以自由定义.这就相当于web server被围攻(siege)了。
我们使用Siege模拟保持100个并发连接,对Discuz!5.0.0论坛的viewthread.php页面进行5分钟的模拟访问,分别得出未安装Platform和安装并开启Cache后的结果并对两者进行比较。
注:为了更趋于真实,测试过程中我们从viewthread.php这个动态页面中随机抽取10个不同的地址进行访问。
测试结果如下:
No Platform Platform & Cache
总请求次数(次) 47995 372919
传输数据大小(兆) 156.32 2336.23
响应时间(秒/次) 0.62 0.06
每秒请求次数(次/秒) 159.74 1244.10
吞吐量(兆/秒) 0.52 7.79
可以看到,装了Platform并开启动态Cache后,网站的整体性能比之前提高了大约7.76倍,如此以来,服务器将能承受更多数量的访问,也提高了整个的访问速度。大家也可以选择仅仅对访问频繁的某个页面进行缓存,这样更能节省服务器的资源。
从上述测试结果中,我们进一步了解到Zend Platform在PHP的性能加速上为我们带来的诸多变化,也对性能的控制提供了方便的管理方式。