【发布时间】:2017-08-12 19:38:50
【问题描述】:
目前,我们在使用向 Redis 实例发出大量请求的应用程序作为应用程序缓存时遇到问题。
我们收到了关于不同操作的各种超时。像下面这样:
System.TimeoutException: Timeout performing GET MyKey, inst: 2, mgr: Inactive,
queue: 6, qu: 0, qs: 6, qc: 0, wr: 0, wq: 0, in: 0, ar: 0,
IOCP: (Busy=6,Free=994,Min=4,Max=1000),
WORKER: (Busy=3,Free=997,Min=4,Max=1000)
查阅文档后发现以下文章(https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Timeouts.md)建议我们增加WorkerThreads的数量(默认值= 4)
我们怎样才能找到最小/最大wokerthreads的最佳数量? Redis 建议从 200-300 开始。但是当我们与默认值 4 相比时,这似乎很高。
将数字设置得太高时可能会遇到什么问题?为什么这个默认值低到 4?
【问题讨论】:
标签: multithreading redis timeout