Mailinglisten-Archive |
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