Performance of SQL and SQS transport

I had done comparison between SQL and Amazon SQS transport and found SQL is performing better than SQS with little better throughput. Below is the final cleanup code by Ramon for reference which I am using for comparison.

Just wanted to know verdict from particular software performance wise which transport is better.

We already have a support case open about this, and you also just pinged us on live chat. I’ll get back to you on the case you have opened.

Performance of transports is really hard to benchmark, what is most important is knowing what performance is actually needed and to verify that based on the kind of dummy load.

In this scenario the cause for slow SQS performance was because:

  • the virtual machine didn’t have good network specifications
  • the code didn’t configure the ServicePointManager
  • the maximum concurrency wasn’t increased severely to compensate for the network latency

NServiceBus isn’t the limiting factor, the performance usually is limited due to resource limitations like network/disk bandwidth and/or latency.

When benchmarking in the cloud, make sure that virtual machine profiles have very good network or disk IOPS specifications. The latter usually increases only if you also provision a very large disk.

What transport is better depends on what requirements you have. Performance is one of the factors but in current times, the transports themselves usually aren’t the limiting factor. The following video also explains some differences of transports. Amazon SQS isn’t mentioned bus behavior wise it is similar to Azure Storage Queues.

– Ramon