We are having speed issues while using the Azure Service Bus Relay with both netTcpRelayBinding and basicHttpRelayBinding. With small message sizes (10K), the relay operates with low latency (100ms), but as the message size increases (100K) we experience seemingly random response times (600ms-1000ms). We would like to improve the latency cost for larger messages.
Is using message compression (gzip, protobuf-net, etc.) supported through the Service Bus Relay? Has anyone had success with enabling both request/response compression through the relay? It's trivial to support response compression through IIS, but we'd like to support request compression for improving our latency costs. Since we can't profile the relay with Fiddler, how do we know the message is still compressed when it passes through the relay?
An interesting point we discovered is that introducing a delay between subsequent message relays (2s) we receive better performance (100K - 200ms). Could it be that larger messages are being automatically throttled? It would be nice to know the message size cutoff that triggers a throttling condition.
For our test - we just send a random message string to the service relay and echo the request string back from the server. We've tried this client/server from multiple geographic locations (to rule out firewall/web filter issues) and experienced the same latency behavior.
Server Side
public class ServiceRelayProfiler : IServiceRelayProfiler
{