【问题标题】:ThreadPool.SetMinThreads as Warm-Up strategyThreadPool.SetMinThreads 作为预热策略
【发布时间】:2017-11-30 22:15:53
【问题描述】:

我的网络应用面临巨大的 CPU 峰值。不是因为流量增加,而是因为负载过重,比如报告出去了。其中一些会导致 CPU 在接下来的 2-10 分钟内从正常的 30% 负载变为 100%... 在这里我将描述为好像我只有 1 台服务器,但我已经看到多达 4 台服务器正在运行疯狂,因为星星的排列让我的大约 50 个客户同时想要一份报告……我托管在 azure 上,我使用自动缩放来处理这些峰值。如果负载超过 70% 超过 2 分钟,则会启动一个新实例。

问题是,因为服务器 1 是 100% 备份的,所以当它启动时,(我希望)负载平衡会将每个新请求定向到服务器 2,直到服务器 1 可以再次处理更多请求。由于这种(预期的)行为,我想知道是否应该提高最小线程数,以便它可以更快地处理即将到来的请求。
我通常的请求速率约为 15/s,所以我认为我应该以至少 50 个开始池...

你们怎么看?

编辑 1 2017-07-13
到目前为止,这一切正常......我会尝试更高的设置,看看会发生什么

【问题讨论】:

    标签: azure iis threadpool scalability


    【解决方案1】:

    这一策略确实证明自己非常有用,并缓解了很多问题。并非我所有的问题都消失了,但错误/超时大大减少了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 2017-04-09
      • 2021-09-03
      • 2019-07-30
      • 2021-07-09
      • 2020-12-29
      相关资源
      最近更新 更多