I've had multiple bad experiences with performance on Azure Service Bus topics lately. The problem is very slow acknowledge of message. I'm using the .NET client and it's the call to Complete that is very slow. Take a look at the following graph that shows time consumption in my message handler:
The time consumed in Complete is around 2-3 seconds in average for the show time period. In other periods, the Complete method takes a few milliseconds. Notice that this is a stacked bar chart, that shows all of the operations needed to persist a message from service bus. The only visible bar on the chart is the Complete call (purple).
I'm running on the Standard plan and I know that there's a premium plan as well. But it is very expensive compared to the standard plan. I'm not expecting calls to execute in 2 milliseconds on the shared standard plan, but a plan where some calls to Complete takes a minute simply isn't usable for anything.