phpbar.de logo

Mailinglisten-Archive

[php] Gleichzeitige / simultane Anfragen simulieren

[php] Gleichzeitige / simultane Anfragen simulieren

Roman Hecht roman.hecht at mydata.de
Sa Jan 21 21:49:45 CET 2012


Hallo Oliver,

dein Skript simultan auszuführen ist dabei der falsche Ansatz. Die Fehlerquelle wird
nicht PHP, sondern vielmehr deine Datenbank sein. Je nach verwendetem SQL-Server und Engine
sind die Resultate eines simultanen Zugriffs vorhersehbar und damit auch auf SQL-Seite zu überprüfen.
Das richtige Stichwort lautet in deinem Fall "Transaktionssicherheit".

Mit freundlichen Grüßen

Roman Hecht

Am 20.01.2012 um 09:55 schrieb Oliver Baran:

> Hallo Florian,
> 
> danke für den Tipp, aber ich wollte den Server nicht unter Last setzten.
> 
> Es sollte z.B. simuliert werden das gleichzeitige Zugriffe ein anderes
> verhalten des Programmes hervorbringt.
> Wie z.B. in einem Shop:
> User A kommt genau gleichzeitig mit User B auf den Shop.
> Das Script holt sich alle Daten aus der Datenbank bei User A und B.
> Nun möchte User A das Produkt P kaufen genau wie User B.
> Aber von dem Produkt P ist nur noch eines verfügbar.
> Beide Scripte sehen das es von dem Produkt noch eines gibt, und führen
> die Aktion aus.
> Nun wird innerhalb des Scriptes die Menge um eines reduziert. Bei
> beiden Usern steht nun in dem Script die Verfügbarkeit des Produktes P
> mit 0.
> Diese wird nun auch in die Datenbank zurück geschrieben.
> Nun haben User A und B das Produkt P gekauft, wer bekommt es nun aber?
> Es ist ja nur eins vorhanden.
> 
> Solche Probleme würde ich gerne durch Tests herausfinden können...
> 
> Grüße
> Oliver
> 
> 
> Am 20. Januar 2012 07:04 schrieb Florian @ Familie Kieling
> <florian at familie-kieling.de>:
>> Moin Oliver,
>> 
>> schaue Dir mal die Tools "ab" (Apache-Benchmark) und "Selenium".
>> Mit ab kannst Du verschiedene Lastszenarien simulieren. Mit Selenium steht
>> Dir die Möglichkeit offen, automatisierte Tests Deiner Seite zu fahren. Das
>> läßt sich bspw. mit Cron auch zu einem Lasttest erweitern.
>> 
>> Gruß
>> Florian
>> 
>> Am 19.01.2012 22:03, schrieb Oliver Baran:
>>> Hallo Liste,
>>> 
>>> Kennt ihr eine Möglichkeit eine Applikation mit gleichzeitigen Anfragen /
>>> Aufrufen zu testen?
>>> Damit man zum Beispiel frühzeitig Probleme findet die durch gleichzeitiges
>>> zugreifen auf ein Script entstehen können.
>>> Wie z.B. Ein Feld wird in der Datenbank geupdatet und ein anderer User der
>>> gleichzeitig dieses Script aufruft bekommt noch den alten Wert
>>> ausgeliefert. Was fatal wäre wenn es z.B. um einen Bestand geht.
>>> Kann PHPUnit da evtl. weiterhelfen?
>>> Ich bin über Ideen und Lösungsvorschläge dankbar.
>>> 
>>> Viele Grüße
>>> Oliver
>> 
>> --
>> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
>> Informationen: http://www.phpbar.de
>> http://lists.phpbar.de/mailman/listinfo/php
> -- 
> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
> Informationen: http://www.phpbar.de
> http://lists.phpbar.de/mailman/listinfo/php


php::bar PHP Wiki   -   Listenarchive