php使用apc为include大文件数组提速

  • A+
所属分类:PHP

最近在重写某系统, 有个地方需要include一大数组文件,差不多有1.2M,PHP程序每次跑到这块代码都需要从硬盘读取内容,站点访问量达了势必会造成过量的IO. 考虑使用redis,memcache等KV存储,但是担心IO过大造成网络阻塞。那安装到本地呢,每台都需要安装岂不是太麻烦了.于是觉得尝试将数组存入本机内存中.eaccelerator与APC二选一,eaccelerator 0.6.5.1之后的版本不支持eaccelerator_put方法,索性直接使用apc,如何安装以及如何配置APC我就不详细讲解了. 例子很简单,废话太多,进入正题.

APC简介

APC全称Alternative PHP Cache是一个免费开源的php缓存插件,它的目标是提供一个自由,开放和强大的框架用于缓存和优化PHP中间代码.

APC配置、php.ini

APC VS include方法

大文件数组内容:
arrFile.php

include文件代码片段

APC加速文件代码片段

include与apc性能对比
全部代码如下

测试截图如下:

apa优化include

apc与include速度比较

最后

代码很简单,简单的将apc当做memcached来使用,相比include时间要缩短2倍左右,最慢的情况下时间也缩短一倍. 下回测试redis存储大数组需要多少时间. 本文不是告诉大家非要使用apc、使用apc读写大数组不一定是最好的方法,但是这个方法或许大家的工作可以用上,这边抛出的仅仅是一个思路,望大家可以用上.

参考文章

PHP 加速模块xcache:http://www.ttlsa.com/linux/php-extension-xcache/

PHP加速模块eacclerator:http://www.ttlsa.com/php/install-eaccelerator-on-php/

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0   引用   2

    来自外部的引用: 2

    • php apc配置详解
    • eaccelerator安装配置 PHP加速 网站加速模块