.net 5应用中docker linux容器中redis连接的性能问题



早些时候,我在IIS中托管了一个dotnet核心web应用程序,该应用程序使用StackExchange与Redis交互。Redis(2.0.601)客户端对于每个请求,它都会生成一个Redis get;当吞吐量超过每分钟1000个Redis调用时,每次交互平均花费1-3ms

现在我们已经在docker Linux容器中托管了相同的应用程序,并且开始面临Redis的延迟当吞吐量超过每分钟1000个调用时,每次Redis交互花费40-70ms

我尝试了以下事情,但问题没有解决升级StackExchange。Redis客户端升级到最新稳定版本验证是否有多个Redis连接(所有Redis交互仅使用一个连接)

在增加线程池中的最小工作线程数后问题得到解决

program.cs -> ThreadPool.SetMinThreads(workerThreads, completionPortThreads);

实际上,我们正在使用的报告工具显示它为延迟,但很少有redis超时发生。增加工作线程后,即使在高负载下,响应时间也在2-3ms以下。

相关内容

  • 没有找到相关文章

最新更新