长话短说:我上个月切换到 Azure,将他们的 SQL 数据库用于我正在测试的移动应用程序(我是唯一的测试人员)。 iPhone 应用程序很简单:我点击 iPhone 中的应用程序,它会显示来自 Azure SQL 数据库的行列表。
初始列表加载速度非常快(不到 2 秒)。不幸的是,我错误地选择了每月 350 美元以上的“预配置”计算层。
所以我回到 Azure 并将其更改为“Serverless”,起价为 4.78 美元/月。
但现在我注意到,每当我在一段合理的时间没有使用后使用该应用程序时,该列表需要永远加载(如果加载的话)。举例来说,距离我上次打开该应用程序已经过去了 2 天。我刚刚打开它,列表加载需要 15 秒。我再次打开它,现在加载速度更快了。
由于我是唯一的测试者,似乎当我使用一段时间后,数据库会“醒来”。
“无服务器”的更改是否导致了这种延迟?
“无服务器”的更改是否导致了这种延迟?
是的,几乎毫无疑问。 冷启动是无服务器风格架构的一个众所周知的缺点。
微软在所有专门与其“无服务器”服务产品相关的文档中都普遍记录了这一点。从上面的链接:
无服务器数据库自动恢复和自动暂停的延迟通常为 1 分钟自动恢复,延迟期满后 1-10 分钟自动暂停。