Slow “Time to First Byte”

The biggest issue with the slow site load speed for many sites is what is known as “time to first byte” (TTFB).  This is the amount of time it takes from when a browser requests a URL until the first piece of data is passed back to the browser.In general 500ms is considered an acceptable or ok TTFB.  While not the best speed, if a site keeps their time to 500ms or below and doesn’t have other major issues the site with respond fast and search engines will recognize this.

A couple of possibilities that might be causing your site to be slow to respond.

Slow DNS provider

If either the registrar where the domain is purchased (which is possible from less well known or reputable domain registrars) or the sites Name Server is slow. Since most people buy their domain from well-known registrars this issue is usually the slow Name Server. Most major sites run on their own servers and use a private Name Server to handle their DNS lookups.

If the server that is handling the Name Server is slow, either because of other sites that are on the same server are slowing it down or because of physical technical issues, this will slow down how long it takes before the web server can start to process a browser request.

Network Latency on Web Server

This is the most common cause of a TTFB issue. If any of the network equipment surrounding a web server is slow or has a high latency, this will slow down how fast data can be sent back to the requesting browser.

These would either be optimization issues with your network setup or slow hardware in your network chain. You should do speed tests internally through various points of your network to ensure fast response times. If there is a slow response then server network cards, hubs, switches, etc should all be checked to find where the latency in your network is.

Non-Optimal Apache Setup

If you are using Apache on your server and it is not set up in the most optimal way, this can increase the amount of time it takes for a server to respond. You should have your network administrator or server team check the settings on your Apache install.

Specifically look for settings that are higher then they need to be. Settings Such as MaxKeepAliveRequests and KeepAliveTimeout should be checked to ensure they are not set higher then they need to be.

Using Nginx Reverse Proxy

A reverse proxy is server visitors go through before accessing the servers where the actual content is located. Reverse proxies are used in cases of load balancing, protecting servers from DOS attacks, and when a site uses a distributed server set up (separate servers for scripts, images, databases, etc)

Nginx is a semi-popular open sourced reverse proxy protocol. It however has been known to be fairly slow responding and if this is being used we would suggest looking at other reverse proxy software.