azure - 向 Azure REST API 请求新部署后,如何预配(和计费)云服务?
问题描述
我正在使用 Azure REST API 创建、部署和启动具有数百个实例的云服务(经典)(托管在 Azure 存储中的 cspkg)。我注意到 Azure 用于预配和启动请求的实例的时间确实是异构的。第一个实例可能会在 6-7 分钟内开始,但最后一个实例可能需要 15-20 分钟,比第一个实例长约 10 分钟。所以我的问题是:
这是预期的行为吗?如果是这样,这背后的逻辑是什么?我可以做些什么来加快速度吗?
Azure 如何对此进行计费?它是否计算自部署云服务的初始时间以来的实例总数?还是考虑到每个实例的具体时间?
更新:我一直在测试更多的场景,我发现了一个令人费解的惊喜。如果我通过简单的等待几分钟(使用 timeout 命令运行 .bat 文件)替换我的云服务实例应该运行的所有进程,那么所有实例几乎同时启动(最快和最慢实例之间大约 15 秒)。这不仅仅是运气和随机行为,我已经证明这种行为是可重复的,我什至无法解释根本原因。
解决方案
几周前我也检查过,启动时间,取决于机器的大小,如果它有更多的资源,那么启动时间会更快,而且如果有任何错误,启动时异常虚拟机将回收,直到它可以成功启动。我用谷歌搜索了它,但没有找到任何解决方案来加快速度,所以我认为不可能对启动时间做任何事情。每次部署某些东西时,它都会在后台创建一个 Windows Server,并启动它并在其上部署您的包,并将您的 Web 角色放在负载均衡器后面,这就是为什么需要这么长时间,因为很多东西都是正在发生。
计费部分对于经典云服务也不是最好的,即使在启动和回收期间,甚至在关闭时,您都必须为它付费,所以如果您完成更新,您应该从您的暂存槽或缩小它,因为即使它被关闭,您也会为此付费。
推荐阅读
- excel - 条件格式 - 从渐变填充列中逐行应用整个表格的颜色
- python - 编辑字典列表中的值的最有效方法是什么?
- android - Firebase 存储存储 url 与参考
- python - 如何在python中设置预定义的周期数?
- unity3d - 在制作小地图后,我的玩家在 Unity 中缓慢移动
- python - 比较numpy数组逐元素设置逐元素结果
- python - Kivy:AttributeError:“超级”对象没有属性“__getattr__”
- javascript - 如何通过按钮在最近使用的文本框中单击光标插入文本?
- php - yii\base\InvalidArgumentException: Job # 必须是 JobInterface 实例而不是 __PHP_Incomplete_Class
- java - 尝试运行 Ballerina 代码时,在 Ubuntu 上未正确定义 JAVA_HOME?