Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET IIS托管的WCF应用程序中,偶尔呼叫需要5秒钟_C#_Wcf_Performance_Iis 6_Windows Server 2003 - Fatal编程技术网

C# 在ASP.NET IIS托管的WCF应用程序中,偶尔呼叫需要5秒钟

C# 在ASP.NET IIS托管的WCF应用程序中,偶尔呼叫需要5秒钟,c#,wcf,performance,iis-6,windows-server-2003,C#,Wcf,Performance,Iis 6,Windows Server 2003,我们有一个低响应时间至关重要的应用程序。 除了每周有几次随机通话需要5000毫秒才能完成,而其他通话则需要200毫秒,其他一切都正常。调用是在前几秒钟进行的,因此它与正在卸载的DLL无关。时间是随机的,不涉及应用程序池回收 IIS所用时间:5000ms ASP.NET\请求执行时间:5000ms 代码中的计数器:200ms(在开始和执行时记录) 似乎在我们的代码被命中之前,呼叫被卡在了某个地方。我们监视perf计数器,当发生这种情况时,调用不排队,也没有等待时间 IIS配置已使用自定义proce

我们有一个低响应时间至关重要的应用程序。 除了每周有几次随机通话需要5000毫秒才能完成,而其他通话则需要200毫秒,其他一切都正常。调用是在前几秒钟进行的,因此它与正在卸载的DLL无关。时间是随机的,不涉及应用程序池回收

IIS所用时间:5000ms

ASP.NET\请求执行时间:5000ms

代码中的计数器:200ms(在开始和执行时记录)

似乎在我们的代码被命中之前,呼叫被卡在了某个地方。我们监视perf计数器,当发生这种情况时,调用不排队,也没有等待时间

IIS配置已使用自定义processModel值(如中所述)进行了优化,以提高吞吐量

我们监控了磁盘、网络、内存和CPU,一切正常

什么会导致这样的峰值(IIS线程分配可能?) 除了明显的ASP.NET、.NET CLR、系统、线程之外,还有什么其他计数器可以帮助我们

配置: Windows 2003 SP2(托管在VMWare ESX上)

IIS 6


.NET Framework 3.5

我将从本文开始

特别是节流调节部分:

为了在高端服务器上实现高吞吐量,您需要 需要进行以下节流调整:

  • 增加ASP.NET线程限制,以允许更多并发工作线程处理请求
  • 增加WCF服务限制以允许更多并发请求

你有没有试过追踪服务和客户,看看是否有安全谈判或类似的事情让你慢下来


请参阅:

这听起来很愚蠢,但我遇到了虚拟机的随机问题,这些问题在可比较的物理硬件上都没有出现。它只限于一台机器吗?你能试一下真正的硬件吗?不,它发生在所有的虚拟机上。我们无法访问真正的硬件,但无论如何我都会尝试对这条路径进行隐身。好的。我不是一个“老人”,但有时我真的认为虚拟机被高估了。我见过的每一个大的商业场景都会在一台真正的机器上自行清理。很棒的文章,谢谢。但我们已经在WCF级别执行了这些配置。不过,我将研究ASP.Net级别,我不确定我们是否做到了。而且,发生这种情况时,没有其他调用。在这种情况下,我将不再关注您的服务,而是在调用代码之前关注WCF通道所依赖的内容,这会让我感到惊讶。例如,您使用什么作为安全保护?在代码执行之前是否有Active Directory或STS往返?有些东西在2-3天后过期,5秒后超时,刷新,然后工作。。。我诚实的意见是,如果这种情况持续更长时间,你应该考虑将操作系统升级到服务器2008 R2。由于跟踪正在生产中,而且每2-3天发生一次,因此使用跟踪将很困难。跟踪文件将是巨大的。。。