Здравствуйте!
Какие могут быть причины такого поведения сквида? Откуда, вдруг, возникло слишком много открытых файлов, что ему стало не хватать дескрипторов? Началось все внезапно, ничего не менял.
Сам сквид при этом не падает, но http трафик становится недоступным.
Быть может обновить сквид для начала?200S1S0/10 09:48:47| Reconfiguring Squid Cache (version 2.5.STABLE14)...
200S1S0/10 09:48:47| FD 8 Closing HTTP connection
200S1S0/10 09:48:47| FD 62 Closing HTTP connection
200S1S0/10 09:48:47| FD 63 Closing ICP connection
200S1S0/10 09:48:47| Cache dir '/usr/local/squid/cache' size remains unchanged at 1024000 KB
200S1S0/10 09:48:47| DNS Socket created at 0.0.0.0, port 61696, FD 7
200S1S0/10 09:48:47| Adding nameserver 127.0.0.1 from /etc/resolv.conf
200S1S0/10 09:48:47| Adding nameserver 195.140.50.48 from /etc/resolv.conf
200S1S0/10 09:48:47| Adding nameserver 213.244.130.10 from /etc/resolv.conf
200S1S0/10 09:48:47| helperOpenServers: Starting 50 'redirector' processes
200S1S0/10 09:48:51| Accepting HTTP connections at 192.168.0.50, port 3128, FD 8.
200S1S0/10 09:48:51| Accepting HTTP connections at 127.0.0.1, port 3128, FD 62.
200S1S0/10 09:48:51| Accepting ICP messages at 0.0.0.0, port 3130, FD 63.
200S1S0/10 09:48:51| WCCP Disabled.
200S1S0/10 09:48:51| Loaded Icons.
200S1S0/10 09:48:51| eventCleanup
200S1S0/10 09:48:51| Ready to serve requests.
200S1S0/10 09:52:25| WARNING! Your cache is running out of filedescriptors
200S1S0/10 09:52:41| WARNING! Your cache is running out of filedescriptors
200S1S0/10 09:52:57| WARNING! Your cache is running out of filedescriptors
200S1S0/10 09:53:06| comm_open: socket failure: (24) Too many open files
200S1S0/10 09:53:06| comm_open: socket failure: (24) Too many open files
200S1S0/10 09:53:29| comm_open: socket failure: (24) Too many open files
200S1S0/10 09:53:29| comm_open: socket failure: (24) Too many open files
200S1S0/10 09:53:45| WARNING! Your cache is running out of filedescriptors
200S1S0/10 09:54:01| WARNING! Your cache is running out of filedescriptors
200S1S0/10 09:54:01| comm_accept: FD 62: (53) Software caused connection abort
200S1S0/10 09:54:01| httpAccept: FD 62: accept failure: (53) Software caused connection abort
обновил до 2.6.162007/10/10 12:47:S1S Starting Squid Cache version 2.6.STABLE16 for i386-portbld-freebsd6.2...
2007/10/10 12:47:S1S Process ID 1636
2007/10/10 12:47:S1S With 8000 file descriptors available
2007/10/10 12:47:S1S Using kqueue for the IO loop
2007/10/10 12:47:S1S Performing DNS Tests...
2007/10/10 12:47:S1S Successful DNS name lookup tests...
2007/10/10 12:47:S1S helperOpenServers: Starting 5 'dnsserver' processes
2007/10/10 12:47:S1S helperOpenServers: Starting 20 'redirector' processes
2007/10/10 12:47:S1S Unlinkd pipe opened on FD 34
2007/10/10 12:47:S1S Swap maxSize 1024000 KB, estimated 78769 objects
2007/10/10 12:47:S1S Target number of buckets: 3938
2007/10/10 12:47:S1S Using 8192 Store buckets
2007/10/10 12:47:S1S Max Mem size: 65536 KB
2007/10/10 12:47:S1S Max Swap size: 1024000 KB
2007/10/10 12:47:S1S Rebuilding storage in /usr/local/squid/cache (DIRTY)
2007/10/10 12:47:S1S Using Least Load store dir selection
2007/10/10 12:47:S1S Set Current Directory to /usr/local/squid/cache
2007/10/10 12:47:S1S Loaded Icons.
2007/10/10 12:47:S1S Accepting transparently proxied HTTP connections at 192.168.0.50, port 3128, FD 35.
2007/10/10 12:47:S1S Accepting transparently proxied HTTP connections at 127.0.0.1, port 3128, FD 36.
2007/10/10 12:47:S1S Accepting ICP messages at 0.0.0.0, port 3130, FD 37.
2007/10/10 12:47:S1S WCCP Disabled.
2007/10/10 12:47:S1S Pinger socket opened on FD 39
2007/10/10 12:47:S1S Ready to serve requests.
2007/10/10 12:47:S1S WARNING: All dnsserver processes are busy.
2007/10/10 12:47:S1S WARNING: up to 5 pending requests queued
2007/10/10 12:47:S1S WARNING: All url_rewriter processes are busy.
2007/10/10 12:47:S1S WARNING: up to 20 pending requests queued
2007/10/10 12:47:S1S Done scanning /usr/local/squid/cache (0 entries)
2007/10/10 12:47:S1S Finished rebuilding storage from disk.
2007/10/10 12:47:S1S 0 Entries scanned
2007/10/10 12:47:S1S 0 Invalid entries.
2007/10/10 12:47:S1S 0 With invalid flags.
2007/10/10 12:47:S1S 0 Objects loaded.
2007/10/10 12:47:S1S 0 Objects expired.
2007/10/10 12:47:S1S 0 Objects cancelled.
2007/10/10 12:47:S1S 0 Duplicate URLs purged.
2007/10/10 12:47:S1S 0 Swapfile clashes avoided.
2007/10/10 12:47:S1S Took 11.6 seconds ( 0.0 objects/sec).
2007/10/10 12:47:S1S Beginning Validation Procedure
2007/10/10 12:47:S1S Completed Validation Procedure
2007/10/10 12:47:S1S Validated 0 Entries
2007/10/10 12:47:S1S store_swap_size = 0k
2007/10/10 12:47:S1S storeLateRelease: released 0 objects
2007/10/10 12:48:S1S Reconfiguring Squid Cache (version 2.6.STABLE16)...
2007/10/10 12:48:S1S FD 35 Closing HTTP connection
2007/10/10 12:48:S1S FD 36 Closing HTTP connection
2007/10/10 12:48:S1S Closing Pinger socket on FD 39
2007/10/10 12:48:S1S FD 37 Closing ICP connection
2007/10/10 12:48:S1S Cache dir '/usr/local/squid/cache' size remains unchanged at 1024000 KB
2007/10/10 12:48:S1S helperOpenServers: Starting 5 'dnsserver' processes
2007/10/10 12:48:S1S helperOpenServers: Starting 20 'redirector' processes
2007/10/10 12:48:S1S Accepting transparently proxied HTTP connections at 192.168.0.50, port 3128, FD 33.
2007/10/10 12:48:S1S Accepting transparently proxied HTTP connections at 127.0.0.1, port 3128, FD 35.
2007/10/10 12:48:S1S Accepting ICP messages at 0.0.0.0, port 3130, FD 36.
2007/10/10 12:48:S1S WCCP Disabled.
2007/10/10 12:48:S1S Pinger socket opened on FD 39
2007/10/10 12:48:S1S Loaded Icons.
2007/10/10 12:48:S1S Ready to serve requests.
2007/10/10 12:48:S1S WARNING: All url_rewriter processes are busy.
2007/10/10 12:48:S1S WARNING: up to 76 pending requests queued
2007/10/10 12:48:S1S Consider increasing the number of url_rewriter processes to at least 96 in your config file.
2007/10/10 12:49:S1S Pinger exiting.
2007/10/10 12:49:S1S WARNING! Your cache is running out of filedescriptors
2007/10/10 12:49:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
.....
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S WARNING: All url_rewriter processes are busy.
2007/10/10 12:50:S1S WARNING: up to 79 pending requests queued
2007/10/10 12:50:S1S Consider increasing the number of url_rewriter processes to at least 99 in your config file.
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
2007/10/10 12:50:S1S comm_open: socket failure: (55) No buffer space available
.....Хелп!
пересоберите ядро, и впишите в профиль бОльшее количество дескрипторов.
>пересоберите ядро, и впишите в профиль бОльшее количество дескрипторов.Это понятно, как увеличить кол-во дескрипторов.
Мне интересна именно причина возникновения проблемы и пути устранения именно ее (то есть того, от чего сквиду не хватает ресурсов).
А дескрипторы увеличивал... не помогает.
Ведь на ровном месте возникла.
Единственное, что незадолго до этого провайдер поменял нам тарифный план. Но у нас 2 провайдера и проблема не исчезает при переключении (аплинк скриптом) на другого. Более того, заметил, что эта проблема сквида вешает само соединение с интернет (тобишь неожиданное идет переключение на другого провайдера). Http при этом нету ни на одном из провов.
Проблема устраняется только выключением сквида, но это как-то не кошерно, так жить.
>>пересоберите ядро, и впишите в профиль бОльшее количество дескрипторов.
>
>Это понятно, как увеличить кол-во дескрипторов.
>Мне интересна именно причина возникновения проблемы и пути устранения именно ее (то
>есть того, от чего сквиду не хватает ресурсов).
>А дескрипторы увеличивал... не помогает.
>Ведь на ровном месте возникла.
>Единственное, что незадолго до этого провайдер поменял нам тарифный план. Но у
>нас 2 провайдера и проблема не исчезает при переключении (аплинк скриптом)
>на другого.Обычно проблема возникает от того, что сквид открывает очень много файлов в кэше. Ну, это и так понятно :) Или баг в самом сквиде.
> Более того, заметил, что эта проблема сквида вешает само
>соединение с интернет (тобишь неожиданное идет переключение на другого провайдера). Http
>при этом нету ни на одном из провов.Это тоже объяснимо - открытое сетевое соединение тоже расходует дескрипторы. При обрыве связи пользователи продолжают ломиться, сквид открывает много-много сокетов в полуоткрытом состоянии - и готово.
Проверьте логи - может быть, у кого-то из пользователей поселился вирус или троян, генерирующий запросы к сквиду.
>Проверьте логи - может быть, у кого-то из пользователей поселился вирус или
>троян, генерирующий запросы к сквиду.как отмониторить такие запросы?
>
>>Проверьте логи - может быть, у кого-то из пользователей поселился вирус или
>>троян, генерирующий запросы к сквиду.
>
>как отмониторить такие запросы?В access log должно писаться, если он у вас не отключен.
Или для начала посмотрите netstat -n на машине со сквидом. Если какой-то пользовательский компьютер открывает много-много соединений на порт сквида, это повод для подозрений.
>Здравствуйте!
>Какие могут быть причины такого поведения сквида? Откуда, вдруг, возникло слишком много
>открытых файлов, что ему стало не хватать дескрипторов? Началось все внезапно,
>ничего не менял.
>200S1S0/10 09:53:06| comm_open: socket failure: (24) Too many open filesecho "65535" > /proc/sys/fs/file-max
>200S1S0/10 09:52:25| WARNING! Your cache is running out of filedescriptors
>200S1S0/10 09:52:41| WARNING! Your cache is running out of filedescriptors
>200S1S0/10 09:52:57| WARNING! Your cache is running out of filedescriptorsnetstat -an и будет видно, что одна (или несколько) машин, которых обслуживает ваш сквид флудит изза вируса. Во свяком случае у меня сейчас было именно так.
>
>>200S1S0/10 09:52:25| WARNING! Your cache is running out of filedescriptors
>>200S1S0/10 09:52:41| WARNING! Your cache is running out of filedescriptors
>>200S1S0/10 09:52:57| WARNING! Your cache is running out of filedescriptors
>
>netstat -an и будет видно, что одна (или несколько) машин, которых обслуживает
>ваш сквид флудит изза вируса. Во свяком случае у меня сейчас
>было именно так.У меня вылетает: All url_rewriters are busy
И, натурально, при превышении установленного в параметре redirect_children 15 количества соединений 20, squid вешается, при увеличении параметра, например до 25, всё равно количество соединений иногда превышает эти самые 25, при увеличении параметра до 125 - squid вешает всю систему намертво.
max_filedesc 10240