有没有人对使用Microsoft的WCF构建Web服务的能力有多大经验可以扩展到大量用户?
我想到的水平是1000多个客户端用户连接到一组WCF服务,为我们的应用程序提供业务逻辑,这些与数据库交谈 - 类似于传统的3层架构。
是否有任何特定陷阱降低了性能,或者是否有任何设计经验可以实现这种级别的可扩展性?
答案 0 :(得分:15)
为了确保您的WCF应用程序可以扩展到所需的级别,我认为您可能需要调整您对服务必须满足的统计数据的思考。
您提到服务“1000+客户端用户”,但要衡量您的服务是否可以在该级别执行,您还需要有一些估计的使用数据,这将帮助您计算一些更简单的统计数据,例如每个请求的数量您的应用需要处理的第二个。
刚刚完成WCF项目的工作,我们在测试硬件上设法每秒获得400个请求,这与我们每天发出300个请求的预期使用模式相结合,表明我们每天平均可以处理100,000个用户(假设一天中有一个平坦的使用图表)。
此外,由于将WCF服务代码设置为无状态是相当常见的,因此通过添加其他框来扩展实际的WCF代码非常容易,这意味着系统的整体性能更有可能受到您的限制。业务逻辑和持久层比WCF要好。
答案 1 :(得分:3)
答案 2 :(得分:2)
你可以首先看到的最重要的四件事(除了拥有良好的服务代码)可能是与以下相关的项目:
他们确实默认设计WCF是安全的,因此默认值非常有限。