多线程C应用连接Memcached时出现TIMEOUT及No active_fd错误排查求助
多线程C应用连接Memcached时出现TIMEOUT及No active_fd错误排查求助
各位大佬好,我最近踩了个棘手的坑,实在摸不着头脑,想请大家帮忙分析下:
我有一个跑在多台服务器上的多线程C语言应用,需要和多个Memcached节点交互做get/set操作,但最近频繁从Memcache客户端收到TIMEOUT OCCURRED错误。进一步调试客户端日志后,还看到两个关键错误提示:
"No active_fd were found"
"(number_of == 0)"
我特意检查过Memcached的配置,已经把单节点的最大连接数设到350,000了,而且实时查看服务器的文件描述符使用量,一直在180,000-240,000之间,远低于上限。但奇怪的是,这个问题不是单个节点的问题,所有Memcache节点都出现了同样的状况。
下面是其中一个受影响节点的stats命令输出(后续内容被截断):
STAT pid 4071861 STAT uptime 4844901 STAT time 1726827002 STAT version 1.6.14 STAT libevent 2.1.12-stable STAT pointer_size 64 STAT rusage_user 725810.175438 STAT rusage_system 930280.690591 STAT max_conn...
有没有大佬能帮我捋捋可能的原因?或者给一些下一步的排查方向?真的感激不尽!
备注:内容来源于stack exchange,提问作者AjayNavgire
相关产品推荐
相关产品推荐

