this post was submitted on 11 Jun 2023
10 points (91.7% liked)
Haupteingang
3692 readers
2 users here now
Die Standard-Community von feddit.de
In dieser Community geht es ausschließlich um alles rund um die Instanz!
Hast du Fragen? !fragfeddit@feddit.de
matrix chat: !feddit:tilde.fun
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Ich 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.