MySql: Testdaten

Irgendwie scheints mir etwas komisch, dass du die ganzen Testdaten im php File haben willst.

Kannst du diese Testdaten nicht extern ablegen (z.b in einem testdaten.sql file) und dann das File verarbeiten?

Oder evt kannst du die Testdaten dynamisch erzeugen. Die TelNr zb als Zufallszahlen und Name als "Name$laufnr" etc.

Ähem, ja da müsste ich mich mal schlau machen was sql-files sind...
 
Moin Frank,

könntest du mal ein bissl erläutern, wie du überhaupt an die Daten aus der Datei kommst?

Weshalb ich Frage:

wenn du eine 100MB grosse Datei bspw. per file() in einer Variable speicherst, dann wird das auch Speicher im Bereich von 100MB belegen.

Wenn du selbe Datei jedoch bspw. per fopen() öffnest, und Zeile für Zeile abarbeitest, dann sollte sich der belegte Speicher im Rahmen der Bytes in der aktuell verarbeiteten Zeile bewegen, und auch nicht mehr werden(sofern du die ganzen Zeilen nicht in irgendeiner Form "bunkerst")


Kannst es ja mal probieren:

Code:
<?php
$i=1;
echo 'start:'.memory_get_usage() . "<br>"; 
$f=fopen('grosse_datei.txt','r');
while (!feof($f)) 
{
    $s=fgets($f, 4096);
    echo $i++.'['.$s.']=&gt;'.memory_get_usage() . "<br>"; 
    set_time_limit(30);
}
fclose($f);
echo 'ende:'.memory_get_usage() . "<br>"; 
?>

(Ich hab das grad mal mit einer 50MB-Datei/100000 Zeilen getestet->kein Speicherproblem :))

Ergo: die Daten nicht komplett innerhalb von PHP als Variablen/Arrays etc. ablegen, sondern bspw. als CSV in einer Datei lagern, und jeweils nur 1 Zeile verarbeiten.
 
Danke für Eure Beiträge!
Mit Sicherheit habe ich das nicht optimal gelöst, aber zumindest habe ich es nun geschafft, die DB mal ein wenig "aufzupumpen".

Zweck der Übung ist, die Performance der Seite zu testen. Insbesondere natürlich die Dauern der Queries, die ja auch mit der Größe der DB anwachsen.


Nun möchte ich zu allem Überfluss auch noch Zugriffe von vielen Clients simulieren. Das drückt ja auch erheblich auf die Performance.

Kann mir dazu noch einer von Euch einen Tipp geben?
Ich wollte nicht unbedingt Heerschaaren von Testern zusammen suchen...

Danke,
Frank
 
Zurück