Andre Schulze as8@rcs.urz.tu-dresden.de wrote:
Am Wed den 01 Oct 2003 um 03:14:59PM +0200 schrieb Jens Puruckherr:
Hallo,
ich will einen Satz von Queries mehrmals parallel auf eine DB loslassen. Dabei soll die Zeit gemessen werden, bis der letzte Prozess den letzten Query abgearbeitet hat. Leztendlich hängt davon die Entscheidung InnoDB oder MyISAM ab. Ich weiss, dass ich damit nicht wirklich parallele Abfragen erzeuge, aber wie soll man es denn sonst rausbekommen?
Als fast hack kann man ja die Kommandozeilentools nutzen, die können sicherlich auch sql aus Dateien lesen. Parallelität bekommt man durch mehrfaches Starten und Zeit messen kann time. Ist allerdings durch die Ladezeiten und den Verbindungsaufbau zur DB nicht frei von Fehlern. Eventuell kann man diese Effekte einzeln untersuchen und dann "herausrechnen".
Den Overhead beim Starten der Anfragewerkzeuge hast du im praktischen Betrieb ja auch. Weiterhin: Du musst ihn gar nicht herausrechnen, weil er ja bei beiden Testläufen gleich ist, wenn man beide Tabellen mit den selben SQL-Queries füttert.
Liegen die Laufzeitunterschiede zwischen den beiden Typen bei dir im Sekundenbereich? Brauchst du sie genau? Bei Anfragen, für die die DB-Maschine Minuten braucht sollte der Overhead deiner Anfragemethoden nahezu egal sein.
mfg, Fabian