TYPO3运行超过1小时后,网站响应时间不稳定,memcached


TYPO3 Website response time unstable with memcached after running for over 1 hour

我有几个网站有时会变得非常慢(响应时间超过25秒)。在这种缓慢的请求之后直接进行的请求在大多数情况下通常是快速的(没有浏览器和清漆缓存)。这种情况发生在任何页面上,我不能用一个Web服务器(和memcached)复制它,但我可以用两个Web服务器进行设置。

在php5-fpm-ww.slowlog中,我看到了很多堆栈跟踪,它们大多以memcache结尾。刷新memcached后,站点再次快速运行约1小时,之后再次出现慢速页面。

对于我的TYPO3 6.2.15堆栈,我在机架空间上使用了3台服务器:2台Web服务器和一台NFS服务器。Web服务器已共享memcached(版本1.4.14(Ubuntu))。堆栈的其余部分由Varnish、Nginx和php5-fmp组成,它们都在ubuntu-trusty 14.04上运行。对于数据库,我使用rackspace MySql数据库。

我将以下表存储在memcached中:cache_hash、cache_page、cache_pagestion、cache_rootline、extbase_datapfactory_datamap、extbase_object、extbase_reflection、extbase_typo3dbbackend_tablecolumns、extbase_Typo3dbbackup_queries

$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$tableCache]['backend'] = 'TYPO3''CMS''Core''Cache''Backend''MemcachedBackend'; $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$tableCache]['options']['servers'] = $memcachedServers; $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'][$tableCache]['options']['defaultLifetime'] = 86400;

目前,我已经切换到filecache,这会使网站速度慢一点,但响应时间稳定。

有人经历过这种问题吗?你解决了什么问题?

根据TYPO3文档,memcached不应用于任何使用标记的缓存。

由于上述缺点,memcached后端应该小心使用,或者在缓存完整性不重要的情况下使用,或者缓存根本不需要使用标记。目前,memcache后端实现了TagableBackendInterface,因此该实现确实允许标记,即使不建议将该后端与重标记一起使用。

此外,memcached应该用于具有可预测大小的缓存:如果达到了允许memcached使用的最大内存,则memcached将开始驱逐数据。

出于这些原因,您应该避免将memcached用于cache_hash、cache_pages和任何快速增长并使用标记的缓存。