在Ubuntu服务器上,我有一个使用nginx + fastcgi作为web服务器并使用xcache的drupal站点。 我对configuration感到非常满意,但试图设置memcache希望能够提高网站的速度,但我不知道如何去做。
在安装memcached之后,我将extension = memcache.so添加到/etc/php5/cgi/php.ini,并且看到memcache进程正在运行。
但是,几个小时后,我只是看到更高的服务器负载(平均5而不是通常2),而不是更好的性能。 所以我很欣赏你的暗示,build立memcache。 (我知道我可以使用nginx作为apache的反向代理,并在apache上定义memcache,但是我特别希望以任何方式避免apache)。
这里的游戏很晚,但是如果你只在一台服务器上,memcached会让你放慢速度。 用APC查看本地缓存(或者,在你的情况下,使用xcache的本地缓存)。 我确定Drupal会有这些插件。 我猜你是使用xcache作为操作码缓存,但不使用它的内存缓存功能。
任何类型的缓存不是一个银弹。 就像CyberDem0n提到的,你的应用程序必须足够聪明才能使用它:“缓存这个,不要缓存,从缓存中取出等等等等。
只有在处理多个服务器并需要共享缓存的情况下, Memcached才是最棒的。 如果你有一台服务器,当你只能从内存中获取对象(或者甚至是大多数情况下比网络快的文件系统)的时候,你正在浪费网络通话的开销。
Memcache只是键值存储。 如果你的应用程序不知道如何使用它,这是没用的。
通过将extension = memcache.so添加到php.ini中,您只能在php中启用memcache api。
之后,您必须教导drupal,如何使用memcache,在其中存储一些数据。 我没有真正知道,如何配置Drupal使用Memcache,但我认为,这是非常可能的,并且可能会变得容易。 只要看一下drupal的一些配置文件。