Hallo,
ich programmiere im Moment ein Browsergame, das Grundgerüst stht ja schon, aber nun Frage ich mich, wieviele Queries schafft ein Server?
In der Sekunde wird das mit steigender Spielerzahl schon ne ganze Menge..
mfg
Hallo,
ich programmiere im Moment ein Browsergame, das Grundgerüst stht ja schon, aber nun Frage ich mich, wieviele Queries schafft ein Server?
In der Sekunde wird das mit steigender Spielerzahl schon ne ganze Menge..
mfg
Kannst ja mal die Zeit messen.
Du musst berücksichtigen, dass nicht mehrere auf einmal in die selbe Tabelle schreiben können.
Wie denn die Zeit messen?
Ja das ist mir klar, trotzdem sind das viele queries pro Seite.
Hast du einen Wrapper fürs MySQL? Dann könntest du einfach die Zeitmessung bei den Funktionen einbinden, z.B.:
class MyDBWrapper
{
protected $time;
public function query($query)
{
$t1 = microtime(true);
// execute the $query
$t2 = microtime(true);
$this->time += $t2 - $t1;
}
...
}
Alles anzeigen
Ansonsten musst du die Zeitmessung eben manuell bei jeder Abfrage einfügen.
Naja, und dann rufst du eben mal 100 Scripts auf einmal auf.
Das geht relativ einfach: http://www.alternateinterior.com/2007/05/multi-…ies-in-php.html
Dann startest du in einer Schleife eben mehrfach das Script.
Damit die sich austauschen können, verwendest du am besten eine kleine Text-Datei:
$semaphore = sem_get(1234567890);
sem_acquire($semaphore);
file_put_contents('queries.cnt', floatval(@file_get_contents('queries.cnt')) + $db->time);
sem_release($semaphore);
sem_remove($semaphore);
Dann bestimmst du noch die durchschnittliche Ausführungszeit und die Ausführungszeit vom Start des ersten Threads bis zum Ende des letzten Threads. (ersten Zeitpunkt kannst du einfach in dem Script, das die Threads öffnet, in eine Datei schreiben. Am Ende eines Threads wird dann immer der Endzeitpunkt in einer Datei überschrieben, so gehst du sicher, dass wirklich der letzte Thread zu Wort kommt.
Das machst du dann mal für 1, 10, 100 oder 1000 (wenn nicht 100 schon zu viel sind) Threads und vergleichst die Zeiten. Schau, inwiefern die Queries die Zeit bestimmen. Anhand des Anteils der Query-Ausführung an der Gesamtausführungszeit kannst du dann abschätzen, wie viel vertragen wird.
Viele liebe Grüße
The User
vielen Dank für die Riesenhilfe!
Hat mir wirklich geholfen!
vielen Dank