首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CakeSession::_startSession -在Elasticache上速度很慢

CakeSession::_startSession -在Elasticache上速度很慢
EN

Stack Overflow用户
提问于 2017-02-20 08:02:01
回答 2查看 723关注 0票数 18

我们运行的是ElastiCache2.9,并使用CakePHP集群进行会话存储(通过Memcached存储)。

我们已经按照这里的建议禁用了PHP的内置会话垃圾收集:https://tideways.io/profiler/blog/php-session-garbage-collection-the-unknown-performance-bottleneck

session.gc_probability = 0

我们还在CakePHP的缓存配置中将probability设置为0。

然而,正如New Relic所报道的那样,我们仍然有一些问题,偶尔我们会遇到CakeSession::_startSession中的主要减速问题:

Elasticache集群没有显示任何指标,这表明存在问题(除非有某些指标我不能正确理解)。

对如何诊断这个原因有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2017-03-17 19:52:50

您需要以解耦的方式进行调试,以找出是哪一层导致了问题。

它可以是Cake、AWS基础设施、网络延迟...

运行这个小PHP脚本,并告诉我们所用的时间。

代码语言:javascript
复制
// memcache
$m = microtime( true );
$memcache_obj = new Memcache;
$memcache_obj->connect('myhost.cache.amazonaws.com', 11211);
printf('%.5f', microtime( true ) - $m) ;

// memcached.
$time = microtime( true );
$m = new Memcached();
$m->addServer('<elasticache node endpoint>', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
printf('%.5f', microtime( true ) - $time) ;

如果时间合适,问题就是蛋糕。

然而,老实说,我相当确定问题出在ElastiCache集群上。

试着指向一个节点的端点,而不是ElastiCache集群的端点,让我知道它是如何进行的。

票数 0
EN

Stack Overflow用户

发布于 2020-01-02 21:51:10

我们也有类似的问题,在将会话移动到亚马逊网络服务的Memcached (EC2和Elasticache/Memcached)后,网站变得很慢。以下更改修复了该问题。

代码语言:javascript
复制
php.ini - session.lazy_write = Off
memcached.ini - memcached.sess_locking = Off

现在,网站运行良好,速度符合预期。

但我想知道关闭这些设置是否有任何负面影响?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42334448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档