Mailinglisten-Archive |
Hiho, > Von: Stephan Schumann[SMTP:sts_(at)_kkcomputer.de] > > Hiho, > folgendes kleines Problem. Ich bin grad am basteln eines Onlineshops. Dort > kann man die Datenbank durchsuchen und angeben wieviele Artikel angezeigt > werden sollen. Wenn nun ein Besucher nach dem Artikle "a" sucht und angibt > das 1000 Artikel angezeigt werden sollen und dann auch noch ein paar mal > hintereinander auf suchen klickt, steigt die Prozessorauslastung auf 100% > und das ganze Teil schläft ein. Die Auslastung des Prozessors dauert so > lange bis anscheinend alle Anfragen abgearbeitet wurden. > > Nun meine Frage. Wie kann ich den verhindern das > > a; der Besucher viele viele Anfragen hintereinander (<1sek) starten kann > und > Sessons benutzen und Datum/Zeit (am besten per Unixtimestamp) der letzten Anfrage abspeichern und prüfen ob seit der letzten Abfrage X Sekunden vergangen sind sonst Fehlermeldung. > b; wie ich die Prozessorlast runterbekomm wenn eine ganz "normale" Anfrage > an den Server kommt (es gibt auch 100% bei einer ganz normalen Anfrage) > So solls ja auch sein ... wenns nur 10 % gibt heißt das, daß die CPU nicht aus- gelastet ist, weil sie auf lahme Festplatten oder so wartet ;) Nur wenn das mit den 100% länger vorkommt isses halt etwas bloed. Ich würde ansonsten noch unsinnige Eingabemöglichkeiten abschalten ... 1000 Ergebnisse braucht wirklich keiner ... selbst wenn ich ne CPU oder so suche, sollten 100 Ergebnisse reichen. Ansonsten würd ich noch verhindern, daß man Suchtexte < 3 Zeichen eingibt, sonst gibts ja ne riesen Ergebnismenge. MySQL bietet ab einer bestimmten Version (frag mich nicht) auch die Möglichkeiten eines Volltextindex, das würde beim Durchsuchen der Texte bestimmt einiges schneller machen .... Grüße, Mathias
php::bar PHP Wiki - Listenarchive