asp.net-mvc - Azure 网站,中型实例,2 核,多少个应用程序池?

标签 asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 azure azure-web-app-service

由于潜在的性能问题,我刚刚将测试实例从小型“标准”(1 核,1.75GB RAM)实例升级到中型“标准”实例(2 核,3.5GB RAM),这似乎是快速击中。我们确实存在应用程序池回收和必须重新预热某些代码模块的问题。因此,对于中等实例,我担心我可能会因为需要处理多个池而使我们的应用程序池问题变得更糟?

那么我的中型网站实例上会存在多少个应用程序池,是一个还是多个?

提前非常感谢。

P.S 我认为其他性能问题与使用有效的进程内 session 配置有关

    <sessionState mode="InProc" timeout="30">
       <providers>
          <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
       </providers>
    </sessionState> 

我意识到这是问题的外围,但它可能有助于提供一些背景信息。

最佳答案

无论虚拟机大小如何,每个站点都可以获得 1 个应用程序池。应用程序池基本上是 IIS 术语,用于描述如何对站点进行进程管理(例如:身份、配额、进程数量等)。这实际上是一个您不必担心的实现细节。

对于冷启动问题,您是否考虑过为您的网站启用Always On 设置?

您还可以添加应用程序初始化条目来预热您想要的任何代码路径。这就是 web.config

中的样子
<applicationInitialization doAppInitAfterRestart="true" >
   <add initializationPage="/" />
   <add initializationPage="/Page2" />
   <add initializationPage="/Page3" />
</applicationInitialization>

并考虑使用staged publishing重新发布网站时避免冷启动

关于asp.net-mvc - Azure 网站,中型实例,2 核,多少个应用程序池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509938/

相关文章:

ASP.NET ActionFilters 和继承

asp.net - 允许零日期时间 mysql 连接器 web.config Entity Framework

c# - TextBoxFor 上货币的 String.Format

asp.net-mvc - 在MVC View 上显示图像

asp.net-mvc - 我应该如何在 Mvc 5 中路由 POST 和 GET

asp.net-mvc - asp.net mvc 4 中移动设备的显示模式和 ipad 的桌面 View

jquery - 如何调用 RedirectToAction 刷新 View ?

asp.net - 在 ASP.NET MVC 4 Controller 中设置 header

带有 MySQL 的 ASP.NET MVC 4 Web API 不断抛出 DataReader Open 异常

c# - 如何使用 JavaScriptSerializer 强制驼峰式大小写?