gpt4 book ai didi

Azure服务总线队列发送卡住

转载 作者:行者123 更新时间:2023-12-03 04:36:46 25 4
gpt4 key购买 nike

我们正在使用多个进程对 Azure 队列进行负载测试。我们注意到,所有机器在向队列发送消息时都会同时暂停。

停顿的长度不同。最常见的是半秒暂停,但我们已经看到所有发件人的暂停时间长达一手好几秒。

自从我最初发布以来,我们已经在使用 HTTP 绑定(bind)的 Java 客户端上看到了相同的行为。

此外,我们还发现暂停会影响除一个实例之外的所有实例。虽然多个正在执行的程序将同时停止,但其中一个程序将继续以相同的速率发送。

在所有情况下,暂停结束后,我们都会看到所有实例都以旧速率恢复。我们在几秒钟内手动启动所有实例。

.NET 代码如下所示:

using (var memoryStream = new MemoryStream())
{
using (var streamWriter = new StreamWriter(memoryStream))
{
streamWriter.Write(messageText);
streamWriter.Flush();
memoryStream.Position = 0;

var message = new BrokeredMessage(memoryStream, false);
message.Properties["Name"] = "DeviceStatusProbed";
message.Properties["MessageId"] = messageIdText;

sender.SendAsync(message);

if (messageNumber == 0)
{
stopwatch.Start();
}

messageNumber++;

Console.WriteLine("MPS: " + 1000 * messageNumber / (double)stopwatch.ElapsedMilliseconds);

Console.WriteLine("Sent message with MessageID = " + message.MessageId);
}
}

Azure 环境中出现此类卡住的潜在原因是什么?如果原因不是预期的,是否有工具或指导可以帮助我们确定原因?

谢谢。

最佳答案

您能否提供有关“暂停”多长时间的更多信息。您是否看到发送调用失败?您看到停顿了多长时间?

没有任何理由让您看到这样的停顿。

如果 SERVICEBUS 或任何 Azure 基础结构中有升级,则调用可能会在 60 秒(默认)后超时,或者只是失败。但重试后应该会成功。

关于Azure服务总线队列发送卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21468155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com