河北富宇环保设备有限公司
河北富宇环保设备有限公司是专业从事UV光氧,VOC催化燃烧设备,布袋除尘器,小型除尘器,脉冲除尘器,单机除尘器,旋风除尘器,湿式除尘器及除尘器骨架,除尘器布袋,电磁脉冲阀,脉冲控制仪,星型卸料器等。
www.chuchenhb.comPHP 5.5版本带有内置缓存引擎 - OpCache - 其中存储在存储器中的预编译脚本的字节码。如果你熟悉APC或了XCache,你就已经知道了如何这种发动机的工作。由于每个PHP脚本是在运行时被编译,执行时间的一部分被用于转化人类可读代码转换成可以由所述机器可以理解的代码。像OpCache,APC或XCache将字节码缓存引擎做它只有一次 - 一个特定的PHP文件的第一个执行过程中。然后预编译脚本被存储在内存中,这应导致性能提升你的PHP应用程序。
在网上,你会很容易找到很多教程涵盖所有OpCache安装和配置步骤的(它是默认启用的5.5,但可以安装为旧版本的扩展名)。阅读下面的文章中找到答案的一些关于这个特定缓存引擎不同的工作实践方面的典型问题。
当然,这要看情况。如果您的服务器管理来处理传入流量,并保持低响应时间,你可能不会觉得有必要对性能的工作。但是,与大量的流量较大的网站上的每个小优化步骤可以计数。实施OpCache可能让你每秒钟处理更多的请求,并返回响应更快相比没有字节码缓存引擎。由于OpCache是??很容易安装和配置,你不会花都设置了太多的时间。
如果你正在寻找一些OpCache性能测试,你当然应该读上实施这个缓存引擎的AppDynamics的文章。在他们的测试OpCache的安装降低14%网站的平均响应时间。从6%变化的web应用程序的不同的动作的响应时间,以多达74%的减少。如在文章中所解释的,不同的代码部分可以从执行字节码缓存引擎受益更多或更少。我建议你仔细阅读文章,并检查那里你可以得到最高的性能提升。
如果您正在寻找关于OpCache性能的一些其他资源,检查fideloper.com和massivescale.com的例子。这两项测试报告的有关安装OpCache后减少50%的响应时间。
我认为你应该。有一对夫妇的优势,可以使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项目(非常感谢奥斯卡麦利在评论指点一下)。
如果您已经安装并配置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.use_cwd选项设置为真正代码>。启用此设置意味着OpCache引擎将着眼于完整的文件路径同名文件进行区分。将其设置为<代码>假代码>将导致具有相同基名称的文件之间的碰撞。
另外还有一点是在工具和使用说明的框架很重要的设置。如果您使用Doctrine,Zend框架2或PHP单位,记得要opcache.load_comments和opcache.save_comments设置设置为真正代码>。在结果,从您的文件文档的意见也将被包括在OpCache生成的预编译代码。此设置可以让你没有任何中断,与注释工作。
如果你的项目是基于一个特定的框架或Web应用程序,它总是一个好主意,检查有关OpCache配置任何指引文件。例如,存在一种用于这里的Moodle一个示例配置。
5.我把我的应用程序配置中的PHP文件。我可以防止它被缓存?
OpCache允许你指定一个包含所有将不被高速缓存引擎处理的路径黑名单文件。设置opcache.blacklist_filename指令后,只是把适当的文件列表中您所指定的路径。该文档页面包含了如何从缓存中排除特定文件的一些例子。
6.我如何可以同时运行一个发展,其中启用OpCache在一台服务器上的生产环境?
幸运的是,可能有一个项目启用和禁用另一个OpCache,所有的一台服务器上。要做到这一点,首先需要通过设置opcache.enable指令<代码>真正代码>在<代码>的php.ini code>文件,以使OpCache在全球层面。然后,如果你不想用相同的指令设置为<代码>假 code>的使用中ini_set()函数的使用在你的项目中的一个字节码缓存,只需禁用它。所以,首先你需要全局启用缓存,然后你可以在某些项目上禁用“本地”。你不能做相反的事情 - 用的ini_set()是不允许启用缓存。
设置<代码> opcache.enable 代码>到<代码>假代码>在项目中的顶级文件将禁用缓存,同时保持它在其他地方。
概要