Alexey Bestciokov <[EMAIL PROTECTED]> wrote: > AM> Alexander A. Vlasov <[EMAIL PROTECTED]> 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 соединениями в сторону серверов и насколько он прожорлив до дисков. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

