Ein Kunde hat @all-Erwähnungen im Chat aktiviert, mit zwei Kanälen mit jeweils 16.000 Benutzern. Das hat Spaß gemacht!
Nach 19 Erwähnungen an alle haben sie es schnell wieder ausgeschaltet. 12 Stunden später hatte ihr (leistungsstarkes) System immer noch eine hohe CPU-Auslastung.
Das Problem wurde durch das Löschen der 320.000 problematischen Einträge aus der Erwähnungstabelle behoben
delete from chat_mentions
where chat_message_id in (
(select chat_message_id
from chat_mentions
group by chat_message_id having count(*) > 100)
);
aber wir waren immer noch ratlos, warum dies so viele Probleme verursachte.
Es gab eine Reihe von Instanzen von dieser Abfrage, die immer noch liefen.
Da die Zeilen bereits weg waren, lieferte eine Erklärung keine guten Ergebnisse, aber es ist klar, dass sie stark beansprucht wurde. Alle Indizes sind vorhanden.