Использование рекомендаций, указанных в предыдущем посте позволило уменьшить потребление ресурсов на моем сервере (RHEL 5, ядро 2.6.25.11, Squid-3.0.STABLE24, кол-во клиентов 1500+).
Что было предпринято:
- Отключено логирование access.log и store.log
- Включена директива pipeline_prefetch
В итоге нагрузка на процессор упала с ~60-80% до ~1-15% в «спокойное» время, нагрузка на память с ~90% до ~20-60%. Но, к сожалению, я уделил внимание чтению лога cache.log, в котором было очень много сообщений о том, что закончились свободные файловые дескрипторы. ulimit -Ha показал что у меня их максимум равен 1024. Решение проблемы:
ulimit -HSn 65535 sysctl -w fs.file-max=65535
После этого я решил пересобрать squid:
./configure --with-linux-netfilter --with-large-files --enable-storeio=diskd,ufs --with-filedescriptors=65535 make; make install clean service squid restart