What is a Network Error?

Network errors can be any of the following: DNS resolution errors, TCP connection timeout/error, or the server closing/resetting the connection with no response.

If you're seeing lots of network errors, and your DNS servers are OK, there are 2 possible problems:

1. The network pipe to your server may not be big enough. The cables & wires connecting your server to the Internet may or may not be able to handle the bits we're trying to send through them. Think of a funnel: if you try to pour water into it too fast, it overflows. To fix this, you can either get a faster connection, or scale horizontally and have your app available from multiple network connections.

2. Your server may not be able to handle the load. There are lots of factors at play here: how fast your app handles each request, database performance (if you are using one), your app's platform (language/framework/etc.), server configuration, operating system settings, your server's hardware specs...the list goes on and on.

We suggest the first thing to look at is the app itself: for your language & framework, find a profiling tool and use it to identify bottlenecks during a loader.io test. Are there slow database queries you can optimize/avoid? Profile your code, profile your database queries, and optimize as needed. When you make a change, you can clone your test in loader.io and run it again to (hopefully!) see your performance improve :)

You can also use system monitoring tools to watch resource usage, monitor memory/CPU/disk activity to identify any hardware upgrades your server may need. For whatever operating system and server software you're running, you're likely to find some articles out on the web about tuning for high performance and scalability.