WebService方法有时需要太长时间

时间:2013-02-07 07:26:08

标签: asp.net sql-server wcf monitoring administration

我是Asp.net的初级开发人员并且完成了一项有趣的任务。我正在托管一个Web服务。当客户端调用将某些数据保存到数据库的方法时,有时需要很长时间才能成功。通常 ~5秒有时 30 + sec 。我真的不知道从哪里开始。

对我来说,似乎可能是2 reasons

造成的
  1. 客户端网络连接不良。
  2. 我的数据库已超载
  3. 但我怎样才能证明或找到真正的原因?

4 个答案:

答案 0 :(得分:0)

运行WCF跟踪和数据库跟踪。在他们两个之间你应该能够发现它是否是一个。

答案 1 :(得分:0)

尝试profiling on SQL方检查查询执行情况。此外,您可以在服务器上使用wireshark来查看要发送的请求以及在一段时间内对它们产生什么影响。检查服务的代码是否有循环(可能有一些递归检查检查某些参数,如果该参数不是预期的值 - 冻结并再次检查)。

答案 2 :(得分:0)

一种选择是在客户端点击它时调试Web服务代码。

如果需要很长时间才能达到调试点,那么客户端就会出现问题。

如果它快速点击调试,那么单步执行代码,看看哪个步骤需要很长时间。

答案 3 :(得分:0)

当谈到在2003年以后部署和托管Windows服务器时,可以安装AppFabric,它具有监控和排除IIS上的Web服务和Web应用程序的强大功能。

可以通过IIS管理中的UI以及web.config配置监控。并且比默认的IIS跟踪功能更好。

如何实现它和我的意思在这里有更好的描述:

http://msdn.microsoft.com/en-us/library/ee677277.aspx

当数据库特别重载读取操作时,还可以使用AppFabric分布式缓存。

首先检查您的请求执行了多长时间。然后决定配置文件或不数据库。尝试以这种方式设计您的体系结构以避免在保存后阻塞,可能是异步响应,或者客户端在保存完成时并不总是等待。客户可以稍后询问保存状态,您将不会阻止他。无论如何,要了解有关架构或所需要求的更准确,更详细的信息。