问题描述
我很快将在新的Ubuntu Server 10.04 VPS上建立“简单机器”论坛。论坛软件是用PHP编写的。我将使用Nginx作为Web服务器,并遵循以下指南在其上安装PHP-FPM:http://constantshift.com/install-php-fpm-5-3-2-on-ubuntu-10-04-lucid-lynx/
但是该指南并没有真正说明有关设置Memcached或APC进行缓存的任何内容。在网上浏览,搜索此站点并搜索Stack Overflow之后,我仍然缺少如何成功设置这些设置的答案。
谁能提供信息,指南,链接帮助?非常感激。
最佳思路
首先,确定是否需要memcached。 APC既是”accelerator”(一个操作码缓存,它是相当透明的),又是一个缓存解决方案(提供了需要写入/读取代码的in-memory数据存储)。 memcache只做后者。
通常需要memcached的唯一原因是,如果要运行需要从同一缓存读取/写入的多个服务器。只要您只运行一个Web服务器主机,APC就能解决问题。
安装APC非常简单。
[root@host]# pecl install apc #or sometimes pecl install apc-beta
[root@host]# service php5-fpm start
仅使用APC的默认设置,您可能会立即注意到性能提升。
然后,您可以根据需要进行调整。有关各种设置,请参见the docs。
我见过的最常见的设置是单个段,其大小按对您的系统有意义的方式进行设置:
在php.ini中:
extension=apc.so
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 50M
APC附带了一个方便的apc.php脚本,它将为您提供许多有用的数据(例如,您获得的命中/失败次数)以及漂亮的图表。
次佳思路
Memcached是一台服务器。因此,使用apt-get安装它。install memcached PHP需要扩展才能与memcached一起使用:apt-get install php5-memcache加速器APC由另一个扩展提供:apt-get install php-apc
不要忘记重新启动Web服务器以使用新模块。
我忘了链接:[http://php.net/manual],然后检查memcache,apc
第三种思路
在php.ini中,避免使用apc.shm_size = 50M
,而应使用apc.shm_size = 50
。 M
后缀使PHP忽略更改的大小,尽管PHP会在任何地方向您声明50M
是它使用的大小。你只会被误会。