提问人:eoeo 提问时间:11/13/2023 最后编辑:NoNameLittleeoeo 更新时间:11/17/2023 访问量:53
Az CLI 第一个请求在无状态计算机中需要更长的时间
Az CLI first request takes longer time in a stateless machine
问:
我有一台无状态计算机,该计算机按以下方式在映像(Windows 2022 服务器)中安装了 Az CLI
Write-Host "Installing Azure CLI"
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi;
cmd /c dir AzureCLI.msi
$p = Start-Process -Filepath msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi ALLUSERS=1 /quiet' -PassThru
write-host "Exit code: $($p.exitcode)"
Remove-Item .\AzureCLI.msi
在运行时向这台计算机发出的请求中(即,带有映像的新 VM 接受请求),az cli 命令从 KeyVault 获取机密需要将近 50 秒,而如果我在获取机密之前执行 Az CLI 命令并执行获取机密,则需要几秒钟。但第一个确实需要 50 秒。我通过以下方式获取秘密
az keyvault secret show --name $secretName --vault-name $vaultName --query "value"
所以我认为第一个 AzCLI 调用需要很长时间。
我能做些什么来减少运行时所花费的时间吗?
答:
0赞
giang0304
11/13/2023
#1
仅仅因为它是无国籍的。它在一段时间不活动时休眠,然后需要几次才能再次运行。有一些方法可以提高性能:
- 配置计算机休眠所需的时间。
- 为请求配置超时,并在超时请求上重新尝试一次或两次。
- 让机器始终开启。
- 您可以花钱购买一台功率更高的更好的机器,以便它可以更快地恢复到运行状态。
- 或者这可能是我用来触发机器的一种非法方式,即在发送主请求之前调用无返回请求(预检)或身份验证请求。因此,请确保 main 可以成功触发,并且用户已获得身份验证
评论
0赞
eoeo
11/13/2023
机器始终处于开启状态
评论