I am running K6 inside AKS to perform load testing on a website hosted in Azure App Service. However, once the test reaches 1000 virtual users (VUs), the requests start returning status 0
with a dial i/o timeout
error.
I have also observed the same issue when testing a static website hosted in Azure Blob Storage behind an Application Gateway.
Could there be any network configurations or limitations in Azure that are causing this issue?
Azure Network Limits Impacting K6 Performance Testing Troubleshooting
Thanks, @arko, for guiding in the right direction, I do agree with the points you shared.
As you mentioned, when running load tests with a high number of virtual users, sometimes connection limits which results in timeouts or failures. To overcome these, follow the steps mentioned below.
As per the Microsoft doc shared, deploy a NAT Gateway in the AKS subnet and assign multiple public IPs to provide increased SNAT capacity.
Because of this the outbound traffic are possible without hitting SNAT port exhaustion limits which results in overcome the blocker mentioned.
Also refer to Stack link answered by marcor92 & also Q&A link answered by msrini-MSFT discussing on the similar issue.
Scale CoreDNS in AKS to handle more DNS queries efficiently. Additionally, optimize your K6 test script to reduce unnecessary DNS lookups by minimizing hostnames or caching DNS results when possible.
Refer:
https://learn.microsoft.com/en-us/azure/application-gateway/high-traffic-support