Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# webjob处理队列存储消息的最大速率是多少?_C#_Performance_Azure Storage_Azure Webjobs_Azure Queues - Fatal编程技术网

C# webjob处理队列存储消息的最大速率是多少?

C# webjob处理队列存储消息的最大速率是多少?,c#,performance,azure-storage,azure-webjobs,azure-queues,C#,Performance,Azure Storage,Azure Webjobs,Azure Queues,我正在使用Storage Explorer(连接到本地模拟存储)在本地开发环境中工作,我的webjob会在新队列消息中触发。为了进行测试,我发布了100条队列消息,我的webjob函数将计数器值打印到控制台日志中: Interlocked.Increment(ref counter); log.WriteLine($"counter: {counter}"); (计数器为静态int) 浏览100条信息需要30秒。预计的速度是多少?考虑到函数的操作非常简单,并且不

我正在使用Storage Explorer(连接到本地模拟存储)在本地开发环境中工作,我的webjob会在新队列消息中触发。为了进行测试,我发布了100条队列消息,我的webjob函数将计数器值打印到控制台日志中:

        Interlocked.Increment(ref counter);
        log.WriteLine($"counter: {counter}");
(计数器为静态int)

浏览100条信息需要30秒。预计的速度是多少?考虑到函数的操作非常简单,并且不写入DB/table,有什么方法可以使它更快

我发布的这篇文章与我的原始问题有关,目前没有解决方案:

当然,这取决于您的信息的大小,但我怀疑基础设施和硬件也起到了作用。您的webjob运行的应用程序服务计划是什么?您的消息有多大

根据文件

单个队列每秒可以处理大约2000条消息(每条1KB)(此处每个AddMessage、GetMessage和DeleteMessage都作为一条消息计数)


如果没有更多的细节,比如流程的完整代码,很难判断,但从理论上讲,您应该能够获得更高的吞吐量。

当然,这取决于消息的大小,但我怀疑基础设施和硬件也起到了作用。您的webjob运行的应用程序服务计划是什么?您的消息有多大

根据文件

单个队列每秒可以处理大约2000条消息(每条1KB)(此处每个AddMessage、GetMessage和DeleteMessage都作为一条消息计数)


如果没有更多的细节,例如您的流程的完整代码,很难说清楚,但从理论上讲,您应该能够获得更高的吞吐量。

本地存储仿真器决不能表明您将在真实的Azure存储队列中看到的性能。本地存储模拟器使用它在后台创建的本地SQL Server实例来模拟存储服务。相比之下,它是慢的。它对并发性的支持也很有限


要获得真正的测试,请在Azure中设置存储队列。为了获得最佳性能,您可以通过在同一Azure数据中心中运行正在排队和退出的进程来避免网络延迟

本地存储仿真器决不能表示您将在真实Azure存储队列中看到的性能。本地存储模拟器使用它在后台创建的本地SQL Server实例来模拟存储服务。相比之下,它是慢的。它对并发性的支持也很有限


要获得真正的测试,请在Azure中设置存储队列。为了获得最佳性能,您可以通过在同一Azure数据中心中运行正在排队和退出的进程来避免网络延迟

您正在运行本地存储模拟器吗?或者您是否针对实际的Azure存储队列在本地运行?是否针对存储模拟器在本地运行?是否针对本地存储模拟器运行?或者你是针对实际的Azure存储队列在本地运行?针对存储模拟器在本地运行Hi Peter,顺便说一句,我没有对你的评论投反对票。当我上次查看答案时,我发现是我的问题因为缺乏研究等而被投反对票。我认为你的答案有很好的信息,至少出于我的目的,因为现在我知道队列/webjob处理部署到Azure时的吞吐量。根据Rob的回答,我的性能似乎受到了影响,因为我正在本地开发/测试所有东西,并且storage emulator在Ms SQL上运行。一旦我将应用部署到Azure,我将检查我的性能。嗨,彼得,顺便说一句,我没有对你的评论投反对票。当我上次查看答案时,我发现是我的问题因为缺乏研究等而被否决。我认为你的答案有很好的信息,至少出于我的目的,因为现在我知道队列/webjob处理部署到Azure时的吞吐量。根据Rob的回答,我的性能似乎受到了影响,因为我正在本地开发/测试所有东西,并且storage emulator在Ms SQL上运行。一旦我将应用部署到Azure,我将检查我的性能。