7 Awesome Open Source Web Performance Software For Linux and Unix-like Systems

Web performance is nothing but the speed in which web pages are downloaded and displayed on the user’s web browser. Faster website speeds have been shown to increase sales or increase visitor loyalty including user satisfaction. Particularly useful for those use slow internet connections or on mobile phones/tablets. You can increase the speed of page load using:

  1. Server side cache
  2. Browser side cache
  3. Faster disks
  4. Image optimization
  5. Web application accelerator focusing on optimizing caching and compression
  6. Load balancing and SSL offloading
  7. Geo or DNS-based load balancing and more.

In short, one can increase the time it takes for pages to render using multi-layered cache and asynchronous communication with server-side components. In this post, I will list my favorite open source software based TCP/HTTP load balancer and proxying solution for web performance.

Varnish – HTTP accelerator

Varnish Cache is a web application accelerator. You install it in front of any web-server that speaks HTTP and configure it to cache the contents. It act as a web application accelerator focusing on optimizing caching and compression It is really fast and used by high traffic websites such as Wikipedia, Facebook, Twitter and others. Varnish claims to delivering 20 Gbps on regular off-the-shelf hardware.

varnish-bunny-o-1-4774836
Written in: C
Operating system: BSD, Linux, Unix
Type: HTTP accelerator
License: Two-clause BSD license
Commercial support : Yes (https://www.varnish-software.com/)
Download: https://www.varnish-cache.org/

HAProxy – Load balancer and proxy server accelerator

HAProxy is an open source software based load Balancing, SSL offloading and performance optimization, compression, and general web routing software. HAProxy is used by some high-profile websites including GitHub, Reddit, and is used in the OpsWorks product from Amazon Web Services. I have seen healthy system can achieve between 15000 and 30000 hits per second, and have no trouble saturating a 2 Gbit/sec connection. HAProxy claims to delivering 10GbE load-balancing or more.

haproxy-pmode-9215971
Written in: C
Operating system: BSD, Linux, Unix, Aix, Solaris
Type: TCP+HTTP accelerator,load balancer/proxy server
License: GPL v2
Commercial support : No
Download: http://www.haproxy.org/

Squid – Caching proxy server

Squid is an open source caching and forwarding HTTP web proxy for the web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. Squid has extensive access controls and makes a great server accelerator. Squid works with both LAN and WAN based application. You can often find the LAMP setup with Squid as a web cache. A high-performance and high-availability solution for a hostile environment.

squid-6399865
Written in: C/C++ (squid 3)
Operating system: BSDs, Solaris, Linux, OS X, Windows
Type: Web cache and proxy server
License: GPL v2
Commercial support : No
Download: http://www.squid-cache.org/

Nginx – Reverse proxy, load balancer, HTTP cache, and web server

Nginx is an open source and free web server, which can also act as a reverse proxy, load balancer, SSL offloading, and HTTP cache. Nginx was found to be the second most widely used web server across all “active” sites on the internet. Nginx was written with an explicit goal of outperforming the Apache web server.

nginx_logo_rgb-01-1568963
Written in: C
Operating system: Linux/Unix-like/BSD/Windows
Type: Reverse proxy, load balancer and HTTP cache
License: 2-clause BSD
Commercial support : Yes (https://www.nginx.com/)
Download: http://nginx.org/

Vulcand Programmatic load balancer backed by Etcd

Vulcand is a reverse proxy for HTTP API management and microservices. It is inspired by Hystrix. It uses Etcd as a configuration backend, so changes to configuration take effect immediately without restarting the service. The software is under active development.

vulcand-5030599
Written in: Go
Operating system: Linux/Unix-like
Type: Programmatic load balancer
License: Apache v.2
Commercial support : No
Download: https://github.com/vulcand/vulcand

Træfɪk – HTTP reverse proxy and load balancer

Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file..,) to manage its configuration automatically and dynamically.

Træfɪk-architecture
Written in: Go
Operating system: Linux/Unix-like
Type: Load balancer and HTTP reverse proxy
License: MIT
Commercial support : No
Download: https://traefik.io/

relayd – Load-balancer, application layer gateway, transparent proxy, and SSL/TLS gateway.

The relayd project provides a FREE implementation of a secure web engine that consists of relayd and httpd. relayd first appeared in OpenBSD 4.1 to provide a service that helps Server Load Balancing (SLB) with OpenBSD’s Packet Filter (pf). It was written by Pierre-Yves Ritschard and Reyk Floeter. The HTTP server, httpd, first appeared in OpenBSD 5.6 and was based on the code of relayd. The development is an an ongoing effort by Reyk Floeter, Sebastian Benoit, Florian Obser and various contributing OpenBSD hackers. The software is used by some large sites and has also been ported to other operating systems.

bsd-plumbing-puffy-4722532
Written in: C
Operating system: OpenBSD/FreeBSD
Type: Load balancer, application layer gateway, transparent proxy, and SSL/TLS gateway
License: ISC license
Commercial support : Yes (https://www.esdenera.com/)
Download: http://bsd.plumbing/

 

Source