加速网络服务

时间:2009-09-08 17:33:47

标签: asp.net compact-framework service

我有一个Web服务正在运行,我从我在Compact Framework上编写的桌面应用程序中使用它。

检索8个结果需要13秒,这有点慢。我还希望将来能够获得更多结果。数据库查询运行得很快。

两个问题:如何检测速度减慢的位置?我是否将计时器放在Web服务代码中?

我想检测它是网络还是应用程序代码。 这是我在真实环境中第一次接触网络服务,所以请耐心等待。

我使用asp.net 2.0和c#编写一个简单的Web服务。

5 个答案:

答案 0 :(得分:1)

另一个好的探查者是EQATEC Profiler。我在这里写了一篇文章:http://elegantcode.com/2009/07/02/eqatec-profiler-and-net-cf-profiling-and-regular-net/

它适用于.net CF项目。但是,这将允许您查看在意外的地方是否存在性能问题。

答案 1 :(得分:0)

您已经在添加事件记录的正确轨道上,并在其中包含计时器。请注意,这样做会增加所有时间,因此您需要在追踪罪魁祸首后删除它们。同时考虑多次运行相同的webservice调用而不重新启动连接,这也可能是原因。

-Jay

答案 2 :(得分:0)

一个起点是分析您的Web服务以查看延迟来自哪里

你知道CLR Profiler吗?您可以使用一些工具来查看正在发生的事情

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

答案 3 :(得分:0)

从服务到数据库的数据库连接可能会导致速度减慢。添加计时器应该可以解决问题。如果代码不是太大,您可以查看编码结构,以便明确确定可能的内容在何处变慢。然后添加计时器。你会对事情的发展速度有所了解。

答案 4 :(得分:0)

最大的两个难点是实例化Web服务引用并通过网络传输所有数据。在发生明显错误的任何事情发生之前,我会考虑减少xml大小的方法以及更好地处理Web服务引用的方法。

我所知道的紧凑框架是一个很痛苦的工作。我已经参与了许多网络项目并对您的服务器进行了剖析,记录所记录的时间将会有所帮助。但是,如果所有时间都在服务器上发布响应,那么除了证明您的服务器正在快速运行之外,它不会做更多的事情。

SoapUI是一个非常棒的Java应用程序,用于使用Web服务。它有很多功能,包括时间指标。我会从那开始,看看消费客户端所用的东西需要多长时间。在那里失败的问题,从我上面推荐的内容开始。