多线程Web API应用程序

时间:2018-12-24 08:34:25

标签: c# multithreading iis asp.net-web-api performance-testing

我有一个带有React前端的C#Web API应用程序。大多数前端页面会在加载时调用多个API。每个单独的API的性能和响应时间都非常快,足以满足我的应用程序的需求。但是,当我测试应用程序时,页面加载时间会随着我添加更多用户而花费越来越长的时间。我认为这是因为有更多的请求传入,而IIS无法处理例如它的所有线程都很忙,因此处理每个请求都需要更长的时间。

鉴于此,解决方案似乎是减少传入的请求数量。我可以通过将每个页面的页面加载调用合并为单个调用,然后将所有所需数据合并为一个来实现。这意味着将同步获取每个单独的数据,从而再次降低响应时间。鉴于此,似乎最好对组合的API调用进行多线程处理,这样整个请求只需要最长的请求。

总而言之,问题似乎是由于IIS用尽线程来处理请求而导致请求很慢。解决方案是进行多线程的单个API调用。

我的问题是,将多余的线程需求从IIS转移到C#应用程序中,不仅会将同一问题转移到另一个地方吗?例如IIS和C#线程是从同一资源派生的吗?

0 个答案:

没有答案