一些生活上的琐事

关于APC的一点点小事

APC也就是Alternative php cache(我应该没记错吧。。)
是个php专用缓存

 

和一起流行的memcached相比,虽然没有分布式功能但是单机性能非常强
纯粹单机应用的话速度可以是memcached的几倍,要说为什么想到这个玩意了的话,那是因为raspberrypi的cpu实在是太渣渣了。。。

Raspberry pi

所谓的Raspberry Pi,就是一个ARM11 cpu的一个渣渣小电脑,有点是有GPIO和一些别的借口,再就是便宜,同类相比的话那就是使用者众多,光是google就能让你玩转不少东西,资源也很丰富

 

最近没事用这个小pi连上了一票子i2c的传感器,温度大气压照度啥的,然后利用网络把数据传到数据库里面,顺便把这个东西装上Php和nginx当成一个服务器

但是这个以真的是非常的重

光是用php把从database读出来的数据列表,输出出去就花了0.5秒(通过chrome的F12里面的wait时间来估计的话)

好吧这也许不算长
但是其实光一个网页一次就消耗了大概cpu 0.5秒的时间的确不太好
于是我就想,如果把这个玩意缓存到文件里面如何。

 

用的是codeigniter框架里面的output->cache(min)函数,可是效果不太好,大概只能节约0.1秒

然后我又想到了没时装的一个Memcached ,我把整个网页都缓冲到内存里面了,但就算这样等待时间也是0.3秒左右

最后的希望就是apc了,因为用的是debian系统 很简单的一个apt-get install php-apc就装好了(为什么这样说呢 因为后来在centos6.2的vps装这个蛋都碎掉了)

 

结果真的是非常给力

第一次访问

APC第一次读取

第二次访问

捕获

 

好吧 虽然我觉得我第一次肯定有什么别的东西在一起跑 正常的话大概400ms左右
总的来说差别可是相当之大,毕竟是直接从内存里面读出来的

VPS

因为我的VPS用的系统是CentOS6.2 和Debian不太相同,但是本着照葫芦画瓢的原则用yum 搞个个php-pecl-apc装上

 

结果果然不能用

为什么呢。。。很容易想到 因为我用的Lnmp自动安装包, 果然放了太久都给忘记了,然后随便找了个


后来经过调查发现是因为版本不好,3.1.13 这个版本似乎和CentOS有点不太兼容 只能去SVN最新的code然后编译安装http://svn.php.net/viewvc/pecl/apc/


make check提示还要开启一个php的函数,总的来说还是顺利的吧


用了后主页真的反应快多了,而且wordpress也流畅了,内存真是好东西啊 便宜又好用。。。

尚无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注