DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录.
  • DmozDir.org
DMOZ目录快速登录入口-免费收录各类优秀网站的中文网站目录.由人工编辑,并提供网站分类目录检索及地区分类目录检索,是站长免费推广网站的有力平台!

了解OpCache

  • 了解OpCache

  • 已被浏览: 62 次2020年10月12日    来源:  DMOZ中文网站分类目录
  • 亚采Barecki回答一些常见的问题,你可能有大约OpCache- 这是默认包含在PHP 5.5及以上的字节码缓存

    PHP 5.5版本带有内置缓存引擎 - OpCache - 其中存储在存储器中的预编译脚本的字节码。如果你熟悉APC或了XCache,你就已经知道了如何这种发动机的工作。由于每个PHP脚本是在运行时被编译,执行时间的一部分被用于转化人类可读代码转换成可以由所述机器可以理解的代码。像OpCache,APC或XCache将字节码缓存引擎做它只有一次 - 一个特定的PHP文件的第一个执行过程中。然后预编译脚本被存储在内存中,这应导致性能提升你的PHP应用程序。

    在网上,你会很容易找到很多教程涵盖所有OpCache安装和配置步骤的(它是默认启用的5.5,但可以安装为旧版本的扩展名)。阅读下面的文章中找到答案的一些关于这个特定缓存引擎不同的工作实践方面的典型问题。

    1.是OpCache值得安装呢?什么速度提升能期待?

    当然,这要看情况。如果您的服务器管理来处理传入流量,并保持低响应时间,你可能不会觉得有必要对性能的工作。但是,与大量的流量较大的网站上的每个小优化步骤可以计数。实施OpCache可能让你每秒钟处理更多的请求,并返回响应更快相比没有字节码缓存引擎。由于OpCache是??很容易安装和配置,你不会花都设置了太多的时间。

    如果你正在寻找一些OpCache性能测试,你当然应该读上实施这个缓存引擎的AppDynamics的文章。在他们的测试OpCache的安装降低14%网站的平均响应时间。从6%变化的web应用程序的不同的动作的响应时间,以多达74%的减少。如在文章中所解释的,不同的代码部分可以从执行字节码缓存引擎受益更多或更少。我建议你仔细阅读文章,并检查那里你可以得到最高的性能提升。

    如果您正在寻找关于OpCache性能的一些其他资源,检查fideloper.com和massivescale.com的例子。这两项测试报告的有关安装OpCache后减少50%的响应时间。

    2.我已经使用APC缓存。我应该迁移到OpCache?

    我认为你应该。有一对夫妇的优势,可以使OpCache比APC更好的解决方案。

    首先,在APC缓存不会使用最新的PHP版本。它完全不支持PHP 5.5。它不建议在PHP 5.4安装,要么,因为已经报道了这样的配置可能会导致该打破整个应用程序执行错误。刚检查PHP加速器维基百科的文章或者这个堆栈溢出线程得到一些细节。

    OpCache,但是,与PHP 5.5捆绑所以它肯定会与此PHP版本。从5.2到5.4 - 作为书面文档中,它也可以与老版本PHP安装。一般来说,OpCache更加紧密地绑定到PHP本身比其他字节高速缓存引擎 - 这可能会导致更频繁的更新,减少错误(在这里阅读详细内容)。

    需要记住的唯一重要的事情,当迁移APC到OpCache是??,后者不能正常工作作为数据缓存引擎的事实。如果您已经实施APC,你可能会使用其apc_add()和apc_fetch()函数,其作为一个数据缓存服务的接口。 OpCache仅仅是一个字节码缓存引擎,所以它不会提供类似的功能。如果你打算从APC到OpCache开关,记得要考虑此限制。请记住,如果你想保持APC用户级功能,还有的APCu项目(非常感谢奥斯卡麦利在评论指点一下)。

    3.如何检查是否OpCache真的缓存我的文件?

    如果您已经安装并配置OpCache,你可能会发现,重要的是控制哪些PHP文件实际上是被缓存。整个缓存引擎在后台工作,并且是透明的访客或Web开发人员。为了检查其状态,你可以使用这两个功能是提供这样一个信息:()opcache_get_configuration和opcache_get_status()。幸运的是,有一对夫妇的获取所有OpCache配置和状态数据,并以友好的方式显示它准备scrips的。你并不需要编写自己的任何代码,只需拿起工具,一个从下面这些:

    - Opcache控制面板,

    - 由拉斯姆斯·勒多夫opcache状态,

    - OpCacheGUI由彼得Hordijk,

    - 安德鲁Collington opcache贵。

    在我的项目中,我使用具有的所有功能,我需要opcache贵脚本。要检查是否缓存引擎正常工作,只是看在百分比在opcache桂页的“总览”标签。如果内存使用率和命中率的值大于零,则意味着OpCache被缓存的PHP代码和缓存文件被用来处理请求。要查看正在缓存,只是导航标签“文件使用”特定PHP文件的列表。通过看文件列表,以确保您的项目里面的文件了cached.4。是否有任何框架,具体的配置,我应该设置?

    基本上,OpCache引擎应该是透明的,你作为一个作家的代码。这意味着你可以把你想要的任何代码在你的应用程序(它与你使用的PHP版本的作品)和OpCache应妥善处理。但它会工作只有在OpCache配置以正确的方式设置。一个错误的高速缓存引擎配置可以打破你的整个网站。

    首先,可能在每个典型项目,你将不得不确保opcache.use_cwd选项设置为真正。启用此设置意味着OpCache引擎将着眼于完整的文件路径同名文件进行区分。将其设置为<代码>假将导致具有相同基名称的文件之间的碰撞。

    另外还有一点是在工具和使用说明的框架很重要的设置。如果您使用Doctrine,Zend框架2或PHP单位,记得要opcache.load_comments和opcache.save_comments设置设置为真正。在结果,从您的文件文档的意见也将被包括在OpCache生成的预编译代码。此设置可以让你没有任何中断,与注释工作。

    如果你的项目是基于一个特定的框架或Web应用程序,它总是一个好主意,检查有关OpCache配置任何指引文件。例如,存在一种用于这里的Moodle一个示例配置。

    5.我把我的应用程序配置中的PHP文件。我可以防止它被缓存?

    如果您的项目包含被改变的频率比其他文件,你可以从缓存中排除。与包含为您的网站配置指令PHP文件打交道时,这可能是特别方便。如果你被缓存保存它们,你可以肯定的是每次改变放于这样的文件将立即显示在您的应用程序可见。

    OpCache允许你指定一个包含所有将不被高速缓存引擎处理的路径黑名单文件。设置opcache.blacklist_filename指令后,只是把适当的文件列表中您所指定的路径。该文档页面包含了如何从缓存中排除特定文件的一些例子。

    6.我如何可以同时运行一个发展,其中启用OpCache在一台服务器上的生产环境?

    如果你的服务器运行的几个应用程序,你可能愿意只在他们中的一些使用OpCache。开发和测试网站是具有字节码缓存启用,其中这种环境的例子是不可取的,并可能导致弊大于利。

    幸运的是,可能有一个项目启用和禁用另一个OpCache,所有的一台服务器上。要做到这一点,首先需要通过设置opcache.enable指令<代码>真正在<代码>的php.ini 文件,以使OpCache在全球层面。然后,如果你不想用相同的指令设置为<代码>假的使用中ini_set()函数的使用在你的项目中的一个字节码缓存,只需禁用它。所以,首先你需要全局启用缓存,然后你可以在某些项目上禁用“本地”。你不能做相反的事情 - 用的ini_set()是不允许启用缓存。

    设置<代码> opcache.enable 到<代码>假在项目中的顶级文件将禁用缓存,同时保持它在其他地方。

    概要

    我希望这组常见的问题和答案给你们如何在PHP应用程序中使用OpCache一些实用信息。如果你有关于这个问题的其他问题或意见,请随时向下方张贴。您也可以通过谷歌加我联系。


    以上信息来源于网络,如有侵权,请联系站长删除。

    TAG:了解 Opcache

  • 上一篇:最好的编程语言,以在2014年学习:年中更新
  • 与“了解OpCache”相关的资讯
  • 更透明度和理解为机器行为
  • 建筑机器更好地了解人体目标
  • 了解营销的4 PS:营销混合解释 - 数字营销博客
  • 介绍集线器:学习现代的开发技能
  • 学习角5,2018年6月发布