I have a little console service running on my server that exposes it's endpoint to an azure service bus namespace. I am using webHttpRelayBinding in Streamed mode. I am using the microsoft sample just for testing located here: http://code.msdn.microsoft.com/windowsazure/Relayed-Messaging-Bindings-a6477ba0#content.
I have a console app client running on another computer that connects to my service bus namespace and makes a call to my service interface. I am using the sample call GetImage and in that method all I am doing is returning Stream of a 5MB PDF file.
On the server that is hosting my service I have a 20MB upload/download fiber line. It's wide open and extremely fast. When I open a browser and hit my service as so: https://namespace.servicebus.windows.net/Image/GetImage it pulls the 5MB PDF file correctly however it will only stream the file to me at 90K to 100K per second. I thought at first I was being restricted by upload speeds from the server but with a 20MB fiber up and down that is hard to justify. So I moved the service to my home computer with a measly 750K upload speed. I fired up the service and the relay is hosted. I then had a friend of mine hit the service from his browser at his house to pull the same 5MB PDF file and lo and behold it transfers the file to him at 90K to 100K per second.
I am stumped as to why this is. Can someone please give me insight here? I can show you all the code you need but thought it sufficient to give the description entirely to the problem and reference the microsoft sample I am using.
Thank you in advance.