DCache
DCache copied to clipboard
压测 KVCacheServer 报错
-
问题出现过程: go 程序调用 WCache_IF.go 进行写压测(通过 tars2go 工具编译 WCache.tars 获得), 未出现系统资源吃紧,在并发请求8k路总请求数10w的情况下,服务出现以下报错: 2019-06-25 15:26:46|15803|ERROR|[TARS]ServantHandle::handle queue timeout:DCache.DCacheApp_oneKVCacheServer1-1.WCacheObj|setKV|1561015603502|600000|3000|1561015606522|10.xxx.137.193:45528
-
一些尝试: 1)总请求数不变,并发调整到7k时,未出现服务异常报错。 2)调整 WCacheObj、Route、Proxy 的最大连接数、队列长度和超时时间等,没有明显改善。
-
系统配置 8核 32G CentOS Linux release 7.2.1511 (Core)
希望能提供些解决思路,是否由某些配置参数制约影响造成的。
该错误是说servant线程处理处理请求不够及时,所以导致请求队列中的请求超时。解决方法:
增加servant线程数量
尝试从 8 - 100 ,逐步修改servants线程,原有报错依然存在: 2019-07-01 15:19:37|3404|ERROR|[TARS]ServantHandle::handle queue timeout:DCache.DCacheApp_twoKVCacheServer1-1.WCacheObj|setKV|1561965574826|600000|3000|156196 5577827|10.80.137.193:36393
且在线程数设为100时,出现新的报错: 2019-07-01 15:19:37|3404|ERROR|[TARS]ServantHandle::handleTarsProtocol [TC_ThreadMutex::lock] pthread_mutex_lock error :Invalid argument
修改的配置如下: