《为PHP应用提速、提速、再提速!,第3部分用Memcache守护程序把数据缓存到内存中.docVIP

《为PHP应用提速、提速、再提速!,第3部分用Memcache守护程序把数据缓存到内存中.doc

  1. 1、本文档共17页,可阅读全部内容。
  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应用提速、提速、再提速!,第3部分用Memcache守护程序把数据缓存到内存中

简介:?如果 PHP 应用程序运行缓慢,可以使用分析器找出应用程序究竟在哪些方面浪费了时间。可以将语句、循环、函数、类或者是运行缓慢的库作为分析目标。如果不是时间而是内存使用出现了问题,那么一个优秀的分析器还可以显示组件的内存占用情况。 查看本系列更多内容 本文的标签:? php_(hypertext_preprocessor), 优化, 应用开发, 性能 标记本文! 发布日期:?2007 年 3 月 21 日 级别:?中级 访问情况?2810 次浏览 建议:?0?(添加评论) 平均分 (共 4 个评分 ) “为 PHP 应用提速、提速、再提速!” 系列文章的 第 1 部分 演示了如何使用 XCache(PHP 操作码缓存) 加速整个站点。XCache(仅是少数几种缓存包中的一种)保留了编译过程的输出,去掉了其他冗余的工作。只要页面没有发生变化,缓存后的页面就能够胜任 代理的作用。当页面发生变化时,缓存后的页面就会变为无效并被替换掉。 操作码缓存 —— 以及一个操作码优化器,通常由相同的包提供 —— 是一种加快站点响应的低成本技术。很多缓存包是免费的,并且是开源的,无需改变任何代码即可从中受益。 当然,在某些应用程序中,相比较实际的执行时间,将 PHP 源代码文件翻译为其相应的操作码所需的时间微不足道。连接到远程数据库服务器,使用低效的 SQL 语句进行查询,以及其他大量解析和操作数据的工作都非常的繁琐,也因此增加了开销,甚至产生浪费。良好的网络设计和灵巧的数据库结构可以使时间冗长和查询 缓慢的情况有所改善,如果需要的话还可以向友好的专家请求帮助。但是,如果代码运行缓慢,您可能更希望自己处理。 但是从何开始呢?正如人们普遍认为的,在代码完成前调试代码的做法很不明智 —— 因为代码的首次实现可能会非常的迅速。当代码正确且能实现相应的功能时,不管其表面上看起来运行缓慢还是实际如此,首先要做的就是对其性能进行测试或基准测试。不执行这样的诊断而尝试去优化代码无疑是在黑暗中摸索。 一个简单的性能指标是挂钟时间(wall clock time),或测量页面请求与完成呈现之间的实际延迟。对于某些情 况 —— 比如在您自己的工作站本地运行的 Web 服务器、数据库和浏览器 —— 挂钟时间能够提供信息。然而,挂钟时间对于其他大多数情况而言并无实际意义,比如网络延迟时间、活动的 Web 服务器或者活动的数据库。 一种更精确的测量 —— 甚至可以测量运行单个源代码语句的时间 —— 可以采用代码分析器。分析器通常被实现为 PHP 运行时引擎的扩展,记录语句开始和结束的 delta、记录程序开始和结束之间的 delta 并捕获对来到的请求形成响应的总时间。有了这种垂直度,就可以将语句、循环、函数、类或者是运行缓慢的库作为分析目标。如果不是时间而是内存使用出现了问 题,那么一个优秀的分析器还可以显示组件的内存占用情况。 PHP 的一个较流行的分析器是 Xdebug,它还为交互地调试 PHP 应用程序提供了服务器挂钩(hook)。(参见“调试的更好方法”以了解更多信息。该系列的另一部分将探讨高级交互式调试。) Xdebug 很容易从源代码构建,将其作为 Zend 扩展进行安装也非常简单。(现在已有针对某些平台的二进制文件。)当就绪后,对基于 PHP 页面的每个请求都将生成可在 KCacheGrind 中查看的数据集。 构建并安装 Xdebug 如果具备了 PHP 实用工具 phpize 和 php-config,而且具有对 系统的 php.ini 配置文件的访问权,那么安装和设置 Xdebug 只需几分钟的时间。下面给出的指导说明针对 Linux?,不过在 Mac OS X 上的安装步骤实际上与此类似。(您可以从 Xdebug Web 站点找到针对 Microsoft? Windows? 的 Xdebug 预编译版本。) Xdebug 的最新版本为 V2.0.0RC3(最终版本 V2.0.0 在您阅读此文时也许已经可用)。下载并解包 tarball,然后切换到源代码的子目录。确保 phpize 和 php-config 位于 shell 的 PATH,准备使用 phpize 进行构建。 清单 1. 设置 Xdebug $ wget /files/xdebug-2.0.0RC3.tgz $ tar xzf xdebug-2.0.0RC3.tgz $ cd xdebug-2.0.0RC3/xdebug-2.0.0RC3 $ phpize Configuring for: PHP Api Version: Zend Module Api No: Zend Extension A

文档评论(0)

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

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

1亿VIP精品文档

相关文档