Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
请教关于apc的配置问题 - Drupal大学 - Drupal问答论坛
首页 / 帖子
请教关于apc的配置问题

我安装了apc后,只在php.ini里增加了如下设置(参考自:http://www.ttlsa.com/php/php-use-apc-include-arrary-file/):

apc.cache_by_default = off

apc.ttl = 7200

apc.user_ttl = 7200

apc.num_files_hint = 1024

apc.shm_segments = 2

apc.shm_size = 128

apc.rfc1867 = 1

apc.max_file_size = 2M


其它的参数我都是用默认的,不知道配置的是否正常?

有几个疑问:

1.apc.cache_by_default = off  // 网上说一定要off,否则所有php都会被cache。这个我不是很理解,但是我只知道,我设置了on后,用ab测试,吞吐率明显上升几倍!所以请教各位这个该怎么根据具体环境取舍?

2.apc.shm_size = 128 通过看richard的介绍:http://www.drupal001.com/2011/09/apc-shm-size-tuning/ 我也差不多理解了这个参数是需要具体环境具体分析的,我想问的是,是否如果我的内存够多,给apc分配的是越大越好吗?


另外drupal的apc模块有必要使用吗?有啥帮助?


2个答案
陈蹊
发布于:2014-07-23 21:34

1. 肯定是on了,否则装APC不就没有意义了。
2. apc.shm_size = 128 个人理解越大越好。不过肯定是有限度。根据自己的内存,设置256或者512都是很正常的值,不过有时太大也没啥用处。通过apc.php可以查看到底使用了多大的内存,根据这个定。

最后一个问题,关于APC,理解点在于:APC本身有两个缓存作用,1、缓存opcode。2、缓存用户的数据。你说的问题1和问题2都是APC的第一个作用,而Drupal的APC模块主要用于第二个作用,用户数据缓存。TA是作为Drupal的一个backend cache模块存在的,这个时候,你认为它跟memcache之类的缓存一样。
当然还是有区别的,apc不支持网络等,这个区别就不再细说了。

发布于:2014-07-24 15:47

虽然apc和memcache在用户缓存方面的性能存在一点点差异,但是为了降低复杂度,不建议同时使用,意思是cache_*表没有必要一部分放apc,一部分放memcache。


apc的内存一般来说够用就好,但要考虑你一台服务器host多少个站点,如果站点多,后期内存占用可能会超出设置,从而是网站性能急剧下降。