I'm complete newbie in the Squid and Linux worlds (I've lived in a different world for far too long). I just joined the wagon about a month ago. I need your inputs on how to set up a high performance Squid box:
My hardware details: Machine: Dell PowerEdge 1600SC CPU: Intel Xeon 2.0GHz, 533Mz FSB Mem: 640MB PC2100 DDR, ECC. HD: Two 36GB, 10K RPM, Ultra320 SCSI Drives HD Ctler: Single Channel Ultra320 controller OS: Red Hat Linux 9.0 Squid ver: 2.5.STABLE3 Comm Interface: 1000Mbps Ethernet uplink to Squid box. Clients: Thirty Pentium 4, Windows XP machines. This setup will be for clients with the sole aim of browsing the internet. I have a relatively slow connection (128Kbps, may increase to 256kbps). This Linux box will be dedicated to running Squid. It also runs Apache just so I can use cachemgr. I don't serve pages to any one. It also runs BIND caching-only DNS. I read this will improve response time? I have successfully set up squid and running nicely (thanks to the tremendous amount of resource available on Squid, including this mailing list archive). What I'm looking for is how to optimize Squid for my situation. I'm willing to do the following hardware enhancements if it will significantly boost Squid's performance. Please rank the options if possible. 1.) Add another Xeon processor (I have a dual processor server board) 2.) Add another 512MB of memory 3.) Add another hard drive (or more if necessary). If you feel my hardware is enough and all that I need is some software tweaking please tell me before I pump more doe into Squid. My OS shares one HD with a 5.9GB partition for one cache directory. The other cache dir is on a 5.9GB partition on the second drive. I'm thinking about adding a 7200RPM IDE drive for the OS and cache log and dedicating the tow SCSI's for Squid cache. My cache_mem = 128, and total cache size is set to 2GB for now. Any recommendations? I'm used a Squid RPM with 1024 file descriptors. What are my chances of running out of file descriptors given the number of clients? My file-max in Linux is 65529, but I read that Squid can't use more than the 1024 until I recompile with some options. The problem is I'm quite green with Linux and Squid environments so I don't feel comfortable compiling either (for fear of leaving out something and taking a performance hit). In other words I prefer not to fix anything that aint gonna break. If there are any simple tasks that I can do in Linux/Squid to improve performance please help. I appreciate your contribution. Thanks.
