zoukankan      html  css  js  c++  java
  • PHP7 开启Zend Opcache

    PHP7 开启Zend Opcache

    作为PHP这10年来最大的版本与性能升级,PHP7在多次的测试中都表现出很夸张的性能提升,然而,为了让它能发挥出最大的性能,需要手动开启PHP自带的opcache使其性能加速(默认是关闭的)。对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法。

    什么是zend opcache?

    Zend OPcache通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。

    当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache 的目地是避免重复编译,减少 CPU 和内存开销。如果动态内容的性能瓶颈不在于 CPU 和内存,而在于 I/O 操作,比如数据库查询带来的磁盘 I/O 开销,那么 opcode cache 的性能提升是非常有限的。但是既然 opcode cache 能带来 CPU 和内存开销的降低,这总归是好事!

    现代操作码缓存器(Optimizer+,APC2.0+,其他)使用共享内存进行存储,并且可以直接从中执行文件,而不用在执行前“反序列化”代码。这将带来显着的性能加速,通常降低了整体服务器的内存消耗,而且很少有缺点。

    开启opcahe

    修改php.ini 搜索 : “[opcache]”
    增加以下代码(或者在原有基础上改一下):

    1.  
      zend_extension = php_opcache.dll
    2.  
      opcache.enable=1
    3.  
      opcache.enable_cli=1
    4.  
      opcache.memory_consumption=128
    5.  
      opcache.max_accelerated_files=2000

    几个重要参数的作用说明:

    1.  
      opcache.enable=1 //开启opcache
    2.  
      opcache.enable_cli=1 //是否在CLI(即命令行时)启用opcache
    3.  
      opcache.memory_consumption=128 //共享内存的大下 可以根据项目大小和服务器配置自行调整
    4.  
      opcache.max_accelerated_files=2000 //最大缓存文件个数

    设置好后,重启apache即可。打开phpinfo观察变化:
    证明 zend opcache 已经成功开启。经过测试效果明显(因为减少了编译次数也减少了磁盘io开销)

  • 相关阅读:
    HLG 1522 子序列的和【队列的应用】
    POJ 3273 Monthly Expense【二分】
    HDU 4004 The Frog's Games 【二分】
    POJ 2001 Shortest Prefixes【第一棵字典树】
    POJ 2823 Sliding Window【单调对列经典题目】
    HDU 1969 Pie 【二分】
    POJ 3125 Printer Queue【暴力模拟】
    POJ 3250 Bad Hair Day【单调栈】
    字典树【模板】
    验证码 Code
  • 原文地址:https://www.cnblogs.com/maidongdong/p/11301279.html
Copyright © 2011-2022 走看看