我是Powershell的新手,正在尝试配置以下预热脚本以针对多个域运行:
$Site = "http://172.28.36.202:1156/"
$minTime = 250
@($Site) | % {
Write-Host "Warming up $($_)"
Do {
$time = Measure-Command {
$res = Invoke-WebRequest $_ -Headers @{host="mydomain.com"}
}
$ms = $time.TotalMilliSeconds
If ($ms -ge $minTime) {
Write-Host "$($res.StatusCode) from $($_) in $($ms)ms" -foreground "yellow"
}
} While ($ms -ge $minTime)
Write-Host "$($res.StatusCode) from $($_) in $($ms)ms" -foreground "cyan"
}
让它按预期工作,但需要能够在多个URL处触发代码块。我有大约25台服务器需要预热。
关于最佳方法的任何提示吗?谢谢
答案 0 :(得分:0)
创建一个文本文件,其中包含您需要的所有项目,并将其读入以根据需要进行处理。
$Site = Import-Csv -Path PathToCsvFileWithYourList
这样,您可以按原样保留脚本,而当您需要为更多或更少的服务器点执行此操作时,只需更改此文件即可。