Neben den richtigen dingen die Frank angesprochen ( skalierung der Hardware hat ) clustern, Dinge wie ein Session server ...
Nochmal Software Optimierungen:
DB Optimierung:
Passen die DB Indexe alle in das RAM? Brauchst du alle?
Apache Connects/DB connects:
Bauen die Apache Prozesse mehr DB verbindungen auf als die SQL zulässt?
( bin leider kein php entwickler. Unter Perl kann man das mit Apache::DBI sehr schön regeln das je nach anwendung pro Apache Child exact ein konnect gebraucht wird )
Da du sehr viele kurze, verschiedene Besucher hast:
Lager alle Seiten, Bilder etc auf einen anderen Server aus. Auch die Eingabe-Formulare. ( cache greift nicht )
Script Optimierungen:
Jetzt müsste man sich eigentlich dein Script durchlesen aber hier nochmal ein paar Ideen (ka was du da machst das kann auch eine verschlimbesserung sein):
- Liste mit allen Kursen, zu denen sich Student X anmelden darf
Könntest du alle denkbaren kombinationen "vor rendern" die seiten statisch irgendwo ablegen und dem Stundent nach der Anmeldung nur noch entsprechend verlinken u.u. auch ein wenig dhtml das unztreffende kurse client seitig ausblendet?
- Liste mit allen Kursen wird geladen, der gewählte Kurs wird entsprechend markiert als "angemeldet"
Liste wieder statisch laden und nur via DHTML ( client seitig ) die jenigen makieren die er ausgewählt hat.
( z.B. javascript parst url parameter und du verlinkst: http://statik.uniserver.edu/kursliste.html?angemldet=1,432,5322,54764,23
)
Wenn ein student hier bescheisst kann man ihn wenn "Ruhe" ist immer noch entfernen.
Das primaäre problem ist das der Student sofort wissen soll ob er den platz hat oder nicht.
Zum Thema "first-come-first-serve" Prinzip:
Könnte ich den namen deiner Uni haben? Ich würde euren Studenten gerne einen Kostengünstigen Bot-Service anbieten sich Zeitnah nach freischaltung der Seiten anzumelden. 800 - 1000 Anmeldungen pro minute sollte ich locker schaffen. Oder sollte das etwas schon jetzt dein problem sein ? ( *fg* )
Ich würde doch mal /dev/random empfehlen damit nicht nur die Kumpels von den Informatikern die ersten plätze bekommen. Erinnert mich irgendwie an so ein nettes Script das ein Freund von mir mal geschrieben hatten das einem in dem Moment ne SMS geschickt hat wenn ein beliebtes und "seltenes" Buch in UniBibliothek zurückgegeben wurde - da man die nicht Reservieren durfte ^^. War auch so'ne schlaue First-come-first-serve Regelung.