Skip to main content
Performance Tools

Keep-Alive Checker

Check whether a website supports persistent (Keep-Alive) connections.

Enter a domain to check whether it supports persistent (Keep-Alive) connections.

JustChecker tracks your website's performance signals continuously.

What Is Keep-Alive?

Keep-Alive (persistent connections) lets a browser reuse one connection for several requests instead of opening a new one each time, saving the time of repeated TCP and TLS handshakes. This tool checks whether a server keeps connections open.

When to Use It

  • When reviewing server performance settings.
  • After putting a proxy or load balancer in front of a site.

How to Use It

  1. Enter the domain.
  2. Check whether persistent connections are enabled.

Understanding the Result

HTTP/1.1 keeps connections open by default unless the server sends Connection: close. HTTP/2 always uses a single persistent connection, so Keep-Alive headers are not used there.

Limitations

Timeout and maximum-request values are shown only when the server discloses them.

Why Connection Reuse Matters

Opening a new HTTPS connection requires a TCP handshake plus a TLS handshake - typically two or three round trips before any data flows. On a connection with 100 ms latency, that is 200-300 ms of waiting for every new connection. Keep-Alive pays that cost once and reuses the connection for the page's CSS, JavaScript and images.

Example Headers

Connection: keep-alive
Keep-Alive: timeout=5, max=100

This means the server keeps an idle connection open for 5 seconds and allows up to 100 requests on it.

Server Settings

  • Nginx: keepalive_timeout 65; (enabled by default).
  • Apache: KeepAlive On, MaxKeepAliveRequests 100, KeepAliveTimeout 5.
  • Load balancers: check the idle timeout is longer than the backend's, or clients may see occasional reset connections.

HTTP/2 and HTTP/3

HTTP/2 and HTTP/3 go further: many requests share one connection at the same time. If your server supports them, that matters more than Keep-Alive tuning - check with the HTTP Version Checker.

Also measure the response time and check your cache headers.

Frequently Asked Questions

Without it, a new TCP connection (with its own handshake overhead) must be established for every single request - Keep-Alive reuses one connection across multiple requests, reducing that repeated overhead and improving load speed, especially for pages with many resources.

HTTP/2 already multiplexes multiple requests over one connection by design, making Keep-Alive somewhat less critical than it was for HTTP/1.1 - but for any HTTP/1.1 traffic still occurring, persistent connections remain meaningfully beneficial.

It's sometimes intentionally disabled to limit the number of simultaneous open connections a server maintains under very high load, trading a small amount of per-request efficiency for reduced server resource consumption.

Each open persistent connection consumes a small amount of server memory while idle - for the overwhelming majority of sites this is a worthwhile trade for the performance benefit, but it becomes a genuine capacity-planning consideration at very high concurrent traffic levels.

The clearest sign is a page with many resources (images, scripts, stylesheets) loading noticeably faster than the sum of establishing that many separate connections would suggest - browser developer tools can show connection reuse directly in the network waterfall.
Share this tool: