Привет!
> > # TAG: redirect_rewrites_host_header
> > # By default Squid rewrites any Host: header in redirected
> > # requests. If you are running a accelerator then this may
> > # not be a wanted effect of a redirector.
> > #
> > #Default:
> > # redirect_rewrites_host_header on
> >
> > То есть ставишь в off и Host остается как клиента передавал в original
> > request. То есть то что я тогда и использовал
>
> Вы не перепутали с директивой "httpd_accel_uses_host_header on"?
Перепутал :( Но именно с ней я и работал с год назад. Подзабыл просто, хотя
конфиг squid-а с тех времен содержит именно httpd_accel_uses_host_header on
> > Также, в squid есть такая директива:
> > tcp_recv_bufsize 102400 bytes
> >
> > Я поставил тогда буфер в 100 Кб на сокет, разумеется изменил в sysctl
размер
> > буфера для TCP (сразу скажу, что размер сокета точно был позволителен
> > системой, да и squid иначе в логи пишет, что не может увеличить размер
> > буфера иначе) и надеялся тогда, что он будет после получения от
backend-а
> > ответа закрывать сокет и разруливаться дальше с медленным клиентом, но
как
>
> А причем здесь размер буфера? И с какой стати сквид при _малом буфере_
> должен ждать, пока клиент будет вытягивать документ? Объясните.
Че то не понимаю я вас. При малом буфере он и будет ждать медленного
клиента, разумеется, обслуживая также других. А что он, сокет с ним должен
отрубить и отдать ему битый документ? И держать при этом backend сервер -
mod_perl скрипты, например, пока медленный клиент не вытянет от фронтенда
хотя бы до остатка в размере TCP приемного буфера между фронтендом и
бекендом? IMHO вы сами запутались или что-то не так понимаете.
>
> Мне кажется, Вы просто не понимаете, как сквид работает.
Размер имеет значение :)
Мне кажется, вы профессионал по squid-у. Может поможете его запустить как
аксселератор, чтобы он выполнял свои функции, в не грузил машину. Хотя
думаю, что в нем я и не достаточно тогда разобрался, но мне хватило и того.
> > оказалось на практике - сокет оставался открытым с бекендом и он держал
> > backend пока клиент не получал свой полностье response... Я это видел по
>
> Ужас! :) А выключить на backend'e keep-alive и поставить на сквиде
> pconn_timeout в 0 не пробовали?
А вам не кажется, что squid с бекендом работает через HTTP 1.0 и keep-alive
в этой версии протокола не работает?
В то время я читал доку squid-а и FAQ-и на сайте squid-а, где было описано
как делать из него аксселератор. Я делал как там и описывалось.
> > всей загрузке системы, так как мог сранивать до и после установки squid.
Кол
> > ичество апачей тогда выросло раза в 3-5, все работало, но потом через
> > несколько минут потихоньку свапилось с огромной скоростью и уходило в
>
> Класс! Акселератор вместо того, чтобы разгружать backend, наоборот,
> тормозит его. Вам не приходила в голову мысль, что здесь что-то не так?
:)
Приходила. О ней и говорил выше.
> > даун... Пришлось от него отказаться, а apache настроить на то, чтобы
child-ы
> > умирали после ~ 100 запросов - тогда share memory не "расшатывалась" и
> > свопинга не было. Так и до сих пор, вот собственно теперь одна надежда
на
> > mod_accel :)
>
> Я ничего не имею против mod_accel, но мне кажется, что дело не в магии.
Кроме язвительного тона, никакой сути я так не извлек из вашего письма.
Вы вообще используете squid как аксселератор? Если да, то сколько хитов в
день к нему (или к бекенду) идет? Или вы только теоретик squid-а?
P.S. Вы бы лучше сказали, что не так я делал. А то кроме как про
pconn_timeout ничего не сказали. А эта опция, как следует из описания в
squid.conf работает для parent и sibling -proxies, а не для аксселерации.
Про keep-alive тоже написал выше.
--
> 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 =