【发布时间】:2018-10-25 23:22:29
【问题描述】:
我有一个连接到 MySQL 的 IIS 网站。我在网站上有一个链接,可以进行密集计算。触发此链接时,它会使用大约 20% 的 CPU 资源。然后,如果我单击其他链接,其他链接响应非常慢。直到做计算的链路完成,然后其他链路响应时间将恢复。我很好奇为什么只使用了 20% 的 CPU,但其他链接仍然响应缓慢。看来计算环节占用了CPU资源。但是不是不同的环节是并行运行的,一个环节的密集计算应该怎么影响呢?我该如何改进它,或者我应该在我的代码的 IIS 中调整一些东西?
【问题讨论】:
-
计算是什么?
-
从数据库中获取公式表达式,并运行递归函数计算公式。
-
嗯,听起来这个函数的线程优先级太高,拖慢了其他服务器进程。有没有办法在 BackgroundWorker 中运行计算?
-
我已将应用程序池中的“最大工作进程”设置为16。但是,当一个链接正在加载时,另一个链接仍然需要等待。似乎请求没有分派给不同的工作人员?