gpt4 book ai didi

c# - IIS 不缩放,但 cpu 也没有达到最大值,为什么会变慢

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:46 24 4
gpt4 key购买 nike

我有一个客户端使用 websockets 连接到 IIS 的应用程序。IIS 然后为 IPC 创建本地代理以连接到可执行文件。

所以 IIS 有点像中间人。

随着越来越多的连接进入,整个架构变得越来越慢。

所以某处存在瓶颈。

有趣的是,CPU 并没有超过 25% 的使用率。我没有对 CPU 实用程序设置任何限制。

问题不在于代码作为一个函数,之前需要 100 毫秒,现在需要 1000 毫秒。并且这些功能不受网络限制。简单的图像转换。我还会检查我是否阻塞了锁或其他东西。

加入系统的用户越多,这些图像转换就会发生得越多,使用的 CPU 就越多。但是 cpu 利用率再次没有变化,停留在 25% 左右

由于即使是最简单的函数的执行速度也会变慢,我猜测它可以使用多少 CPU 的应用程序池是有限制的。我再次检查了 AppPool 设置,没有限制。

关于如何解决这个问题有什么建议吗?

最佳答案

听起来像是通过代码或系统设置进行的 CPU 关联设置。

您可以为每个应用程序池设置处理器关联(因此限制为 1 个处理器),这将有效地限制在该池中运行的应用程序使用一个处理器。这将限制 w3wp 进程只使用一个处理器,因此如果你有一个四核 CPU,它将以 25% 的速度运行。您可以在这里找到有关通过 IIS 设置更改此设置的详细信息:this:http://www.iis.net/configreference/system.applicationhost/applicationpools/add/cpu

您也可以检查任务管理器并右键单击该进程并单击“设置亲和性..”并查看您是否将 IIS 限制为一个核心。

希望对你有帮助!

关于c# - IIS 不缩放,但 cpu 也没有达到最大值,为什么会变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15938498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com