服务器跑的Windows Server 2012R2,PHP v5.3.28。并不自带操作码缓存,因此使用wincache加速PHP执行。不过winCache自带User-data-cache缓存,这样导致Discuz默认选取其当作数据缓存。我这个实际情况里面出现了wincache 导致forum.php异常加载时间长。分析问题出在数据缓存失效了。可能是wincache的bug。后来发现鸟哥的yac无锁缓存单机情况下可能是比较理想的,因此使用yac做数据缓存同时配合wincache的操作码缓存。
用的是discuz X3.3,memory缓存中有yac的文件,但是默认不支持,折腾一番得到下面的结果:
(1)搜索discuz_memory.php,在构造函数中增加
$this->extension['yac'] = extension_loaded('Yac');
完整代码如下:

public function __construct() {$this->extension['redis'] = extension_loaded('redis');$this->extension['memcache'] = extension_loaded('memcache');$this->extension['apc'] = function_exists('apc_cache_info') && @apc_cache_info();$this->extension['xcache'] = function_exists('xcache_get');$this->extension['eaccelerator'] = function_exists('eaccelerator_get');$this->extension['wincache'] = function_exists('wincache_ucache_meminfo') && wincache_ucache_meminfo();//在此添加yac的支持$this->extension['yac'] = extension_loaded('Yac');
}

(2)同时在其init函数搜索foreach(array('apc', 'eaccelerator', 'xcache', 'wincache') as $cache),增加一项yac
完整代码如下:

public function init($config) {$this->config = $config;$this->prefix = empty($config['prefix']) ? substr(md5($_SERVER['HTTP_HOST']), 0, 6).'_' : $config['prefix'];if($this->extension['redis'] && !empty($config['redis']['server'])) {$this->memory = new memory_driver_redis();$this->memory->init($this->config['redis']);if(!$this->memory->enable) {$this->memory = null;}}if($this->extension['memcache'] && !empty($config['memcache']['server'])) {$this->memory = new memory_driver_memcache();$this->memory->init($this->config['memcache']);if(!$this->memory->enable) {$this->memory = null;}}//接上面所说我不用wincache的数据缓存了,因此删去了wincacheforeach(array('apc', 'eaccelerator', 'xcache', 'yac') as $cache) { if(!is_object($this->memory) && $this->extension[$cache] && $this->config[$cache]) {$class_name = 'memory_driver_'.$cache;$this->memory = new $class_name();$this->memory->init(null);}}if(is_object($this->memory)) {$this->enable = true;$this->type = str_replace('memory_driver_', '', get_class($this->memory));}
}

请注意使用之前正确添加了扩展。

Discuz WinCache + yac相关推荐

  1. Centos7 分离部署lnmp+discuz+wordpress 及Redis

    一.环境 软件版本 Nginx: 1.16.1 Php: 5.6 Mariadb: 5.5.6 Redis: 5.0 Discuz: 3.4 Wordpress: 5.4.2 二.流程(思路) 1.先 ...

  2. IIS_FastCGI+php5.3+wincache+memcached+ZendLoader

    2019独角兽企业重金招聘Python工程师标准>>> 安装 IIS+FastCGI+php5.3+wincache+memcached+ZendLoader+mysql+phpmy ...

  3. Discuz提速优化技巧

    Discuz是国内最受站长们欢迎的建站源码之一,除了开源以外还有着很强大的后台,即便是没有建站基础和不懂代码的站长也能很快的架设出一个论坛,甚至是门户. 一个网站的加载速度除了影响你在搜索引擎里的排名 ...

  4. DISCUZ 之论坛首页加载过程,FORUM相关

    可能有理解不透彻的地方,欢迎回帖拍砖,会多加改进 1.加载class_core.php可查看全局数据初始化的另外一个笔记 2.功能模块中哦跟你的mod对应了source/forum中指定的文件. 缓存 ...

  5. Discuz! X2.5 添加自定义数据调用模块(简单方法)

    转:http://521-wf.com/archives/46.html Discuz! X2.5 添加自定义数据调用模块(简单方法) Discuz!X系列的diy功能还是相当不错的,在对其进行二次开 ...

  6. discuz,ecshop的伪静态规则(apache+nginx)

    discuz(nginx): (备注:该规则也适用于二级目录) rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topi ...

  7. php 使用curl模拟登录discuz以及模拟发帖

    <?php $discuz_url = 'http://127.0.0.1/discuz/';//论坛地址 $login_url = $discuz_url .'logging.php?acti ...

  8. Discuz!的cookie机制

    最近在做Discuz!的插件,需要用到cookie,一直觉得奇怪的一个问题,Discuz!大量使用了cookie,但是我在编写插件的时候如果不加入session_start函数cookie就无法使用, ...

  9. Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛

    Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运 ...

最新文章

  1. javaScript 工作必知(三) String .的方法从何而来?
  2. 泊松分布与正太分布在指导武器理论方面的使用
  3. 皮一皮:被看穿的既视感...
  4. 数据结构-----二叉树,树,森林之间的转换
  5. Servlet - Listener、Filter、Decorator
  6. oracle 10g 扩表空间,Oracle 10g 表空间管理(一)
  7. silvaco 学习笔记 2——自定义材料
  8. 解决re.search()时出现excepted string or buffer问题
  9. 选手投票html,选手投票网页制作
  10. 高考新生,天津独立院校转设:南开大学滨海学院转设并入南大本部
  11. 【华为 OJ 】等差数列
  12. Beer Barrels
  13. 【解决方案】远程教育视频直播/点播如何实现教学直播+录播+在线考试?
  14. CUDA安装时提示:The following process must be stopped before the CUDA Visual Studio Integrated
  15. Java编程基础之Set和Map的简单使用
  16. 带孔的打印纸怎么设置_oki打印机打印带孔纸如何缩小纸张间距
  17. 基于Springboot实现在线打印平台
  18. 【TypeScript】的类型缩小
  19. PHP下载m3u8视频及解析下载ts资源文件
  20. MIDI 文件格式分析

热门文章

  1. 理光有邮件服务器吗,理光复合机扫描怎么设置? 理光复合机扫描到邮件的设置方法...
  2. 2002-2019年300个地级市专利获得情况
  3. 农村金融创业,一场九死一生的游戏
  4. Echarts渲染行政区划,实现聚焦高亮交互
  5. 小米手机发现修改app的icon,icon改变不了。
  6. 使用Plotly绘制常见5种动态交互式图表
  7. TicWatch+android studio开发之ADB调试
  8. html5桌面通知自动关闭时间,H5 notification浏览器桌面通知
  9. MQTT学习笔记(1)--网络调试助手连接阿里云物联网
  10. vi 编辑写入保存和退出