URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5630
[ Назад ]

Исходное сообщение
"оптимизация squid (CPU)"

Отправлено bondbig , 01-Июл-08 15:23 
Всем добрый день!
Зашел попросить совета по оптимизации работы squid при большом количестве пользователей.
Ситуация следующая: есть кластер из 2-х нодов squid, более 5000 пользователей, более 600 активны в каждый момент времени. Загрузка процессоров на серверах держится близко к 100% в течение дня, бывают откровенные лаги (интернет-страницы еле-шевелятся), иногда даже один из нодов глохнет под нагрузкой. Есть мысль по добавлению дополнительного нода в кластер, но это будет даже не завтра, а облегчить ситуацию хотелось бы сегодня. Подскажите, какие настройки максимально могут снизить нагрузку на CPU? По памяти запас есть (используется 1,1 Gb из 3.46 на каждом из серверов).

Содержание

Сообщения в этом обсуждении
"оптимизация squid (CPU)"
Отправлено Romik , 01-Июл-08 16:58 
Первое, что приходит в голову - пересборка Squid с оптимизацией под конкретный тип процессора и увеличение кеша в оперативной памяти, используемого Squid'ом.

"оптимизация squid (CPU)"
Отправлено bondbig , 01-Июл-08 17:21 
>Первое, что приходит в голову - пересборка Squid с оптимизацией под конкретный
>тип процессора и увеличение кеша в оперативной памяти, используемого Squid'ом.

Первое сделано изначально.
Второе тоже решил попробовать, было 256 мбайт, сделал 512 на одном из сквидов. Завтра посмотрим на статистику.


"оптимизация squid (CPU)"
Отправлено bondbig , 01-Июл-08 17:37 
>Первое, что приходит в голову - пересборка Squid с оптимизацией под конкретный
>тип процессора и увеличение кеша в оперативной памяти, используемого Squid'ом.

Я вот думаю, может совсем отключить кэширование?
Вообще, кто может грамотно ответить, какие функции сквида наиболее процессороёмкие? Акцесс-листы с regex? Кэш на диске?


"оптимизация squid (CPU)"
Отправлено local , 01-Июл-08 17:49 
>regex?

regex очень любит кушать CPU, на одном говнороутере 350cel список из прим 100 позиций жрал 90%cpu


"оптимизация squid (CPU)"
Отправлено bondbig , 02-Июл-08 07:25 
>>regex?
>
>regex очень любит кушать CPU, на одном говнороутере 350cel список из прим
>100 позиций жрал 90%cpu

Мм... я тоже об этом подумал. Где-то слышал, что если перенести regex на mysql, то быстрее шевелиться начинает. Это так?


"оптимизация squid (CPU)"
Отправлено local , 02-Июл-08 10:19 
Не могу сказать, ибо не использую более regex'ы, а мускул и не прикручивал даже никогда :) Мне regex'ы были нужны для резки баннеров, внешний редиректор с этим справляется куда гораздо лучше, на порядок.

"оптимизация squid (CPU)"
Отправлено bondbig , 02-Июл-08 10:32 
>Не могу сказать, ибо не использую более regex'ы, а мускул и не
>прикручивал даже никогда :) Мне regex'ы были нужны для резки баннеров,
>внешний редиректор с этим справляется куда гораздо лучше, на порядок.

У меня тоже используется внешний редиректор, но он не поддается идентификации (/usr/local/squid/bin/redir_helper).
Систему изначально поднимал не я, досталась она мне уже в готовом виде и что-то менять в ней очень затруднительно, т.к. автор не заморачивался с документацией, предпочитал использовать непопулярное ПО, а зачастую и самописное. Даже код сквида был поправлен, в связи с этим невозможно обновиться без гемороя (сейчас версия 2.4).
Часть regexo'в хранится в локальных файлах, часть в базе mysql на отдельном сервере.
Вот сижу и разбираюсь потихоньку...


"оптимизация squid (CPU)"
Отправлено Golub Mikhail , 11-Июл-08 20:32 
>>>regex?
>>
>>regex очень любит кушать CPU, на одном говнороутере 350cel список из прим
>>100 позиций жрал 90%cpu
>
>Мм... я тоже об этом подумал. Где-то слышал, что если перенести regex
>на mysql, то быстрее шевелиться начинает. Это так?

Так. У себя так сделал.
Почти все acl-ки вынесены в sql. И обрабатываются внешними хелперами.


