首页 > 代码库 > 高并发下无法拿到redis connection问题调试与分析

高并发下无法拿到redis connection问题调试与分析

我们组的搜索服务在业务量大时会时不时出现应用拿不到redis 的connection,整个程序的所有线程都卡在如下的位置,导致前端的新请求进不来,搜索服务假死,整个程序无响应。

Thread 4 (Thread 0x7ff97222d700 (LWP 222201)):
#0 0x000000339f2e15e3 in select () from /lib64/libc.so.6
#1 0x00000000009628fc in redisContextWaitReady ()
#2 0x0000000000962e08 in redisContextConnectTcp ()
#3 0x0000000000960293 in redisConnectWithTimeout ()
#4 0x000000000076ab07 in RedisOperator::getRedisConnection() ()

这个问题非常诡异,有时候几个月都不出现一次,有时候几天之内连续出现多次,导致调试很困难。

 

高并发下无法拿到redis connection问题调试与分析