小编mat*_*mmo的帖子

事实证明,在 Azure 中使用应用程序初始化仍然非常缓慢

我的假设是,如果我在 Azure 中打开 IIS8 应用程序预热,那么我的所有站点在加载时都会相当即时,但情况并非如此

所以,基本上,我已经打开preloadEnabled并将 设置startModeAlwaysRunning,使用:

public class WebRole : RoleEntryPoint
{
    public override void Run()
    {
        using (var serverManager = new ServerManager())
        {
            foreach (var application in serverManager.Sites.SelectMany(c => c.Applications))
            {
                application["preloadEnabled"] = true;
            }

            foreach (var appPool in serverManager.ApplicationPools)
            {
                appPool["startMode"] = "AlwaysRunning";
            }

            serverManager.CommitChanges();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我还使用以下启动任务禁用了 IIS 应用程序池的回收和定期 IIS 重新启动:

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00

%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.recycling.periodicRestart.time:00:00:00
Run Code Online (Sandbox Code Playgroud)

在我的每个站点中,我都在 web.config 中添加了以下内容:

<system.webServer>
    <applicationInitialization skipManagedModules="true"> …
Run Code Online (Sandbox Code Playgroud)

iis azure

7
推荐指数
1
解决办法
2707
查看次数

标签 统计

azure ×1

iis ×1