在 Azure 队列上调用 CreateIfNotExistsAsync() 的性能影响



我应该在每次读取/写入 Azure 队列之前调用CreateIfNotExistsAsync()吗?

我知道它会导致 REST 调用,但它是否在队列上执行任何 IO?

我正在使用 Azure 队列的.Net库(如果此信息很重要(。

该方法所做的只是尝试创建队列并捕获 AlreadyExists 错误,当您尝试访问队列时,您可以通过捕获 404 来轻松复制自己。这肯定会对性能产生一些影响。

更重要的是,它增加了您的成本:来自了解Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity [MSDN]的存档

我们已经看到应用程序在每次将消息放入队列之前对队列执行 CreateIfNotExists [原文如此]。这会导致存储系统对要排队的每条消息发出两个单独的请求,创建队列失败。请确保仅在 Blob 容器、表和队列生存期开始时创建它们,以避免这些额外的事务成本。

最新更新