gpt4 book ai didi

asp.net - Wcf ThreadPool和异步

转载 作者:行者123 更新时间:2023-12-03 13:18:10 24 4
gpt4 key购买 nike

我有一个asp.net网页,正在向另一台服务器上的WCF服务发出7个异步请求。两个盒子都干净,没有安装其他任何东西。

我还将web.config中的maxconnections增加到20。

我在系统中进行了一次通话,页面在800毫秒内返回。总而言之,我认为线程池不堪重负,因为一旦负载不足,即使两个四核处理器都以20%的CPU负载运行并且所连接的sql server运行,我每秒也无法收到超过8个请求。 to会在每次调用10毫秒内返回查询。

我已将服务行为更改为concurrency.multiple,但这似乎无济于事。

任何想法的人。

最佳答案

这里可能有许多不同的因素在起作用。谨此评论,更改服务上的实例化模型的影响为零(此处为大IF),则可能是服务的“瓶颈”在上游。要么在Web服务器上,要么在客户端负载生成器上。

您需要审查几个方面的调优内容:客户端,Web服务器,WCF服务服务器-假设中间没有网络设备。选择一个目标,朝另一个目标努力。由于我已经在假设它不是服务,因此我将从客户端开始,朝着wcf服务的方向努力。

客户
哪台计算机正在驱动Web服务器上的负载?一台笔记本电脑?台式机?专用的测试代理还是共享的?出于此测试的目的,充当负载生成器的客户端也容易受maxConnections 限制的,因为这是客户端设置。

客户端产生负载的CPU使用率是多少?可能是测试驱动程序无法产生足够的负载来插入这些功能?您可以在测试中添加其他测试客户端吗?

Web服务器
在ASP.NET Web服务器上的machine.config中,system.net/processModel元素是什么样的?尝试设置autoConfig = true。这将允许配置根据其运行的计算机的“大小”自动调整大小。

WCF服务
查看WCF服务以了解可能正在起作用的任何限制默认值,并进行适当调整。请参阅MSDN上的ServiceThrottlingBehavior

如果您进行任何更改,请告诉我们您可能会观察到的任何行为更改(如果有)!

关于asp.net - Wcf ThreadPool和异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1267448/

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