Load balancing is prevalent in practical application (e.g., web) deployments seen today. One such load balancer, HAProxy, remains relevant as an open-source, easy-to-use system. In the context of web systems, the load balancer tier possesses significant influence over system performance and the incurred cost, which is decisive for cloud-based deployments. Therefore, it is imperative to properly tune the load balancer configuration and get the most performance out of the existing resources. In this technical report, we first introduce the HAProxy architecture and its load balancing methods. Then, we discuss fine-tuning parameters within this load balancer and examine their performances in face of various workload intensities. Our evaluation encompasses various types of web requests and homogeneous and heterogeneous back-ends. Lastly, based on the findings of this study, we present a set of best practices to optimally configure HAProxy.
翻译:负载平衡在实际应用(例如网络)部署中很普遍。 其中一个负载平衡器(HAProxy)作为开放源码、易于使用的系统仍然具有相关性。 在网络系统方面,负载平衡层对系统性能和产生的成本具有重要影响,这对云层部署具有决定性作用。 因此,必须适当调整负载平衡配置,并从现有资源中获取最大性能。 在本技术报告中,我们首先引入了HAProxy结构及其负载平衡方法。 然后,我们讨论该负载平衡器内的微调参数,并在各种工作量强度面前审查这些参数的性能。我们的评估包括各种类型的网络请求以及同质和多样化的后端。 最后,根据这项研究的结果,我们提出了一套最佳配置HAProxy的最佳做法。