Here are some performance numbers for adding 100 "hello azure" messages into a queue (using ThreadPool for each message insert) from on-premise:
Managed API: 15,287 ms
REST API: 7,758 ms
Can this have something to do with internal locking in the managed API upon calling AddMessage() or something like that?
I also made my own tcp/ip server running inside azure in a worker role for adding messages to the queue. And by my homegrown tcp/ip worker role I got just over 3 000 ms in adding 100 messages from outside azure (under half the time the REST API uses). What about making a general tcp/ip interface towards the queue API and making a managed wrapper over that on the client side?
But the really strange part is that the managed api was even slower inside an azure worker role than from on-premise. How can that be??
From within a worker role in azure, adding 100 messages took over 20 000 ms (5 000 ms more than from the outside)..