gpt4 book ai didi

Azure Web角色 "warm up"策略

转载 作者:行者123 更新时间:2023-12-03 12:49:47 25 4
gpt4 key购买 nike

我发现在不活动一段时间后向我们的网络角色发出请求会导致请求非常慢(最多 30 秒)。在初始请求之后,该角色将按其应有的方式执行。

经过多次谷歌搜索后,我发现了四种不同的策略(如下所列):

(a) 在 RoleEntryPoint.OnStart() 中禁用 IIS 空闲超时

public override bool OnStart()
{
using (var server = new ServerManager())
{
server.ApplicationPoolDefaults.ProcessModel.IdleTimeout = TimeSpan.Zero;
server.CommitChanges();
}

return base.OnStart();
}

这也要求该角色运行在较高的级别。

(b) 在 RoleEntryPoint.Run() 中执行常规请求

public override void Run()
{
var localuri = new Uri(string.Format("https://{0}/Help", RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["HttpsIn"].IPEndpoint));

while (true)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(localuri);
request.Method = "GET";
var response = request.GetResponse();
}
catch { }
System.Threading.Thread.Sleep(3000);
}
}

(c) 设置 preloadEnabledstartModeRoleEntryPoint.OnStart()

public override void OnStart()
{
using (var serverManager = new ServerManager())
{
foreach (var application in serverManager.Sites.SelectMany(x => x.Applications))
{
application["preloadEnabled"] = true;
}

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

serverManager.CommitChanges();
}

return base.OnStart();
}

(d) 最后,使用 Azure 的“Always On”(编辑:不幸的是,这仅适用于 Azure 网站!)

Azure Role Always On

我应该执行以下哪些策略?

最佳答案

我们使用了其中几个答案的组合,它对我们来说效果非常好,它们很快就可以更改和测试,但是,它似乎涵盖了所有基础。

public override bool OnStart()
{
ServicePointManager.DefaultConnectionLimit = 12;
if(!RoleEnvironment.IsEmulated)
{
using(ServerManager serverManager = new ServerManager())
{
foreach (var app in serverManager.Sites.SelectMany(x => x.Applications))
{
app["preloadEnabled"] = true;
}
foreach (var appPool in serverManager.ApplicationPools)
{
appPool.AutoStart = true;
appPool["startMode"] = "AlwaysRunning";
appPool.ProcessModel.IdleTimeout = TimeSpan.Zero;
appPool.Recycling.PeriodicRestart.Time = TimeSpan.Zero;
}
serverManager.CommitChanges();
}
}
return base.OnStart();
}

关于Azure Web角色 "warm up"策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com