晓木虫
学术数据库客户端

PHP7性能优化

 找回密码
 立即注册

QQ登录

微信登录

PHP7性能优化

跳转到指定楼层
PHP7的性能较之前相比提升了很多,但是依然还有优化的空间。
1、开启Zend Opcache
在php.ini文件加入:
  1. zend_extension=opcache.so
  2. opcache.enable=1
  3. opcache.enable_cli=1
复制代码

2、Hugepage  大页内存管理方式

首先在系统中开启Hugepage,然后开启Opcache的huge_code_pages:
  1. sysctl vm.nr_hugepages=512     ##分配512个预留的大页内存
复制代码

cat /proc/meminfo | grep Huge
然后在php.ini中加入:
opcache.huge_code_pages=1
经微科普实际测试,该优化对性能的影响不太明显。

3、Opcache File Cache
开启Opcache File Cache,通过开启这个可以让Opcache把opcode缓存缓存到外部文件中,对于一些脚本,会有明显的性能提升。在php.ini中加入:
  1. opcache.file_cache=/tmp
复制代码
4、减少PHP文件修改检查的频率,加入如下配置:
  1. opcache.validate_timestamps=600
  2. opcache.revalidate_freq=10
复制代码
opcache.validate_timestamps=0时永不检查php文件是否修改,性能最佳,适合于生产环境。
5、安装memcache或Redis扩展
memcache或Redis是php中的内容缓存组件。
6、开启preload预加载
preload仅在php7.4以上版本支持。
  1. [opcache]
  2. zend_extension=opcache.so
  3. opcache.enable=1             # 启用 opcache
  4. opcache.preload=your_preload_script.php  #该脚本用于执行预加载哪些文件
  5. opcache.preload_user=a_user_name     # preload用户,安全考虑禁止root用户
复制代码
一段最简单的预加载脚本如下:
  1. $files = /* An array of files you want to preload */;

  2. foreach ($files as $file) {
  3.     opcache_compile_file($file);
  4. }
复制代码




PHP7性能优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  | 请遵守晓木虫管理条例,不得违反国家法律法规

返回顶部