我正在编写一个ASP.NET webservice(.ASMX),为了测试这个webservice,我正在使用一个客户端应用程序,它创建了100个线程,3个请求/每个线程。当我运行10次迭代时,客户端大约需要60-70秒,这意味着大约3000个请求/分钟,即使我在同一台机器上运行客户端和Web服务,我也无法接管该号码。我检查了机器的所有状态:RAM,硬盘,CPU,......所有状态都可以(非常低负载,CPU低于6%,RAM大约80%免费,......),以及瓶子 - neck是webservice本身。
我尝试过WCF,但它在我的基准测试中表现比ASMX差,而且由于我的截止日期,我不能花太多时间来研究更深入的WCF。
那我怎样才能优化我的网络服务?如何打破ASP.NET webservice的限制?是否可以设法让web服务执行最多5000个请求/秒?
非常感谢。
答案 0 :(得分:3)
除了尝试asynchronous web requests - 虽然有一种更简单的方法 - 我认为它是在Web服务引用的属性中允许生成异步方法(和相关的已完成事件) Web服务代理,。