美文网首页
php启用Opcache进行性能调优

php启用Opcache进行性能调优

作者: MSNULL | 来源:发表于2018-08-14 18:07 被阅读104次

php5.5以上版本已经内置了zend OpCache。通过配置zend opCache模块,将预编译的php字节码加载到共存内存中,省去了每次加载php文件和编译php代码的开销,可以极大提高php性能。

opcache模块常用配置如下

#配置响应时间
sed -i 's/max_execution_time = 30/max_execution_time = 0/' /usr/local/php/lib/php.ini 

#配置post大小
sed -i 's/post_max_size = 8M/post_max_size = 150M/' /usr/local/php/lib/php.ini 

#配置上传文件大小
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 100M/' /usr/local/php/lib/php.ini 

#设定错误输出级别
sed -i 's:error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT:error_reporting = E_ALL:' /usr/local/php/lib/php.ini 

#启用php性能优化 

#启用Zend Optimizer优化开关
sed -i 's:;opcache.enable=0:opcache.enable=1:' /usr/local/php/lib/php.ini 

#共享内存的大小, 总共能够存储多少预编译的 PHP 代码(单位:MB),推荐128M
sed -i 's:;opcache.memory_consumption=64:opcache.memory_consumption=128:' /usr/local/php/lib/php.ini 

#暂存池中字符串的占内存总量.(单位:MB), 推荐 8
sed -i 's:;opcache.interned_strings_buffer=4:opcache.interned_strings_buffer=8:' /usr/local/php/lib/php.ini 

#最大缓存的文件数目 200  到 100000 之间,推荐 4000
sed -i 's:;opcache.max_accelerated_files=2000:opcache.max_accelerated_files=4000:' /usr/local/php/lib/php.ini 

#;内存“浪费”达到此值对应的百分比,就会发起一个重启调度
.sed -i 's:;opcache.max_wasted_percentage=5:opcache.max_wasted_percentage=5:' /usr/local/php/lib/php.ini 

#2s检查一次文件更新 注意:0是一直检查不是关闭,推荐 60
sed -i 's:;opcache.revalidate_freq=2:opcache.revalidate_freq=2:' /usr/local/php/lib/php.ini 

#是否保存文件/函数的注释   如果apigen、Doctrine、 ZF2、 PHPUnit需要文件注释,推荐 0
sed -i 's:;opcache.save_comments=1:opcache.save_comments=0:' /usr/local/php/lib/php.ini 

#打开快速关闭, 打开这个在PHP Request Shutdown的时候会收内存的速度会提高
sed -i 's:;opcache.fast_shutdown=0:opcache.fast_shutdown=1:' /usr/local/php/lib/php.ini

opCache其他一些配置说明

#是否在CLI(即命令行时)启用opcache;
opcache.enable_cli=0

#如果置为1,则将当前路径加入到文件key中,以避免可能产生的同文件名的文件key冲突;
opcache.use_cwd=1

#开启文件时间戳验证;
opcache.validate_timestamps=1

##允许或禁止在 include_path 中进行文件搜索的优化;
opcache.revalidate_path=0

#允许覆盖文件存在(file_exists等)的优化特性;
opcache.enable_file_override=0

#定义启动多少个优化过程;
opcache.optimization_level=0xffffffff

#启用此Hack可以暂时性的解决”can’t redeclare class”错误.;
opcache.inherited_hack=1

#启用此Hack可以暂时性的解决”can’t redeclare class”错误.;
opcache.dups_fix=0

#设置不缓存的黑名单;
opcache.blacklist_filename=

#通过文件大小屏除大文件的缓存.默认情况下所有的文件都会被缓存;
opcache.max_file_size=0

#由于计算校验值有损性能,这个指令应当紧紧在开发调试的时候开启.;
opcache.consistency_checks=0

#从缓存不被访问后,等待多久后(单位为秒)调度重启;
opcache.force_restart_timeout=180

#错误日志文件名.留空表示使用标准错误输出(stderr);
opcache.error_log=

#将错误信息写入到服务器(Apache等)日志;
opcache.log_verbosity_level=1

#内存共享的首选后台.留空则是让系统选择;
opcache.preferred_memory_model=

#防止共享内存在脚本执行期间被意外写入, 仅用于内部调试.;
opcache.protect_memory=0

#仅允许路径是以指定字符串开始的 PHP 脚本调用 OPcache API 函数。默认值为空字符串 "",表示不做限制。;
opcache.restrict_api=

#在 Windows 平台上共享内存段的基地址。 所有的 PHP 进程都将共享内存映射到同样的地址空间。使用此配置指令避免“无法重新附加到基地址”的错误;
opcache.mmap_base= ;
opcache.file_cache= ;
opcache.file_cache_only=0 ;
opcache.file_cache_consistency_checks=1 ;
opcache.file_cache_fallback=1 ;
opcache.huge_code_pages=1

php启用opcache扩展

  • 编译时php时添加-enable-opcache
    默认opcache加速是关闭的,需要配置为启用。

  • 在php.ini中配置启用

extension=opcache.so
  • 配置opcache参数
#启用Zend Optimizer优化开关
opcache.enable=1 

#共享内存的大小, 总共能够存储多少预编译的 PHP 代码(单位:MB),推荐128M
opcache.memory_consumption=128 

#暂存池中字符串的占内存总量.(单位:MB), 推荐 8
opcache.interned_strings_buffer=8 

#最大缓存的文件数目 200  到 100000 之间,推荐 4000
opcache.max_accelerated_files=4000 

#;内存“浪费”达到此值对应的百分比,就会发起一个重启调度.
opcache.max_wasted_percentage=5 

#2s检查一次文件更新 注意:0是一直检查不是关闭,推荐 60
opcache.revalidate_freq=2 

#是否保存文件/函数的注释   如果apigen、Doctrine、 ZF2、 PHPUnit需要文件注释,推荐 0opcache.save_comments=0 

#打开快速关闭, 打开这个在PHP Request Shutdown的时候会收内存的速度会提高
opcache.fast_shutdown=1

相关文章

  • php启用Opcache进行性能调优

    php5.5以上版本已经内置了zend OpCache。通过配置zend opCache模块,将预编译的php字节...

  • 如何将PHP7达到最高性能

    PHP7 VS PHP5.6 1. Opcache 记得启用Zend Opcache, 因为PHP7即使不启用Op...

  • PHP Opcache配置

    About OPcache configure 接下来,我们需要在 PHP 的配置文件中启用 OPcache(默认...

  • 学习Java VisualVM的使用

    使用 VisualVM 进行性能分析及调优 JVisualVM 进行性能分析及调优 JVM(5):tomcat...

  • PHP方面

    启用OPcache php编译过程. 1.scanning,将PHP代码转换为语言片段(Tokens) 2.Par...

  • spark 优化 分析方向 (性能调优)

    第1章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 可以进行分配的资源如...

  • php性能调优

    1、如何查看php.ini的配置文件位置 php -i | grep "Loaded Configuration ...

  • 调试优化

    神兵利器-Android 性能调优工具 Hugo 在进行 Android 性能调优、减少应用卡顿时,寻找可优化的 ...

  • JVM与性能调优

    性能测试 在了解性能调优之前,首先得知道什么是性能测试,我们的程序怎样的性能表现才需要进行性能调优 一、性能测试概...

  • Kettle性能调优汇总

    性能调优在整个工程中是非常重要的,也是非常有必要的。但有的时候我们往往都不知道如何对性能进行调优。其实性能调优...

网友评论

      本文标题:php启用Opcache进行性能调优

      本文链接:https://www.haomeiwen.com/subject/uhovbftx.html