ASP.NET中异步/等待操作方法的建议MaxPoolSize和maxIoThreads选项

ASP.NET中异步/等待操作方法的建议MaxPoolSize和maxIoThreads选项,asp.net,.net,async-await,Asp.net,.net,Async Await,在我们的ASP.NET应用程序中,所有方法都使用async/await关键字来提高IO性能。 但是,我现在想知道,当使用异步操作方法时,每个CPU核心的建议连接池大小和maxIoThreads选项是多少。maxIoThreads的默认值是20,连接池的默认值是100。还不清楚的是,这两个选项是否仅为运行线程或所有处于“等待”状态的执行代码定义了限制。在ASP.NET上,async和await实际上减少了使用中的线程池线程数。这是正确的,除非您不正确地实现了某些内容(例如,使用Task.Run)

在我们的ASP.NET应用程序中,所有方法都使用
async/await
关键字来提高IO性能。
但是,我现在想知道,当使用异步操作方法时,每个CPU核心的建议连接池大小和
maxIoThreads
选项是多少。
maxIoThreads
的默认值是20,连接池的默认值是100。还不清楚的是,这两个选项是否仅为运行线程或所有处于“等待”状态的执行代码定义了限制。

在ASP.NET上,
async
await
实际上减少了使用中的线程池线程数。这是正确的,除非您不正确地实现了某些内容(例如,使用
Task.Run

从.NET 4.5开始,异步服务器的默认ASP.NET设置是正确的。唯一建议的更改是:

  • 将IIS HTTP.SYS队列限制从1000增加到5000
  • (仅当异步请求依赖于其他HTTP/网络请求时)将ServicePointManager.DefaultConnectionLimit从其默认值(内核数的12倍)增加到
    ServicePointManager.DefaultConnectionLimit

  • 在ASP.NET上,
    async
    await
    实际上减少了正在使用的线程池线程数。这是正确的,除非您不正确地实现了某些内容(例如,使用
    Task.Run

    从.NET 4.5开始,异步服务器的默认ASP.NET设置是正确的。唯一建议的更改是:

  • 将IIS HTTP.SYS队列限制从1000增加到5000
  • (仅当异步请求依赖于其他HTTP/网络请求时)将ServicePointManager.DefaultConnectionLimit从其默认值(内核数的12倍)增加到
    ServicePointManager.DefaultConnectionLimit

  • 在ASP.NET上,
    async
    await
    实际上减少了正在使用的线程池线程数。这是正确的,除非您不正确地实现了某些内容(例如,使用
    Task.Run

    从.NET 4.5开始,异步服务器的默认ASP.NET设置是正确的。唯一建议的更改是:

  • 将IIS HTTP.SYS队列限制从1000增加到5000
  • (仅当异步请求依赖于其他HTTP/网络请求时)将ServicePointManager.DefaultConnectionLimit从其默认值(内核数的12倍)增加到
    ServicePointManager.DefaultConnectionLimit

  • 在ASP.NET上,
    async
    await
    实际上减少了正在使用的线程池线程数。这是正确的,除非您不正确地实现了某些内容(例如,使用
    Task.Run

    从.NET 4.5开始,异步服务器的默认ASP.NET设置是正确的。唯一建议的更改是:

  • 将IIS HTTP.SYS队列限制从1000增加到5000
  • (仅当异步请求依赖于其他HTTP/网络请求时)将ServicePointManager.DefaultConnectionLimit从其默认值(内核数的12倍)增加到
    ServicePointManager.DefaultConnectionLimit

  • ThreadPool
    选项定义了
    ThreadPool
    线程的限制,正如它们的名称所示,当然不是执行的
    async
    方法的数量,或者类似的任何东西。
    ThreadPool
    选项定义了
    ThreadPool
    线程的限制,正如它们的名称所示,当然不是执行的
    async
    方法的数量,或者类似的任何东西。
    ThreadPool
    选项定义了
    ThreadPool
    线程的限制,正如其名称所示,当然不是执行的
    async
    方法的数量,
    ThreadPool
    选项定义了
    ThreadPool
    线程的限制,正如它们的名字所暗示的,当然不是执行的
    async
    方法的数量,或者诸如此类的东西。