Open friedrichweise opened 7 years ago
/annotations [8s, 100KB]
Warum werden alle Annotations geladen ?/orgas/13188/events?filter%5Bdate%5D=upcoming [7s, 400B]
Das dauert für 0 Events zu lange!/orgas/13188/events?filter%5Bdate%5D=past [7s, 400B]
Das dauert für 0 Events zu lange!Alte Werte nach Hard Reload:
Seite | Durchschnittliche Ladezeit | Verbesserung |
---|---|---|
/ [Dashboard] | 25,54s | Kategorien und Annotations mit Orgas und Events laden |
/todos | 12s | Kategorien und Annotations mit Todos laden |
/orgas/13271 [Orga mit 2 Annotations] | 8.8s | Nur zutreffende Annotations laden |
Neue Werte nach Hard Reload:
Seite | Durchschnittliche Ladezeit |
---|---|
/ [Dashboard] | 25,54s |
/todos | 12s |
/orgas/13271 [Orga mit 2 Annotations] | 2.5s =+320% |
Backend-UI Improvements
Backend-API Improvements
GET /annotations
beinhaltet keine relationships mehr (von 7s auf ~1s also 700% (SIEBENHUNERT!!!1))GET /todos
(von 12s auf ...)GET /orgas
(von 17s auf ...)GET /events
(von 22s auf ...)Stark mit Ausbau des JSONAPI gems verknüpft.
Ich konnte hier ein paar große Verbesserungen erzielen.
Und zwar laden wir ja leider alle Listen unpaginiert. Zur Zeit sind das für Dresden 780 Orgas. Ich habe folgendes eingeführt:
Hier meine Benchmarks (lokaler Rechner):
Verbesserung Faktor 10 :D
https://dev.backend.afeefa.de (contabo):
Verbesserung Faktor 8
Zum Vergleich https://backend.afeefa.de (Uberspace):
Offenbar ist der Uberspace zur Zeit viermal schneller als Contabo.
Heute Contabo: 1 sek für /orgas ... keine Änderungen am Code inzwischen.
Aktuell kann das Laden des Dashboards über eine Minute dauern. Auch das Laden einer einzelnen Orga führt das Laden aller Annotations mit sich. Das bremst das Arbeiten mit den Backend enorm aus. Hier sollte mal zusammengetragen werden, wo die Bottlenecks liegen und was wir tun können.