Wed Jan 29, 2014 12:54 pm
16GB: More is better. Squid stores some info about every cached object in memory. The more RAM available, the more objects squid can handle efficiently. However, there is a max no of objects squid can manage for one cache directory, it uses. Independent upon size of objects. Which then determines the usable size of the disk(s).
Not to go too far into details now, better use 64GB RAM, and one or two 1TB disks instead of one 2TB. Because of max number of cached objects, 2TB might never be used. Multiple disks give better performance, because of parallel activities. The more disk space for cache, the higher the hit rate, but this will level out, depending upon the users: When squid caches max number of videos, this will need much more disk space compared to caching max no of 32kb objects.
Use "aufs" as filesystem for squid.
As the latest squid has a lot of "knobs" and "switches", I would suggest you to start with very last squid2.7. Rock solid for production use.
Main disadvantages: No rock_store (fast for small objects) and no support for MP. But rock_store looks like not to be absolutely stable, and MP-squid might not really be necessary in case you have dedicated squid machine anyway. And: In case, you find out, squid2.7 being really CPU-bound, you can run multiple instances of squid2.7, in a semi-MP mode. For this, you should have 4 cores, minimum.
In case you want to start with 3.4.x-squid: Do not start using MP, no rock, but aufs. Keep it simple for the beginning.
So, in short words: 64GB, 4 cores, (2x) 1TB disk.