squid is an open source caching proxy server. As a cache proxy server, squid accepts requestdata from client and passes it to appropriate Internet server. It keeps a copy of the returneddata, especially hot objects cached in RAM. Squid also caches DNS lookups and supports non-blocking DNS lookups. Even when a client terminates a request, squid continues to fetch andcomplete the requested data. When it receives the same request again from other client, it just passes the stored data in its cache. This is the basic concept of how squid works,speeding up the Internet access and saving bandwidth.Other than http protocol, squid supports FTP, gopher, and HTTP data objects. Squid alsosupports other caching protocols too, such as:
Internet cache protocol (ICP)
Simple network management protocol (SNMP)
Hyper text caching protocol (HTCP)A cache proxy server can greatly improve Internet performance and squid cache proxy serveris very fast and well known for high performance caching proxy server in Linux world. Anormal firewall proxy does not store copy of returned data like squid does. Squid cache proxyserver works great with firewall on the upper level and squid in the lower level protecting localnetwork from each other.
Setup squid cache proxy server in Ubuntu
Before setting up a squid cache proxy server, you should consider several things that willinfluence the performance of the caching server later. The most important things are serverhardware.
Basic hardware requirements
As we already know, squid stores meta data especially hot objects cached in RAM. So having abig RAM will improve squid performance and overall server performances. However, cpu powerdoesn't really effect squid performance.