"оптимизация squid (CPU)"
Отправлено Qaz , 05-Июл-08 12:18 
>Всем добрый день!
>Зашел попросить совета по оптимизации работы squid при большом количестве пользователей.
>Ситуация следующая: есть кластер из 2-х нодов squid, более 5000 пользователей, более
>600 активны в каждый момент времени. Загрузка процессоров на серверах держится
>близко к 100% в течение дня, бывают откровенные лаги (интернет-страницы еле-шевелятся),
>иногда даже один из нодов глохнет под нагрузкой. Есть мысль по
>добавлению дополнительного нода в кластер, но это будет даже не завтра,
>а облегчить ситуацию хотелось бы сегодня. Подскажите, какие настройки максимально могут
>снизить нагрузку на CPU? По памяти запас есть (используется 1,1 Gb
>из 3.46 на каждом из серверов).

У меня вынесены acl'ы в базу MySQL, сложно сказать насколько оно лутше или хуже...но я никогда не видел чтобы процесс squid'а у меня забирал больше 2%, mysql максимум что видел где-то 0,10%, правда пользователей у меня до 200 всего-то, но как по мне acl'ы в mysql'е лутше чем какой-нить редиректор, делал по теме http://forum.lissyara.su/viewtopic.php?f=40&t=5716&start=0&s...


"оптимизация squid (CPU)"
Отправлено bondbig , 05-Июл-08 20:13 
>У меня вынесены acl'ы в базу MySQL, сложно сказать насколько оно лутше
>или хуже...но я никогда не видел чтобы процесс squid'а у меня
>забирал больше 2%, mysql максимум что видел где-то 0,10%, правда пользователей
>у меня до 200 всего-то, но как по мне acl'ы в
>mysql'е лутше чем какой-нить редиректор, делал по теме http://forum.lissyara.su/viewtopic.php?f=40&t=5716&start=0&s...

У меня тоже часть acl в мускульной базе (думаю все перенести), а вот с пользователями беда... Сегодня узнал (только сегодня добрался до одной из серверных, где стоит один из сквидов), что оба плеча кластера - 2х процессорные тачки - Xeon 3.2 (я думал что просто 2х ядерные), и процессоры в рабочее время загружены почти на 100% (активных юзеров при этом более 600). Даже по выходным более 100 юзеров активны! На каждом прокси более 250 запросов в сек. Сегодня также выяснилось, что логи сквида не вынесены на отдельный раздел (не то что физический диск) и после заполнения диска система просто зависает и не стартует - пришлось ехать на работу, млин.
За ссылку спасибо (я там уже был, но присмотрюсь повнимательнее).



"оптимизация squid (CPU)"
Отправлено bondbig , 11-Июл-08 15:37 
Возможно ли как-то задействовать простаивающие ядра/процессоры? На 2-х процессорной 2-х ядерной машине сквид из условных 400% может съесть не более ~120% (~100 сам squid + ~20 дочки-редиректоры и прочие).
График:
http://ipicture.ru/uploads/080711/WIfrvIhcnh.png


"оптимизация squid (CPU)"
Отправлено Golub Mikhail , 11-Июл-08 20:40 
>Возможно ли как-то задействовать простаивающие ядра/процессоры? На 2-х процессорной 2-х ядерной машине
>сквид из условных 400% может съесть не более ~120% (~100 сам
>squid + ~20 дочки-редиректоры и прочие).
>График:
>http://ipicture.ru/uploads/080711/WIfrvIhcnh.png

Так может ему больше ресурсов CPU и не требуется у вас? :)


"оптимизация squid (CPU)"
Отправлено bondbig , 11-Июл-08 21:03 
>>Возможно ли как-то задействовать простаивающие ядра/процессоры? На 2-х процессорной 2-х ядерной машине
>>сквид из условных 400% может съесть не более ~120% (~100 сам
>>squid + ~20 дочки-редиректоры и прочие).
>>График:
>>http://ipicture.ru/uploads/080711/WIfrvIhcnh.png
>
>Так может ему больше ресурсов CPU и не требуется у вас? :)
>

Я так не думаю, почему-то
top:
http://ipicture.ru/uploads/080711/nV6d2VE86j.jpg


"оптимизация squid (CPU)"
Отправлено bondbig , 14-Июл-08 13:16 
В общем отключил дисковый кэш - и о чудо! - сервер забегал как молодая лань!
Хотя дисковая подсистема достаточно быстрая - 10000 SCSI в зеркале!
Если раньше количество запросов/сек едва добиралось до 250 на обоих сквидах, то теперь в пиках до 630 и при этом странички открываются быстро.
Что характерно, загрузка CPU даже выросла, но работать сервер стал быстрее. Освободил я его от "ярма на шее".