我们这里有一个旧的WSE3 ASP.NET Web服务,该Webs服务定义了一种方法 GetFileContent(string fileName). 。它的作用是检查带有传递名称的文件的预定义路径,读取其内容,base64-condode it it,然后将编码的内容发送回响应。

不幸的是,整个过程需要(变化)年龄。我编写了一个控制台客户端应用程序,该应用程序可以按需进行基准测试:有时2.5megs在12秒内转移,有时需要40秒。昨天昨天16秒内另一次27meg-file运行,今天花费了1分钟。

我检查了更多的事情:

  • CPU和交换性能不值得一提(在监视时,机器看起来很无聊)

  • 网络速度就足够了。

  • 客户发送请求后立即执行方法调用。

  • 读取和编码平均需要500毫秒的大文件,因此在请求后也立即执行返回语句。

  • 另一个客户(基于Java)甚至更慢,所以我想 可以 成为客户问题。

有人知道接下来要看这个讨厌的人吗?感觉像IIS麻烦了,真的...

预先感谢...

有帮助吗?

解决方案

首先,只是为了确保:希望您知道WSE已经过时了。

其次,WSE基于ASMX技术。这有大量要求的问题,因为它将在通往服务的路上复制四次或更多次传入数据。多么大的数据,假设在该服务启动该服务之前,它至少要花费至少四倍的内存。

解决方法是升级到WCF。

其他提示

我相信IIS没有麻烦。我怀疑有时会花费更多的时间来解决IP,如果给出了共享路径,则需要花费更多的时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top