我们在这里有一个遗留的WSE3 ASP.Net webservice,它定义了一个方法GetFileContent(string fileName)
。它的作用是检查具有传递名称的文件的预定义路径,读取其内容,对其进行base64编码并将该编码后的内容作为响应发回。
不幸的是,整个过程需要(变化)年龄。我编写了一个控制台客户端应用程序,根据需要对性能进行基准测试 有时2.5Megs在12秒内传输,有时需要40个。另一个27Meg文件在16秒内完成,今天它花了> 1分钟。
我检查的其他事项:
CPU和交换性能不值得一提(在监控时,机器看起来很无聊)
网络速度充足。
在客户端发送请求后立即执行方法调用。
对于大文件,读取和编码平均需要500毫秒,因此返回语句也会在请求后立即执行。
另一个客户端(基于Java)甚至更慢,所以我认为可能是客户端问题。
有没有人知道接下来要去哪看这个讨厌的人呢?感觉像IIS一样麻烦,真的......
提前多多感谢...
答案 0 :(得分:0)
我相信IIS没有问题。我怀疑,如果给出共享路径路径而不是实际路径,有时需要更多时间来解析IP。
答案 1 :(得分:0)
首先,只是为了确保:我希望你知道WSE已经过时了。
其次,WSE基于ASMX技术。这会产生大量请求的问题,因为它会在前往服务的路上复制传入数据四次或更多次。无论你的数据多大,假设它至少需要四倍的内存,那么服务甚至可以实现它。
解决方法是升级到WCF。