Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] Re: [apache-talk] Re: [apache-talk] mod_ accel - вопросы к разработчику и к тем, кто его использует



Добрый день!

>  Да нет, это Вы все-таки не разобрались, как работает сквид.
>  Запрошенный документ он вытягивает сразу, на предельно возможной
скорости.
>  И складывает вытянутый документ в свой кэш (в памяти или на диске -
>  зависит от разных обстоятельств, это сейчас неважно). При этом
одновременно
>  начинает отдавать всем клиентам, которые документ просят.

Ну если он будет отдавать тот же документ другим клиентам, то для
динамических запросов это будет кошмар - они почти все всегда ориентированы
для одного клиента.

>
>  Поэтому картина должна быть такая: независимо от размера буферов
>  документы с backend'а тягаются на такой скорости, которую позволяет
>  достичь LAN. Процесс этот ничем не тормозится, и заканчивается с
>  концом документа (а вовсе не с уходом клиента, который, кстати,
>  может быть не один - придет 2й пока не отвалился 1й, и тоже начнет
>  качать, и так далее).

Я тоже ранее так думал, что будет все так работать. Но на живом сервере с
большим количеством запросов я видел обратное - httpd демоны тогда росли в
огромных количествах. На вскидку по памяти следующее - apache без
аксселератора имел в среднем около 70-90 процессов, когда я поставил
аксслеретор, отконфигурил в соотвествии с FAQ и топиками maillist-а squid-а,
то количество процессов apache тогда подскочило до 150-200 при той же
посещаемости сайтов. Я увеличивал размер буфера TCP в squid.conf (об этом
было тогда в самом топике про аккселерацию), но не помогло. Рылся в
исходниках squid-а, находил то место, где увеличивался размер приемного
буфера, но все мои умозаключения привели к тому, что то что вы пишите выше -
ваше умозаключение, которое не имеет общего с реальностью. squid НЕ
ОТПУСКАЕТ backend и не работает в бекендом на "максимальной сетевой скорости
с ним", если медленный клиент получает документ порциями (например, много
киентов, которые на диалапе и 100 Кб документ будут получать до 40 сек, при
этом держа backend).

> > А вам не кажется, что squid с бекендом работает через HTTP 1.0 и
keep-alive
> > в этой версии протокола не работает?
>
>  Насчет того, что сквид запросы делает по HTTP/1.0 - правильно. Насчет
>  невозможности keep-alive при запросе по HTTP/1.0 - совершенно неверно.

Это уже "неправильная" реализация apache, если можно так сказать. По RFC в
HTTP/1.0 нет Keep-Alive, а squid обязан работать по RFC, так как бекендом
может оказаться на apache сервер.

>  Проверять не пробовали? :)
>
> % telnet localhost http
> Trying 127.0.0.1...
> Connected to localhost.
> Escape character is '^]'.
> HEAD / HTTP/1.0
> Connection: keep-alive
>
> HTTP/1.1 200 OK
> Date: Sun, 10 Feb 2002 12:03:10 GMT
> Server: Apache/1.3.14 (Unix) e1f mod_perl/1.24 rus/PL30.0
> Keep-Alive: timeout=45, max=100
> Connection: Keep-Alive
> Content-Type: text/html
>
> [здесь коннекция висит положенные 45 сек]

Ваша проверка работает для apache, но из этого не следует, что squid делает
keep-alive запросы к бекенду по HTTP 1.0 стандарту. Это ваши докадки и
умозаключения.

>  Хотя я не исключаю того, что у Вас были какие-то иные проблемы, но все
>  равно tcpdump поможет их выявить (надеюсь, лучше, чем мой тон:).

sniffit лучше такие вещи выявляет. Я им пользуюсь.

> > Вы вообще используете squid как аксселератор? Если да, то сколько хитов
в
> > день к нему (или к бекенду) идет? Или вы только теоретик squid-а?
>
>  С акселераторами сейчас не работаю. А вообще я теоретик, судьба такая. :)

Ну тогда все понятно :)
Вот когда запустите squid аксселератор на 100 тыс. хитовом серваке с 90%
динамическими страницами, тогда я поверю, что squid работает так, как вы
написали.

>  Eugene Berdnikov

Алексей Звягин


=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.