2012-01-05 30 views
0

我编写了一个.NET 4.0 Web服务,用于从应用程序数据存储中发回数据。基本上它正在访问远程的结构化文本文件。数据请求平均需要10-14秒。在过去的3-4周内,服务器现在需要大约4分钟才能访问相同的数据。在尝试删除网络时,我将访问的文件移到了Windows 2003上的IIS 6.0服务器上,并且它仍然需要大约4分钟才能返回数据。关于在Windows 2003上对IIS 6进行故障排除的想法

我有一个.NET 4.0 Web服务调用访问数据文件的COBOL访问代码。访问代码和文件都没有改变。

该问题似乎是IIS服务器。我可以从我的开发人员工作站运行此Web服务以访问远程应用程序服务器上的文件,它在10-14之间运行。

性能:Web服务在处理器方面的利用率不会超过50%。我没有仔细看过磁盘,但服务器大部分时间都处于闲置状态。

我正在寻找有关确定从哪里开始排除故障的建议。

感谢, 马丁

+0

你究竟在哪里看到这个问题? Web服务请求是否需要4分钟才能返回数据,或者需要花费很长时间才能消耗并呈现结果? – AaronS 2012-01-05 17:02:30

+0

当我浏览代码时,对COBOL系统的调用似乎占用了大部分时间。我不明白的部分是如何在这台计算机上从10-14秒到4分钟。它具有权限,因为如果让流程运行,它会返回我要求的数据。 我通过Chrome的控制台观察客户端,看看它何时实际响应。另外,我运行Fiddler2来查看响应何时回来。 – Martin 2012-01-05 20:07:09

+0

您的生产服务器是在防火墙后还是在DMZ中?在DNS问题上,您可能会出现某种网络滞后。 – AaronS 2012-01-05 20:43:55

回答

0

我不是一个COBOL专家,只是发表我发现的内部我的COBOL开发者之一。

我运行了一个我不熟悉的网站,并且发现它正在移动大量数据。 COBOL开发人员为了让代码作为原型而工作,让“连接”在大量数据中移动。一开始,这些大块数据中有13个在内存中移动。我不记得确切的错误消息,但Profiler提到要么在虚拟内存中使用太多,要么应用程序使用重载分页。

我们重新编写了应用程序,它使用的内存少得多,并且似乎在不到2-3秒的时间内发回数据。

Martin