在我的点燃集群中,有两个服务器模式节点包含数据网格,八个客户端模式节点包含计算网格。
计算网格每20至30秒调用约40个任务(通常任务在20秒内终止。)并且日志存储在点火缓存中(持久性为真)。
任务信息由memcached客户端放入点火集群时,由“默认”缓存发生的缓存事件(EVT_CACHE_OBJECT_PUT)调用该任务。
在memcached客户端添加任务信息后,它每2秒轮询一次任务信息状态(从“默认”缓存中获取状态信息),当状态更改为“终止”时,客户端终止。
以下是我的线程池设置
池:
rebalanceThreadPoolSize:4
publicThreadPoolSize:256
systemThreadPoolSize:32
dataStreamerThreadPoolSize:16
stripedPoolSize:16
我的服务器有24个内核和32GB内存。
我的线程池大小设置是否正确?
我经常遇到线程饥饿消息,例如'检测到可能的线程池饥饿(在最后30000ms没有完成任务,系统(或很少公共)线程池大小足够大?)'
有没有人可以提供建议?