.Net web服务,服务数量与服务大小的性能

.Net web服务,服务数量与服务大小的性能,.net,web-services,.net,Web Services,我在一个大型的.NETWinForms项目上工作,该项目具有到SQLServer的Web服务连接。它已经发展到大约有10种不同的服务,按业务功能分组。其中一些服务已经变得相当大,具有许多功能。这方面的最佳实践是什么?在同一个服务中使用数百个函数是否会影响性能?有更多的小型服务会更好吗?它看起来相当容易使用,因为这些服务彼此之间是相当隔离的,而且您通常会立即知道您想要哪种服务 与多次调用只返回少量数据的web方法相比,对返回较大数据集的web服务方法的调用更少更好。经验法则是尽可能避免穿越进程和网

我在一个大型的.NETWinForms项目上工作,该项目具有到SQLServer的Web服务连接。它已经发展到大约有10种不同的服务,按业务功能分组。其中一些服务已经变得相当大,具有许多功能。这方面的最佳实践是什么?在同一个服务中使用数百个函数是否会影响性能?有更多的小型服务会更好吗?它看起来相当容易使用,因为这些服务彼此之间是相当隔离的,而且您通常会立即知道您想要哪种服务

与多次调用只返回少量数据的web方法相比,对返回较大数据集的web服务方法的调用更少更好。经验法则是尽可能避免穿越进程和网络边界。

当您提到调用时,是指WebMethods,还是指对WebMethod的实际调用

我从来没有听说过将所有webmethods组合成一个webservice的瓶颈,但将其拆分成多个服务的一个好处是,您可以将每个webservice放在不同的应用程序池中,这至少可以减少应用程序池的回收


此外,基本Web服务在.NET4.0中已被弃用。它们已被WCF所取代,与旧的Web服务方法相比,WCF显示出一些显著的性能提升。有关两者之间的性能分析,请参阅。

我有相同的呼叫数和相同的数据量。我的问题是,在一个服务中有1000个电话,或者在10个不同的服务中有100个电话,或者在20个服务中有50个电话,这是否更好?我不同意。仅在任何给定时间检索所需的数据。例如,许多小的调用要比一个大的调用为客户返回所有数据要好。@DaveRead,为了得到客观的结果,执行负载测试总是更好的。就我个人而言,我已经进行了许多测试(在我的应用程序中),其中的结论是网络延迟和序列化/反序列化开销使得使用更大的数据集进行更少的调用更为可取。当然,这要视情况而定。