What Is New in HAProxy 1.1
| Category | Key Changes |
|---|---|
| New Features | New 'monitor' keyword, HTTP keep-alive, URI hashing for load balancing |
| Improvements | Enhanced logging, better session handling, improved performance |
| Bug Fixes | Various stability and connection handling fixes |
| Deprecated | None in this release |
What are the major new features in HAProxy 1.1?
The biggest addition is the 'monitor' keyword for health checking. This lets you set up dedicated monitoring URIs that bypass normal load balancing logic, which is perfect for external monitoring systems.
HTTP keep-alive support is now fully baked in. This means HAProxy can maintain persistent connections to both clients and servers, drastically reducing TCP overhead and improving performance for web traffic.
We also got URI-based hashing for load balancing. Instead of just round-robin, you can now use balance uri to consistently send the same URI requests to the same backend server, which helps with local caching.
How did logging get better in this version?
Logging got much more detailed. You can now track exactly when and why a session ends, which is gold for debugging tricky connection issues.
The log format includes more context about client and server interactions. In practice, this means you spend less time guessing what happened and more time fixing the actual problem.
What performance improvements should I expect?
The core performance boost comes from better connection pooling and reuse. With keep-alive fully supported, HAProxy doesn't waste cycles constantly opening and closing TCP connections.
Memory management was also tuned to handle many concurrent sessions more efficiently. This matters because it directly translates to being able to handle more traffic on the same hardware.
Were there any important bug fixes?
Several edge cases with session termination were fixed. Previously, some rare conditions could cause connections to hang or not close cleanly.
There were also fixes for proper handling of certain HTTP request formats that could previously confuse the parser. These are the kinds of fixes that prevent those 3 AM outages.
FAQ
How do I use the new 'monitor' keyword?
Add monitor-uri /health to your frontend. Requests to /health will return 200 OK without being load balanced, making it ideal for external health checks.
Does HTTP keep-alive work with both clients and servers?
Yes, that's the key improvement. HAProxy now maintains persistent connections in both directions, which significantly reduces latency and CPU usage.
When should I use URI hashing for load balancing?
Use balance uri when you have backend servers with local caches. It ensures the same URI always goes to the same server, improving cache hit rates.
What logging information was added?
The enhanced logs now include detailed session termination reasons and timestamps, making it much easier to trace the lifecycle of each connection through the proxy.
Are there any breaking changes in 1.1?
No major breaking changes were introduced. The update focuses on adding features and fixing bugs while maintaining configuration compatibility.