mysql - programovani, zatez

Michal Krause mike na navrcholu.cz
Čtvrtek Duben 29 13:51:04 CEST 1999


Dne 29. 4. 1999 Jan Podhajsky napsal:

> mam program (v C) ktery pracuje nad jednou tabulkou v Mysql. Vyselektuje
> data, provede *casove narocnou* operaci nad temito daty a updatne je zpet.
> Pro celkove urychleni jsem zkousel program v miste, kde zpracovava ty data
> rozforkovat.
> Ale narazil jsem na problem, ze obcas se procesy pri pristupu do db navzajem
> vyblokovaly a nektere zustaly viset (coz je zrejme zapriceneno tim, ze
> pouzivaji stejny pristup do db (vytvoreny tim forkem))
> 
> Ona otakza zni. Pokud si kazdy rozforkovany proces bude otevirat vlastni
> spojeni do db, odstrani se mi tim ty blokace a nebude to moc zatezovat
> server???

To je dost obecna otazka (napr. nevime, jak casto se to cele odehrava), ale
spis bych se zameril na zmenu koncepce. Napadaji me minimalne dve reseni: 

a) forknuty proces bud jenom pocitat, ale nebude data cpat do databaze. To
necha na rodici

b) misto forku pouzit thready a pristup k db konexi zamykat treba pomoci 
mutexu

S pozdravem

Michal Krause                                                      /\
ICQ: 7665279            Informace (nejenom) ze sveta Linuxu     /\/  \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz

There are three kinds of lies: lies, damn lies, and benchmarks.
                                                         Jeremy Allison


Další informace o konferenci Linux