Az CLI 首次请求在无状态计算机中需要更长的时间

问题描述 投票:0回答:1

我有一台无状态计算机,通过以下方式在映像(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

在运行时向该计算机发出请求时(即,带有映像的新虚拟机接受请求。),从 KeyVault 获取机密的 az cli 命令需要花费近 50 秒的时间,而如果我在获取机密之前执行 Az CLI 命令,并且执行获取秘密然后需要几秒钟。但第一个确实需要 50 秒。我通过以下方式获取秘密

az keyvault secret show --name $secretName --vault-name $vaultName --query "value"

所以我认为第一个 AzCLI 调用需要很长时间。

我可以做些什么来减少运行时所花费的时间吗?

azure azure-devops azure-cli
1个回答
0
投票

只是因为它是无国籍的。它在不活动一段时间时会休眠,然后需要几次才能再次运行。有一些方法可以提高性能:

  • 配置机器休眠所需的时间。
  • 为请求配置超时,并在超时的请求上重新尝试一次或两次。
  • 让机器始终处于开启状态。
  • 您可以花钱买一台更好、功率更高的机器,这样它就能更快地恢复到运行状态。
  • 或者这可能是我用来触发机器的非法方式,即在发送主请求之前调用不返回请求(飞行前)或身份验证请求。所以请确保main可以成功触发,并且用户已通过身份验证
© www.soinside.com 2019 - 2024. All rights reserved.