Windows Azure在前几个请求上变慢

97l*_*ave 9 azure

当前几个用户访问该网站时,性能非常慢.

Windows Azure安装程序使用IIS 7.0,因此预热初始化模块不是一个选项.

有没有办法"热身"网站,以便这种性能速度不是问题?

我已经看过这个:在Windows Azure中控制应用程序池空闲超时,但不确定当Azure每29小时回收一次应用程序池时,这是否仍然会导致问题.

更新:

部署是1个包含多个网站的Web角色.是否可以为此进行预编译?或者使用下面其中一个答案中建议的网络角色?

编辑:

正如@Igorek在下面提到的关于使用Web角色的说法,这些角色在Role的启动期间自动加载,这在我的设置中是可能的.有没有人有如何实现这一目标的例子?

mat*_*mmo 5

我已经看过这个:在Windows Azure中控制应用程序池空闲超时,但不确定当Azure每29小时回收一次应用程序池时,这是否仍然会导致问题.

Azure回收应用程序池时不会导致问题,但您也可以添加到该启动任务以防止/增加应用程序池的回收时间.

试试这个:

在您的ServiceDefinition:中定义任务:

<Startup>
    <Task commandLine="startup\disableTimeout.cmd" executionContext="elevated" />
</Startup>
Run Code Online (Sandbox Code Playgroud)

然后让您的cmd文件包含以下代码(只需将其放入记事本,然后另存为.cmd文件):

%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)

要确保的两件事:

1)确保使用ANSI编码保存文件.
2)当您将该脚本添加到Visual Studio中时,请确保在属性中选择"始终复制"作为"复制到输出目录"选项.