pfkfengyun 2014-01-20 04:05 采纳率: 0%
浏览 4227

求助:iis下的C# webservice部分请求不知道哪里卡住了,cpu很高,处理时间很长

一个app的服务器端,使用的是C# webservice,部署在IIS下。service业务比较简单,基本就是操作另一个远程的数据库。

客户端反映调用service请求时,有时候会很久才返回(十几秒甚至几十秒,直到超时)。查看iis的“工作进程”,发现时不时会出现一些请求“经过的时间”很长,正常的请求只要毫秒级就能处理完,但是有些请求时间很不正常,如下图所示:
CSDN移动问答

当高峰期的时候,这类请求就会全部堆积在一起,直到连接池爆满。这个时候就基本不能提供服务了如下图:
CSDN移动问答

当请求正常的时候,机器cpu一般在5%以下,但是当出现上面的时间很久的请求,cpu会很快飙升到50%~90%,无论请求数有多少(一两个也会)。

已基本排除数据库的问题。出现这种情况的时候,数据库没有任何阻塞或者死锁的线程,查看数据库统计各条sql的执行时间也很正常(毫秒或微秒级)。

另外,我在服务器每个service接口(总共10个左右)的入口和返回之前,加入时间点,统计每个service调用的时间,但是发现所有的请求时间都不超过1s。所以工作进程里显示的使用时间很可能根本是webservice代码运行使用的时间。

搞了好几天了,还没找到具体的原因。希望各位前辈指点一下可能是哪里的问题,可以从哪些方面尝试解决?万分感激!

  • 写回答

1条回答

  • liuxingfffff 2014-01-20 08:35
    关注

    您查看的图片来自网易相册。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog