[Vienna-pm] non-blocking DBI / Postgres

Peter J. Holzer hjp-vienna-pm-list at hjp.at
Mon Nov 3 08:35:35 CST 2003


On 2003-11-03 03:58:42 +0100, Marinos J. Yannikos | Geizhals.at wrote:
> hat sich eigentlich schon jemand Gedanken darüber gemacht, wie man mit DBI
> mehrere (SELECT-)Queries absetzen und parallel ausführen lassen könnte? Wenn
> man Sequenzen wie
> 
> execute()...execute()...execute()...fetchall()...fetchall()...fetchall()
> 
> verwendet, werden die Queries ja trotzdem sequentiell abgearbeitet, d.h. das
> erste execute() blockt schon.

Bei Postgres? Bei Oracle blockt meiner Erfahrung nach erst das erste
fetch() (und auch nicht, bis die ganze Query abgearbeitet ist, sondern
bis "genügend Daten" vorhanden sind).

> Wünschenswert wäre ein Trick, mit dem erst das
> erste fetchall() blocken würde (die Latenzzeit für alle Queries sollte so
> reduziert werden, wenn man davon ausgehen kann, daß der DB-Server diese auch
> effizient parallel abarbeiten kann).
[...]
> Hat irgendjemand dafür eine elegante Lösung? Mein schneller Hack dafür
> brachte leider eine Performance-Verschlechterung ;-) (fork() mit mehreren
> Child-Prozessen, die Queries im plaintext erhalten und das Ergebnis im
> Storable-Format an den parent schicken - ugh).

Forkst Du für jeden Request oder laufen die Child-Prozesse dauernd? Im
ersten Fall würde mich nicht wundern, dass das langsamer ist, im zweiten
... wie lange sind denn die Latencies, um die es da geht?
Millisekunden? Wie komplex sind die Datenstrukturen? Möglicherweise ist
Storable das Bottleneck? Schon probiert, die Resultate einfach als Folge
von Strings (mit geeignetem Trennzeichen) zu schicken?

	hp

-- 
   _  | Peter J. Holzer    | We have failed our own creation and given
|_|_) | Sysadmin WSR       | birth something truly awful. We're just too
| |   | hjp at hjp.at         | busy cooing over the pram to notice.
__/   | http://www.hjp.at/ |       -- http://www.internetisshit.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20031103/913d1daf/attachment.bin


More information about the Vienna-pm mailing list