Neukoncena spojeni Apache::DBI

Honza Pazdziora adelton na informatics.muni.cz
Pondělí Červen 28 09:26:59 MEST 2004


On Mon, Jun 28, 2004 at 08:42:48AM +0200, Ondrej Koala Vacha wrote:
>
> zacal jsem pouzivat modul Apache::DBI, ktery ma delat trvala spojeni do
> databaze. To dela, ale neni mi jasne, jak se nakonec prislusne spojeni s
> databazi ukonci - volani disconnect jsou totiz zachycena. Takze vse je

Spojeni je ukonceno pri ukonceni prislusneho procesu Apache.

> je jak ma, jen po zavreni okna prohlize tam zustane otevrene spojeni

Ono okno prohlizece nema zadnou souvislost s potomkem Apache, ktery na
pozadavky z toho okne odpovida. Ve skutecnosti muze kazde kliknuti
z daneho okna chytit a zpracovat jiny proces Apache. Dokonce nekdo
muze ten httpd mezi kliknutimi prestartovat, takze ten puvodni proces
uz vubec nebezi.

> (konkretne mysql vlakno). A v novem okne se otevre nove spojeni, takze
> vlaken vesele pribyva.

V MySQL je vytvoreno jedno vlakno na obsluhu jednoho databazoveho
spojeni (doufam).

V novem okne (prohlizece) nemusi byt otevreno nove okno -- Apache::DBI
pouziva hash otevrenych spojeni klicovany podle parametru (atributu)
tech spojeni, takze pokud kliknete v jinem okne (nebo z jineho stroje,
nebo z jine planety) a trefite se tak, ze Vas pozadavek obslouzi ten
samy proces Apache, tak se pouzije uz otevrene databazove spojeni.

> Pouzivate to nekdo?

Ano, bez problemu, akorat vsechny aplikace museji dat connectu stejne
atributy, aby doslo k maximalnimu sdileni.

Pokud tedy mate pomoci Apache::DBI pokryty aplikace, ktere vsechny
delaji stejny connect do databaze (s prave jednou sadou atributu),
tak pocet otevrenych databazovych spojeni poroste maximalne k poctu
procesu Apache (MaxClients), nema duvod byt vyssi. Samozrejme, mate-li
v systemu ruzne aplikace pouzivajici ruzne DBI->connect parametry, tak
pocet paralelnich spojeni do databaze bude prislusne znasoben.

--
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 .project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
		Only self-confident people can be simple.


Další informace o konferenci Perl