ПРОЕКТЫ 


  АРХИВ 


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]

Re: Re[2]: [apache-talk] KeepAlive



Прочитайте плиз, то что ниже, переведите и примените полученные знания на практике и множество незнакомых Вам людей перестанут Вам писать странные письма:
=======================================
Welcome to the apache-talk mailing list!

Please save this message for future reference.  Thank you.

If you ever want to remove yourself from this mailing list,
you can send mail to <majordomo@xxxxxxxxxxxxx> with the following
command in the body of your email message:

    unsubscribe apache-talk

or from another account, besides ВАШ_EMAIL:

    unsubscribe apache-talk ВАШ_EMAIL

If you ever need to get in contact with the owner of the list,
(if you have trouble unsubscribing, or have questions about the
list itself) send email to <owner-apache-talk@xxxxxxxxxxxxx> .
This is the general rule for most mailing lists when you need
to contact a human.
=======================================

On Wed, 15 Aug 2007 15:16:06 +0400
AdminUUU <Admin@xxxxxx> wrote:

>A > 
>A > Здравствуйте, Pronichev.
>A > Вот скажите, какого фига вы мне пишете??
>A > 
>A > Слухач.
>A > 
>A > 
>A > 
>A > 
>A > > Попробуйте поставить /server-status/
>A > 
>A > >                 <Location /server-status>
>A > >                         SetHandler server-status
>A > >                         Order deny,allow
>A > >                         AuthType Basic
>A > >                         AuthName "Restricted Files"
>A > >                         AuthBasicProvider file
>A > >                         AuthUserFile ....
>A > >                         Require valid-user
>A > >                 </Location>
>A > > Для этого должен быть модуль mod_status. Потом
>A > зайдите на
>A > > http://host/server-status/ и посмотрите находятся ли
>A > чилды в
>A > > состоянии KeepAlive. Проверьте параметры:
>A > > KeepAlive
>A > > KeepAliveTimeout
>A > > MaxKeepAliveRequests
>A > 
>A > > Клиент у вас случаем не использует HTTP/1.0?
>A > 
>A > 
>A > > On Mon, 13 Aug 2007 15:45:08 +0400
>A > > "Даниил Меграбян" <danil.megrabjan@xxxxxxxxx> wrote:
>A > 
>A > >> >
>A > >> > Господа, не совсем понимаю сути KeepAlive, от
>A > того наверное проблема и
>A > >> > возникла... пните в нужную сторону.
>A > >> >
>A > >> > OS: SLES10 ( OpenSuse )
>A > >> > - Apache 2.2.4 (prefork)
>A > >> > - php 5 (mod)
>A > >> > - unixODBC
>A > >> >
>A > >> > Очень необходимы (постоянные
>A > соединения с бд), для пользования
>A > >> > времянками и т.п...
>A > >> >
>A > >> > Для этого сделаны: в unixODBC выставлен pooling
>A > конэктов к бд, keepalive on 600.
>A > >> >
>A > >> > Как должно получиться в идеале. "Браузер
>A > 1" грузит index.php. В
>A > >> > скрипте устанавливается коннэкт до БД
>A > через unixODBC. Он этот конэкт
>A > >> > кладет в пул. Итого Apache отдает какой-то
>A > html клиенту. Всё, на этот
>A > >> > раз. (т.к. keepalive. Cамо соединение между
>A > браузером/клиентом
>A > >> > осталось?!) Далее. Cпустя чуть-чуть (менее
>A > 600 секунд) тот же "браузер
>A > >> > 1" щемиться в script2.php там происходит
>A > попытка коннэкта к бд через
>A > >> > unixodbc. Поскольу процесс Apache один и тот же
>A > (в случае 1, и
>A > >> > нынешнем) unixODBC подкидывает коннэкт php с
>A > pool'a поскольку
>A > >> > реквизиты на коннэкт одни и те же (юзер,
>A > пароль, база...) и вот такой
>A > >> > заколдованный круг. Самая главная
>A > задача, итого чтобы юзер
>A > >> > законнектившийся к бд один раз через
>A > определенный форканный процесс
>A > >> > Apache, далее все последующие запросы там
>A > же и выпонялись в этом же
>A > >> > процессе.
>A > >> >
>A > >> > На яву же получается бредовая картина.
>A > Apache ведет себя по своему
>A > >> > собственному настроению.
>A > >> > 1. HTTP запрос
>A > >> > Конэкт к базе - полет нормальный.
>A > Обрабатываемся в форканом процессе (
>A > >> > к примеру, ?10).
>A > >> >
>A > >> > 2. HTTP запрос
>A > >> > Создаем времянку - полет нормальный.
>A > Выполнились в том же 10 процессе.
>A > >> >
>A > >> > 3. HTTP запрос
>A > >> > Какая-нибудь еще операция с БД. Apache
>A > форкнул процесс и мы уже
>A > >> > выполняемся в процессе ?11. Нашего
>A > старого коннэкта в пуле этого
>A > >> > процесса естественно нет. Это порождает
>A > новый коннэкт к бд с теми же
>A > >> > реквизитами...
>A > >> >
>A > >> > Очередность запросов и результатов,
>A > совершенно не поддается логике.
>A > >> > Может случиться и на 2 http запросе и на
>A > 10...
>A > >> >
>A > >> > Как быть, жить хочется ?! :)
>A > >> >
>A > >> > --
>A > >> > Daniil A Megrabjan | email danil.megrabjan@xxxxxxxxx | icq 4545450


-- 
WBR dyker
Agava Software
GPG Pub key: http://keyserver.veridis.com:11371/export?id=-3088395899858320934&created=1134482111000
ICQ: 196076228
Mobile: +7(926)144-93-86



 




Copyright © Lexa Software, 1996-2009.