ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

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

[apache-talk] =?koi8-r?B?UmU6IFthcGFjaGUtdGFsa10gUmU6IFthcGFjaGUtdGFsa10gbW9kXw==?==?koi8-r?B?YWNjZWwgLSDXz9DSz9PZIMsg0sHa0sHCz9TeycvVIMkgyyDUxc0sIMvUzyA=?==?koi8-r?B?xcfPIMnT0M/M2NrVxdQ=?=



Добрый день!

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

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

>
>  Поэтому картина должна быть такая: независимо от размера буферов
>  документы с 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@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.