Wenn ich auf feddit.de über Firefox gehe, bekomme ich ab und zu einen internen Serverfehler 500 angezeigt.
Heute habe ich den ca. 4 Mal gesehen. Zusätzlich kommt ein “End-of-File” Fehler (Firefox gibt die Fehlerkennung “PR_END_OF_FILE_ERROR” aus), wenn man aktualisiert. Nach ein paar Versuchen funktioniert dann alles wieder.
Ist das schon bekannt?
klingt erstmal plausibel, aber eigentlich sind weder CPU noch RAM ganz ausgelastet
FYI hier ein Post auf der Instanz sh.itjust.works wonach ein Erhöhen der nginx
worker_connections
geholfen hat: https://sh.itjust.works/post/49787Ich hab jetzt keine Ahnung von der Infrastruktur hier im speziellen, aber was oft als erstes abgrätscht sind irgendwelche Limits für Threads entweder für die Server Requests oder für Datenbankzugriffe. Wenn z.B nur 20 parallele Datenbankverbindungen erlaubt sind, führt das schnell zu Timeouts, was dann als 500er durchschlägt. Zumindest wird irgendwas im Log gelandet sein.
Die aktiven SQL Connections kann man auf jedenfall konfigurieren. Siehe https://join-lemmy.org/docs/en/administration/configuration.html
Und der Default von 5 parallelen Connections wäre extrem wenig. Hatte beruflich vor kurzem das exakt selbe Problem - 500er durch Timeouts weil die SQL-Connections auf 5 standen - kombiniert mit nem Aquire-Timeout von paar Sekunden. Wenn dann paar hundert Anfragen gleichzeitig kommen ist Ende - selbst wenn CPU/RAM etc. quasi idle sind.
Wobei die SQL-Verbindungen anwendungsseitig sowieso in einem Pool sein sollten, die will man ja gar nicht immer wieder schließen und öffnen müssen. Und 5 ist zwar nicht viel, aber auch nicht total unterdimensioniert. Oracle z.B. empfiehlt 1-10 Verbindungen pro Core auf der Maschine mit dem DBMS.
Außerdem: Ich kenne mich mit Lemmy überhaupt nicht aus, bin aber überrascht, dass da eine Postgres bzw. überhaupt eine relationale DB hintersteht. Für diesen Anwendungsfall hätte ich eine NoSQL-DB erwartet.
Ohne das genaue Setup zu kennen ist es schwierig zu sagen ob es an diesem Parameter liegt. Aber wäre auf jedenfall etwas, dass es sich lohnen würde zu monitoren.