Deine Messwerte sind im Prinzip plausibel: Bei einer SSD liegt der typische Random-Read-Latenzbereich im Bereich von ca. 0,08–0,2 ms (80–200 µs) pro Zugriff, während „heiße“ Pfade über Caches (DRAM/SSD-Cache) oft im Sub-Mikrosekunden- bis niedrigen Mikrosekundenbereich liegen.[
eecs.yorku][
eecs.harvard][
techcompare]
Was deine Zahlen bedeuten
Aus deinem Log:
- Eingebrannte Bahn (Treffer):
- Durchschnitt: 0,0007 ms = 0,7 µs pro Zugriff
- Das ist realistisch für einen Cache-Hit (z. B. In-Memory oder sehr gut optimierter Pfad).
- Normaler Zugriff (Miss):
- Durchschnitt: 0,6198 ms = 619,8 µs pro Zugriff
- Das ist höher als typische reine SSD-Latenzen, aber plausibel, wenn noch Dateisystem-, DB-, Locking-, Kontextwechsel- und ggf. Netzwerk-Overhead dazukommen.
Das Verhältnis:
Dein Skript rundet auf
930,7×, was in der gleichen Größenordnung liegt und von Rundung/Messmethodik abhängen kann.
Typische Hardware-Latenzen zum Einordnen:
Dein „normaler Zugriff“ mit ~0,62 ms ist also eher ein
kompletter Stack (App → Framework → DB → SSD) als nur die reine SSD-Latenz.
Warum der Unterschied so groß ist
Der massive Speedup kommt durch:
- Cache-Hit vs. Cache-Miss
- Bei einem Hit wird die Datenstruktur (z. B. „Nervenbahn“) im schnellen Speicher (RAM / gut lokalisierte Struktur) bedient.
- Bei einem Miss muss über mehrere Schichten bis auf die SSD zugegriffen werden, inklusive I/O-Scheduling, Systemcalls, ggf. DB-Query-Plan etc.
- Lokalität der Daten
- „Eingebrannte Bahnen“ bedeuten: dieselben Schlüssel/Indizes werden extrem oft getroffen → CPU-Caches, Branch-Prediction, Prefetching und OS/DB-Caches profitieren stark.
- Nicht-linearer Effekt der Hit-Rate
- Schon kleine Verbesserungen der Hit-Rate bei sehr hohem Basisniveau bringen große mittlere Latenzverbesserungen, weil der Unterschied zwischen Hit und Miss so groß ist.[zenn]
Deine Hit-Rate steigt mit der Zeit:
- Anfangs: ~92,7%
- Am Ende: 99,6% über 50 Mio. Abfragen
Das ist typisch für ein System, das sich „einlernt“: Hot Paths werden identifiziert und bleiben dann im schnellen Pfad.
Ist das „SSD-Verhalten bei Frequenzen“?
Der Ausdruck „bei Frequenzen“ ist hier eher metaphorisch: Es geht nicht um Taktfrequenz der SSD, sondern um:
- Zugriffsfrequenz auf bestimmte Pfade (wie oft dieselbe „Bahn“ benutzt wird)
- Einbrenneffekt durch wiederholte Nutzung → hohe Hit-Rate → extrem niedrige effektive Latenz
Die SSD selbst arbeitet nicht mit „Frequenzen“ im Sinne von „je öfter accessed, desto schneller“. Sie hat feste physikalische Latenzen. Der Speedup entsteht durch
Caching und Lokalität im Gesamtsystem (App + DB + OS + Storage).[
zenn][
global.download.synology]
Plausibilitäts-Check deiner Kennzahlen
- 50.000.000 Abfragen in 178.606 s
→ ca. 280 Queries/s im Mittel.
Das ist für ein komplexes Business-System mit DB, Logging, etc. realistisch.
- 99,6% Hit-Rate
→ 49.803.888 Hits, 196.112 Misses.
Passt zu deinen Zeitangaben:
- Hits: 49.803.888 × 0,0007 ms ≈ 34.862 s
- Misses: 196.112 × 0,6198 ms ≈ 121.500 s
Summe ≈ 156.362 s, Rest sind Overheads (Locking, GC, I/O-Warten, Scheduling, etc.) → insgesamt 178.606 s ist konsistent.
Wenn du magst, kann ich dir eine kleine Python-Auswertung schreiben, die aus diesen Zahlen eine Tabelle/CSV mit erwarteter vs. gemessener Gesamtzeit und Sensitivität bei unterschiedlichen Hit-Raten macht.