[试读]动态脚本加速+-+避免重复编译.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[试读]动态脚本加速-避免重复编译

以下为《构建高性能Web站点》部分内容节选,感谢您的阅读,您可以自由传播它,但请确保它的完 整性。 《构建高性能Web站点》目前还在编写中,预计上市时间为2009年9月,出版商为电子工业出版 社。在本书上市之前,作者希望听到更多的建议和支持,如果您希望了解本书编写进展、试读内容节 选、反馈宝贵建议,请您加入以下讨论组,对于讨论组活跃的成员,新书上市后会获得赠送版,以表感 谢。 《构建高性能Web站点》读者讨论组 /group/highperformanceweb 截至目前完成的内容索引列表 /group/highperformanceweb/web/ 《构建高性能web站点》已完成 内容索引 动态脚本加速动态脚本加速 避免重复编译避免重复编译 了解了opcode以及它的编译过程后,现在,回到我们的主题,它能为我们的性能优化做点什么呢?也 许你还没有意识到生成opcode这一过程的开销,只因为刚才我们的计算量实在太少,那么,现在我们 是时候回到真实的Web应用中了,可以肯定的是,生成opcode的开销肯定存在,甚至非常可观,我们 能否想办法来节省这部分开销呢? 也许你和我想的一样,毫不犹豫的将动态内容缓存思想沿用在这里,通过opcode缓存,来避免重复的 opcode编译。 这引发了我对之前探讨人脑对于1+1计算的思考,似乎我们也应用了某种意义上的opcode缓存,至少 我在计算1+1的时候,根本没有实际去计算,只是感觉从某个地方直接蹦出来了“2” ,这个结果完全来 源于多年来的“经验缓存” 。 可是,要缓存opcode ,我们在应用层是无能为力的。幸运的是,有一些优秀的opcode缓存器扩展, 比如php可以选择APC 、eAccelerator 、XCache等,它们都可以将opcode缓存在共享内存中,而且 你几乎不需要修改任何代码。 APC 我们先来试试APC ,记得要在php.ini中打开opcode cache的开关: apc.cache_by_default = on 你也可以通过apc.filters ,让APC只对特定范围的动态程序进行opcode缓存。 还记得前边的动态网页place_posts.php吗?它在使用Smarty内置缓存方法的时候,吞吐率只有 173.95 reqs/s ,为此我们曾经对Smarty内置缓存方法深恶痛疾。这里我们在使用APC opcode cache的情况下,对它来了一次同样的压力测试,结果如下: Document Path: /place_posts_cache.php?marker_id=12882 Document Length: 13000 bytes Concurrency Level: 100 Time taken for tests: 0.885 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: bytes HTML transferred: bytes Requests per second: 1148.70 [#/sec] (mean) Time per request: 88.522 [ms] (mean) Time per request: 0.885 [ms] (mean, across all concurrent requests) Transfer rate: 14523.44 [Kbytes/sec] received 什么?从173.95 reqs/s到1148.70 reqs/s ,虽然你可能不相信,但这的确是事实。借助opcode缓 存的神奇魔力,我们将之前的几种动态内容整页缓存方法再次进行压力测试,得出的结果如下: 无脚本加速无脚本加速 APC opcode cache 不使用缓存 51.59 92.96 Smarty cache 173.95

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档