Hi Tony Ross,
It sounds like you're experiencing some frustrating spikes in "Success Server Latency" for your Azure Table Storage, especially since the average latency is typically so low. It’s interesting that the issue started at the end of November, and it’s good you've already tried splitting your high-traffic table into its own account.
Here are a few suggestions I’d recommend looking into:
Partitioning Strategy: Since you mentioned that you're using a unique partition key per entity, ensure that your partitioning strategy is balanced. Consider using a time-based or hashed partition key to spread the load rather than relying on unique keys for every entity. This can help prevent "hot partitions" where too many requests target the same key.
Monitoring Metrics: Check your Azure Monitor metrics for SuccessE2ELatency and SuccessServerLatency. If you notice high SuccessE2ELatency, it could be indicative of client-side issues rather than server-side, so ensure your clients are optimized for performance.
Storage Analytics Logs: Enable Storage Analytics logs to track any potential throttling issues or latency increases. This can provide deeper insights into what's happening during those spikes.
Client-Side Performance: Look into your client’s performance. Check for possible CPU, memory, or network bottlenecks on the client-side. High SuccessE2ELatency often stems from delays in the client's response. Implementing async calls and ensuring you have sufficient resources can make a difference.
Network Configuration: If your clients aren’t co-located in the same Azure region as your storage account, consider placing them closer to reduce latency. Additionally, check for any networking issues that could be contributing to delays.
Throttling and Rate Limiting: Even if you're not seeing HTTP 503 throttling errors, it’s possible that the Azure service is being throttled behind the scenes due to high transaction volumes. Review your transaction patterns to see if they align with the documented scalability targets.
Consult Azure Documentation: For more detailed guidance, here are some links to Azure documentation that could help:
Hopefully, one of these avenues will lead to a resolution! If you need more specific help, could you clarify a few things?
- Are there any specific patterns you've noticed with the timing of these spikes?
- What specific operations are being performed during the latency spikes?
- Have you noticed if specific queries or transactions cause this issue more frequently than others?
Let me know, and I'll be happy to help further!