我正在编写一个ASP.NET webservice (.ASMX),为了测试这个webservice,我使用了一个客户端应用程序,它创建了100个线程,每个线程3个请求。当我运行10次迭代时,客户端大约需要60-70秒,这意味着大约3000个请求/分钟,即使我在同一台机器上运行客户端和webservice,我也无法接管这个数字。我检查了机器的所有状态: RAM,硬盘,CPU,...所有的状态都是正常的(非常低的负载,CPU低于6%,RAM大约80%可用,...),瓶颈是neck服务本身。
我尝试过WCF,但在我的基准测试中,它的性能比ASMX差,而且由于我的截止日期,我不能花太多的时间来研究更深层次的WCF。
那么我该如何优化我的网络服务呢?如何突破ASP.NET webservice的限制?有没有可能让get服务每秒执行多达5000个请求?
非常感谢。
发布于 2011-04-17 22:11:43
除了尝试asynchronous web requests -尽管有一种更简单的方法-我认为它是在web服务引用的属性中,允许在web服务代理中生成异步方法(和相关的完成事件)。
看看SOAPUI和LOADUI,它们是可以帮助你的工具。
https://stackoverflow.com/questions/5693975
复制相似问题