热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Zend实用指南连载二:性能优化

转自:http:servers.pconline.com.cnskills07081076258.htmlPHP高速公路-ZendPlatformPHP性能提升详细

转自:http://servers.pconline.com.cn/skills/0708/1076258.html

PHP 高速公路-Zend Platform PHP性能提升详细评测

  一、 概述

  在上一篇《Zend实用指南连载一: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倍。

  图形数据如下:

页面压缩测试

  上述图表中,橘红色条目代表压缩前的程序数据总量(字节);绿色条目代码经由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的性能加速上为我们带来的诸多变化,也对性能的控制提供了方便的管理方式。





推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
author-avatar
Jen覀nyfraaaaa-v-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有