我有一个.net应用程序,它使用了多种技术和组件,即WCF,C#,Web API。应用程序可以很好地扩展到一定程度,但之后它会开始快速而严重地破坏。
快速示例:在250个用户连接到系统后,它崩溃了,无法处理任何其他连接/用户。
根据上述技术或IIS,我们可以提出一些建议来提高可扩展性的指示。
非常感谢这方面的任何帮助。
答案 0 :(得分:0)
您可以开始配置您的系统,无需 PerfMon 或 XPerf ,并检查崩溃的原因。它可能是RAM的使用。多个活动会话可能会导致内存不足。
也许CPU可能无法提供如此大量的同步请求,或者您只是没有网络带宽。
一旦找到崩溃原因,您就可以开始优化代码(例如减少内存占用,优化长时间功能等)。
答案 1 :(得分:0)
这里有两种方法,您可能需要同时查看两种方法。
首先是处理WebAPI和WCF上的请求所花费的时间。使用RedGate Performance Profiler或其他类似工具来确定每个请求花费最多时间。
然后看看
接下来是查看你的硬件。例如,如果以Azure为例,选择更大的实例及更多实例,Azure将提供负载平衡。如果您不使用Azure,那么设置负载平衡可能会有点困难,但这是唯一的其他扩展方式。
首先使用性能工具检查代码,然后查看硬件是否不能更快。但是250个用户不应该是一个问题,因此我认为你的代码可以在性能方面得到提升。