Hallo alle,
irgendwer probiert derzeit einen verteilten Lasttest auf unser Testwiki (a.k.a. DDOS Attacke). 30-40 Requests pro Sekunde sind zwar eigentlich nicht die Welt, aber da fast jede Anfrage auf "Letzte Änderungen, 30 Tage" geht, belastet das die Datenbank massiv. Mediawiki cached das nicht.
Hinzu kommt, dass die unerwartet lange laufenden Requests zu einer Überlastung des PHP FPM Pools führen, was zu einer explosiven Zunahme der Worker-Prozesse im Apache führt. Und damit wird der ganze Server ausgebremst, man hat das im Hauptwiki deutlich gemerkt.
Ich habe schon vor einiger Zeit in der index.php des Wiki eine Abfrage eingebaut, die bestimmte Requests nur noch für angemeldete Benutzer erlaubt. Verbotene Requests werden mit HTTP 403 beantwortet, bevor Mediawiki damit beginnt, irgendwelche teuren Dinge zu tun.
Diese Abfrage habe ich jetzt ziemlich radikal erweitert und das Wiki ist wieder performant. Für eine IP-Quellenanalyse habe ich im Moment keine Zeit, es sieht aber visuell danach aus, als käme fast jeder Request von einer anderen IP.
Falls jemand auf unerwartete 403-Fehler stößt, bitte melden.
Rolf
sumpsi - posui - obstruxi