Re: диски
Alexey Bestciokov <proforg@maloletka.ru> wrote:
> AM> Alexander A. Vlasov <listreader@rambler.ru> wrote:
> >> Добрый день.
> >> По ряду причин не уверен, что это хорошая идея.
> AM> Ряд причин - в студию.
> Вначале некоторые импирически соображения.
> squid - кеширующщий прокси сервер, nginx - веб сервер с поддержкой
> проксирования. то есть предназначены для совершенно разных задач
> и хотя squid может работать в режиме rproxy это не есть его основное
> назначение - он слишком перегружен лишним (для этой задачи)
> функционалом. nginx же изначально предназначен для решения
> поставленной задачи максимально эффективно.
Готов поспорить, но утверждение в целом здравое.
> тесты:
> к сожалению сам я ни разу не использовал squid как rproxy на
> production серверах, а на синтетические тесты нет ни времени ни
> желания, так что ограничимся тестами с ab и двумя вырожденными
> случаями - отдача статического файла и некешируемого контента
> генерящегося динамически. впрочем общности это не нарушает, так как
> все остальные случаи сводятся с одному из них либо их комбинации.
Случаи слишком вырожденные. Увы.
> 1) статический файл, размер 4 кб, ab -c 1000 -n 100000
> Concurrency выше не поднимаю, так иначе у squid начинаются проблемы,
> а настраивать его дополнительно я не готов.
> squid + apache:
> Time taken for tests: 416.201712 seconds
> загрузка процессора при этом ~90% - squid, остальное ab
Мдя. Вот тут со сквидом что-то в консерватории нетак. Или памяти под кэш
мало или еще что-то.
> nginx:
> Time taken for tests: 40.546765 seconds
> процессор при этом деле делится ~ 50 на 50 между ним и nginx
между ab ? Дык, оно сильно охочее до процессора. из-за 1000 открытых сокетов
и epoll();
> 2) динамический контент, размер ~60 кб, ab -c 100 -n 1000
> Concurrency 100, так как иначе apache начинает свопится и отжирать
> слишком много ресурсов.
> squid + apache:
> Time taken for tests: 26.724761 seconds
> загрузка процессора ~35% squid
И тут тоже со сквидом что-то нетак.
> nginx + apache:
> Time taken for tests: 18.190494 seconds
> загрузка процессора ~7% squid
> выводы я думаю понятны :)
Плохо понятны. У меня получились более друге результаты.
Я мерял по сети, с соседней машины, дабы было более приближенней к ситуации.
динамический контент, ab -c 500 -n 1000, 31Kb (php+выборки из mysql на
каждый запрос) - 46 секунд. пиковая нагрузка сквида на процессор - 25%. Всё
остальное - сотня httpd и mysql. Машина юзабельна. 500 паралельных запросов
- из-за того, что система рабочая и помимо ab там толкались еще юзера.
> конфигурация:
> Squid Cache: Version 2.5.STABLE9, debian sarge, 2.6.8-1-686, настройка
> дефотная (кроме опций относящихся к режиму rproxy)
> nginx 0.1.33, всё дефолтное, epoll
Впрочем, с комбинацией ngnix + статика + ab всё понятно. ngnix отдает
статику через sendfile(), на чем выигрывает за счет минимального
контекст-свитчинга. squid же отдает статику из памяти.
Впрочем, надо будет попробовать поднять ngnix и посмотреть, как у него с
keep-alive соединениями в сторону серверов и насколько он прожорлив до
дисков.
Reply to:
- References:
- диски
- From: Alexey Bestciokov <proforg@maloletka.ru>
- Re: диски
- From: Serge Matveev <serge@matveev.spb.ru>
- Re: диски
- From: Michael Shigorin <mike@osdn.org.ua>
- Re: диски
- From: "Alexander A. Vlasov" <listreader@rambler.ru>
- Re: диски
- From: Andrey Melnikoff <temnota+news@kmv.ru>
- Re: диски
- From: "Alexander A. Vlasov" <listreader@rambler.ru>
- Re: диски
- From: Andrey Melnikoff <temnota+news@kmv.ru>
- Re[2]: диски
- From: Alexey Bestciokov <proforg@maloletka.ru>