网站大量收购独家精品文档,联系QQ:2885784924

基于PHP缓存应用方案性能分析与对比.pdfVIP

基于PHP缓存应用方案性能分析与对比.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PHP 的缓存应用方案性能分析与对比 吴明洲,孙文生 北京邮电大学电信工程学院,北京(100876) E-mail :lyingkisser@ 摘 要:PHP 是一种解释型的脚本语言,主要用于WEB 的服务端,在当今LAMP 平台及 类似平台中具有十分重要的地位,其执行效率直接关系到网站的响应时间和用户体验,因此, 采用一种合适的缓存应用方案,对PHP 执行代码或执行过程中频繁读取的变量进行缓存, 是LAMP 平台优化的关健环节。本文通过对四种主流PHP 缓存应用方案的性能分析和对比, 给出一种最优的PHP 缓存应用方案。 关键词:LAMP ,PHP ,缓存,优化 1.引言 近年来,随着互联网的持续升温和web2.0 技术的不断发展,各种基于PHP 动态脚本技 术应用的网站层出不穷,从大型的门户网站,到各处各样的论坛和博客系统,再到引来无数 关注的视频分享网站,都大量架构在LAMP 平台,采用PHP 作为其后台的业务逻辑处理语 言。但是,这些网站随着访问量的快速上升,服务器的系统负载越来越重,访问速度变得越 来越慢。因此,有些软件开发工程师开始研究并着手开发 PHP 的缓存应用系统,即把编译 好的PHP 代码缓存进内存中,从而可以在下次访问时,PHP 脚本不需要重新编译而是从内 存中直接得到执行,或者把需要反复存取的变量放在共享内存中,可以大大加快网站的访问 速度,减少系统的运行负载。然而,由于 LAMP 架构都是开源免费的,这样一来,不管是 PHP 还是apache,他们不同版本所支持的特性就很可能发生不小的变化,由于PHP 缓存器是 直接依赖PHP 而开发的,当PHP 的发行版本发生变化时,过去老的PHP 缓存器很可能无法 和新的PHP 版本兼容,这样一来,对于一个特定版本的PHP ,选择哪一种既稳定也有着良 好性能表现的PHP 缓存器,往往是一个难题。本文将在LAMP 平台上面,通过对eaccelerator[1], xcache[2], memcache[3], apc[4]这四种主流PHP 缓存应用系统的性能测试和比较,给出一个在 实际应用环境下的最合理的解决方案。 2 .PHP 缓存的基本概念 [5] 由于PHP 的语言特性 ,由PHP 编写的脚本程序,客户端请求一次,服务端调用PHP 解析器执行一次,所有的变量在当前的脚本文件执行完毕以后全部释放,在下次装载执行时 再重新建立。因此,在这个过程中,可以把需要执行的脚本程序以某种形式预编译进内存中, 当下次请求同一文件时,直接使用缓冲区已编译的代码去执行从而提高速度。这就是 PHP 二进制代码缓存(opcode cache)的概念。 此外,某些需要反复读取的变量,比如,从数据库检索出浏览次数最多新闻在首页面中 显示,传统的做法是每请求一次首页面,首页面执行一次数据库操作,取出当前浏览次数最 多新闻,并在页面中显示出来。即页面每被访问一次,相同的数据库查询就会执行一次。这 样做,虽然可以实现实时性,但当首页访问量比较大时,服务器的负载会非常严重。这时, 可以对这种变量进行缓存,并设定一个缓存过期的期限,没有超过这个期限时,数据直接从 缓存中读取,超过这个期限时,数据从数据库中获取,再重新写入到缓存。这就是变量缓存 的概念。 -1- 3. PHP 缓存的主要分类 从上面的描述中可以看出,PHP 缓存主要分为二进制代码缓存和变量缓存,二进制代 码缓存,即opcode cache,是通过把解释性的脚本语言预编译为二进制状态并写入内存中,下 次执行时可略过编译步骤,直接从内存中执行相关代码,提高代码自身的执行效率。变量缓 存则是把变量在一定期限内缓存进某种缓存介质中去,这种缓存介质可以是内存,磁盘。 当前开源的提供二进制预编译缓存功能的缓存器有 eaccelerator,xcache ,apc 。提供以 内存为缓存介质的变量缓存的缓存器有eaccelerator、xca

文档评论(0)

bhyq + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档