Squid + Squidguard + аутентификация с помощью samba3 в домене 2000 + clamav.Этот прокси сервер должен обслуживать до 700-800 пользователей ежедневно.
Оперативной памяти в машине 2Гб. FreeBSD 6.0-p4. swap - 4Gb.Вот конфиг squid.
http_port 3128
icp_port 0
hierarchy_stoplist cgi-bin ? chat
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 32 MB
maximum_object_size 8092 KB
maximum_object_size_in_memory 512 KB
cache_dir ufs /usr/local/squid/cache 1024 16 64
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
cache_store_log none
cache_mgr admin@ddd.local
emulate_httpd_log off
ftp_user anonymous@qwerty
logfile_rotate 3
quick_abort_pct 60
#negative_ttl 1
#half_closed_clients on
#http_reply_access allow all
redirect_children 20
redirect_program /usr/local/bin/squidGuard
#redirector_bypass off
refresh_pattern ^ftp: &n... 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
icap_enable on
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on
#log_icp_queries off
# TAG: auth_param
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=ddd+inettest
auth_param ntlm children 10
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate off
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of=ddd+inettest
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off# TAG: acl
acl ournet src 10.1.0.0/16
acl DDD proxy_auth REQUIRED
acl TRAFFICEND proxy_auth "/usr/local/etc/squid/disabled.sams"
acl INETDISABLE proxy_auth "/usr/local/etc/squid/disabled.inet"
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports port 80 443 210 119 70 21 1025-65535
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0
# TAG: http_access
http_access deny !Safe_ports
http_access deny CONNECT
http_access deny INETDISABLE
http_access deny TRAFFICEND
http_access allow DDD
http_access allow localhost
http_access deny all
# TAG: deny_info
deny_info DENY_INET TRAFFICEND
deny_info DENY_INET INETDISABLE
icap_service service_1 reqmod_precache 0 icap://localhost:1344/srv_clamav
icap_service service_2 respmod_precache 1 icap://localhost:1344/srv_clamav
icap_class class_antivirus service_2 service_1
icap_access class_antivirus allow all
coredump_dir /usr/local/squid/cache
pid_filename /usr/local/squid/logs/squid.pid
Вопрос мой заключается собственно вот в чём:
Какие параметры нужно изменить для повышения быстродействия и качества работы этого прокси сервера?Жду ваших советов. Спасибо!
Я бы сделал так:>cache_mem 32 MB
При 2GB RAM стоит увеличить cache_mem хотя бы до 1.5 GB. Хотя не знаю, сколько антивирус и редиректоры съедят. Исходить из этого.>maximum_object_size 8092 KB
Я бы и большие файлы в кэш складывал. Особенно, если диски большие.>maximum_object_size_in_memory 512 KB
И тут увеличить. Сейчас всякие там swf достаточно большие, пусть в памяти кэшируются>cache_dir ufs /usr/local/squid/cache 1024 16 64
1024 заменить на размер диска под кэш (минус разумный запас).>
># TAG: auth_param
>auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=ddd+inettest
>auth_param ntlm children 10
Не знаю. У меня при ~1500 пользователях иногда и 32 аутентификаторов не хватает. Впрочем, если появятся в cache.log упоминания об этом, тогда увеличить.>auth_param ntlm max_challenge_reuses 0
>auth_param ntlm max_challenge_lifetime 2 minutes
>auth_param ntlm use_ntlm_negotiate off
Здесь лучше поставить "on". Тогда всякие NTLMv2 будут работать. Соответственно, тогда предыдущие 2 параметра не используются.>Вопрос мой заключается собственно вот в чём:
>Какие параметры нужно изменить для повышения быстродействия и качества работы этого прокси
>сервера?
>>cache_dir ufs /usr/local/squid/cache 1024 16 64
>1024 заменить на размер диска под кэш (минус разумный запас).
>Next, I suggest taking off another 10% or so for Squid overheads, and a "safe buffer." Squid normally puts its swap.state files in each cache directory. These grow in size until you rotate the logs, or restart squid. Also note that Squid performs better when there is more free space. So if performance is important to you, then take off even more space. Typically, for a 9GB disk, I recommend a cache_dir setting of 6000 to 7500 Megabytes:
cache_dir ... 7000 16 256