我正在运行PHP版本5.3.5并在Codeigniter 2.1.3中开发一个网站 我现在正在努力提高网站性能,我发现缓存可以像APC或memcached或Zend OpCache一样使用。
在codeigniter中,我使用$this->output->cache(43829);
进行缓存。
操作的输出已缓存,并且每次请求都返回相同的输出。 但我有动态页面,所以这个缓存不起作用。我正在研究APC如何用于操作代码缓存并用于增强网站性能。
APC是否将opecode存储在缓存中,zend引擎可以将其用于执行执行,而无需在每个请求上重新生成opecode? p>
答案 0 :(得分:1)
PHP 5.3已经过了将近2年的时间,并且APC不适用于当前的PHP版本。 PHP 5.5+附带Zend Opcache,它具有同等功能。只需将服务器升级到当前(且安全)的PHP版本,就可以在不需要做任何其他事情的情况下提高性能,而不是试图让您的网站使用旧技术。
答案 1 :(得分:0)
操作的输出已缓存,并且每次请求都返回相同的输出
虽然它比重新生成页面更快,但它仍远未达到最佳状态。在这种情况下最好使用缓存反向代理。
我正在研究如何将APC用于op [e]代码缓存
您的问题意味着您认为自己尚未使用操作码缓存。我建议你的第一个停靠点是看它是否已启用。您可以从phpinfo()的输出中看到这一点,或者检查function_exists('apc_sma_info');
APC不太可能为未来的PHP版本配置。 ZOP +是操作码缓存,目前捆绑了PHP 5.4+。它适用于5.3,但需要一些努力。蒂姆说,5.3已经过时了,应该升级,这是正确的。
请注意,ZOP +还包括一个优化器(而且,令人担忧的是,它似乎对许多框架的性能产生了重大影响)。 ZOP +的性能更依赖于缓存大小而不是APC - 但即使使用APC,错误地调整缓存大小也不会产生良好的结果。