webtet 发表于 2018-12-21 07:23:24

千万并发压测环境php5.4.34+opcache环境整合

  公司在做高并发压测,fastcgi,apc,ocache,opcache,
  几经考虑,最终考虑用opcache,因为作为 zend-opcache合并为php5.5的分支版本,xcache的前途堪虑,
  在环境的安装上竟然折腾了半个下午没有搞定,这个作下问题记录。
  先说安装,
  http://php.net/manual/zh/opcache.installation.php
  官网的说明,因为 5.2 5,3 5,4也可以用pecl来安装,试了下倒是安装成功了但启动后也没有报错,但info信息中一起没有,安装过程如下 :
  sudo yum installphp54w-pecl-zendopcache
  sudo pecl install zendopcache-7.0.3
  ;extension=opcache.so
  extension=/usr/lib64/php/modules/opcache.so
  ;
  opcache.memory_consumption=128
  opcache.interned_strings_buffer=8
  opcache.max_accelerated_files=4000
  opcache.revalidate_freq=60
  opcache.fast_shutdown=1
  opcache.enable_cli=1
  sudo service php-fpm restart
  但启动后一直报错502,fastcgi的日志也只有warning的报错
  WARNING: child 30464 exited onsignal 11 (SIGSEGV) after 22.168325 seconds from start
http://s3.运维网.com/wyfs02/M02/58/7A/wKiom1SyWZfjkZ_pAANRtvuSDmk011.jpg
  

  有点找不到思路, 经过一番检查也没有发现什么问题,遂决定手动编译opcache模块来看看,
中间安装的过程有个安装包提示升级php-common,思绪没理好,竟然把php5.4给卸载了!!简单2到家了~~~不过也因为这个原因才发现了问题,
# 重装PHP环境这里不再鳌述,只是重装后我的环境由因为官网源升级php由原来的php5.4.34变成了5.4.36..
# sudo wgethttp://pecl.php.net/get/zendopcache-7.0.3.tgz
# sudo tar–xv zendopcache-7.0.3.tgz
  # sudo cd zendopcache-7.0.3
  # sudo phpize
  # sudo ./configure    --with-php-config=/usr/bin/php-config
  # sudo make
  # sudo make install
  #sudo sudo service php-fpm restart
  这里有变化的地方: 看README
  zend_extension=/usr/lib64/php/modules/opcache.so#原来这里写的是extension,因为opcahe是由zend管理,so~~~,中文博客害死人.国内的整体IT行业还是显得太过浮躁了,不得不说~//这里啰嗦下经验之谈,,为了速度大家可以找中文博客(这里也建议是那个个人博客或原创博客,运维网,csdn,oschina等大博摊子大后,质量真是下降不少),但为了质量大家一家要找英文文档或者官网.至今从业以来,被中文博客坑的不少也不浅.
  opcache.memory_consumption=128
  opcache.interned_strings_buffer=8
  opcache.max_accelerated_files=4000
  opcache.revalidate_freq=60
  opcache.fast_shutdown=1
  opcache.enable_cli=1
  memcached.use_sasl = 1
  

  这里有警告信息:
   This build of"eAccelerator" was compiled for PHP version 5.4.34. Rebuild it foryour PHP version (5.4.36) or download precompiled binaries.
  查了下eAccelerator和opcache实现的功能类似,只是原理有所区别,考虑到这里php.ini中将eAccelerator相关配置全部注释,再重启 php-fpm
  $ sudo service php-fpm restart
  久违的success,
http://s3.运维网.com/wyfs02/M01/58/77/wKioL1SyWl6hbTwHAABwmrgfbns838.jpg
  # php –v   ###也显示正常
  PHP 5.4.36 (cli) (built: Dec 20 201414:09:43)
  Copyright (c) 1997-2014 The PHP Group
  Zend Engine v2.4.0, Copyright (c) 1998-2014Zend Technologies
with ZendOPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
http://s3.运维网.com/wyfs02/M00/58/7A/wKiom1SyWZeS_beOAAEEdkfvL3E307.jpg

phpinfo()页面也总算显示出来了
http://s3.运维网.com/wyfs02/M00/58/77/wKioL1SyWl7w1vuiAAE691UpRz4676.jpg
  问题是解决了,但非常遗憾的是因为时间的关系没有找到问题根源…
  给大家提供些php5.4.的技术上问题,同时也给大家提供些上网搜索问题的小技巧吧。
  ~~~~~~~~~~~~~~~~~~不得不再吐槽下上传文档的格式乱的一塌糊涂,体验极差,也不知道这块51是否有排计划改造~

  




页: [1]
查看完整版本: 千万并发压测环境php5.4.34+opcache环境整合