Problem s apache
Dalibor Straka
dast na panelnet.cz
Úterý Leden 27 18:10:11 CET 2004
On Tue, Jan 27, 2004 at 05:49:16PM +0100, Karel Zak wrote:
> On Tue, Jan 27, 2004 at 03:42:37PM +0100, Dalibor Straka wrote:
> > Videl bych to na blbe napsany php skripty. Donutte je aby spojeni do
> > mysql taky zaviraly. Je uplne v pohode, kdyz spojeni i behem jednoho skriptu
> > dvakrat otevrou a zavrou. Hlavne to nedrzet hodinu ;-(. Jak hodne je
>
> To mi pripada jako rada od navrharu HTTP 0.9, proste neni nic lepsiho
> nez navazovani spojeni. A az naproti nebude threadova aplikace, ale
> neco co se pri tom spojeni forkuje (treba PostgreSQL) tak to cely
> server dotycneho pujde do kyticek...
>
Pro mysql ano. Pro Postresql a oracle ne.
> V cem muze existence spojeni na SQL server neco blokovat a zpomalovat?
> Mam spojeni z apache na PostgreSQL (ne v PHP) co jedou i nekolik dni a
> problem nevidim.
>
Ale teda ted vam vynadam. Je sakra rozdil mezi spojenim
apache <--> mysql a apache <--> oracle(postgres). To je nebe a dudy.
S obema databazema se musi zachazet jinak. Do oracle udelam konstantni
spojeni a neprerusim ho. Kdyz se zacne do oracle busit "connect & close"
tak stravi vanoce forkovanim. Jenze mysql je presne na toto delane.
Naopak se mu nelibi, kdyz na nem visi plno dlouhodobych pripojeni.
Ktere se (klidne i chybou programu) nezaviraji a casem se uz zadne
spojeni nebude moci uskutecnit. Uz bude proste plno.
Kdyz vytvorite v php par desitek persistentnich spojeni do oracle pres
sessions, tak kazdy vyforkovany dedatko apachovo sdili tato spojeni.
Takze to mame, to mame pocet_spojeni * pocet_instanci. To oracle miluje.
Ale apache moc ne, protoze mu rada dochazi pamet. Kazdy worker ma v sobe
zkopirovana vsechna data vsech sessions (desitky Mega). Takze je dobre
obcas neco uzavrit. Jsou s tim problemy.
-- Dalibor Straka
Další informace o konferenci Linux