Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur
Dokumentation zuApigee X wechseln. info
Richtlinien für Schlüssel/Wert-Zuordnungen (Key-Value Map, KVM) sind eine grundlegende Komponente bei der Verwaltung von Konfigurationen und dynamischen Werten im System. Das Vorhandensein und die Suche nach nicht vorhandenen Schlüsseln in diesen KVMs kann sich jedoch erheblich auf die Leistung auswirken und zu erhöhten Latenzen führen.
Anti-Pattern
Wenn eine KVM-Richtlinie versucht, einen Wert für einen Schlüssel abzurufen, der in der Schlüssel/Wert-Zuordnung nicht vorhanden ist, führt dies zu zusätzlichen Aufrufen der Cassandra-Datenbank. Diese erhöhte Kommunikation mit der Back-End-Datenbank, insbesondere für nicht vorhandene Schlüssel, verbraucht mehr Ressourcen und Zeit und erhöht so die Gesamtlatenz der Anfrage.
Auswirkungen
Die Hauptauswirkung dieses Anti-Patterns sind erhöhte Laufzeitlatenzen und Datenspeicherfehler. Die Verarbeitungsgeschwindigkeit und der Datenzugriff des Systems werden negativ beeinflusst, da der hohe Prozentsatz von Suchvorgängen nach nicht vorhandenen Schlüsseln der Hauptgrund für die beobachteten Latenzen ist. Dies ist ein Laufzeitmerkmal, das direkt von der Art der eingehenden Anfragen abhängt.
Symptome
- Das System weist erhöhte Laufzeitlatenzen auf.
- Datenspeicherfehler, die auf Probleme mit der Verarbeitungsgeschwindigkeit und dem Datenzugriff hinweisen.
Fehlermeldungen
Die Analyse der Dateisystem.log weist auf wiederkehrende Cassandra-bezogene Fehler hin, insbesondere in Bezug auf den Datenabruf und den Hostpoolstatus. Wichtige Fehlermeldungen:
ERROR DATASTORE.CASSANDRA - AstyanaxCassandraClient.get() : Exception while fetching rowKey : [7ccd1062-6e05-4d12-aa86-5c7bf944682d, app_credentials, kms] from column family:{} in keyspace:{}ERROR DATASTORE.CASSANDRA - AstyanaxCassandraClient.logHostPoolInCaseOfErrors() : Cassandra Host Pool under use - All Hosts: xx.xx.xx.102(xx.xx.xx.102):9160,xx.xx.xx.101(xx.xx.xx.101):9160,xx.xx.xx.103(xx.xx.xx.103):9160. Active Hosts: xx.xx.xx.101(xx.xx.xx.101):9160,xx.xx.xx.102(xx.xx.xx.102):9160
Diagnose
Die Analyse der Datei system.log des Message Processors zeigt erhöhte L1MissL2Miss-Werte in den 5-Minuten-Berichten zu KVM-Messwerten.
Beispiel: CACHE.org__env__KVM-Example.statistics [hitCount=215 L1MissL2Miss=14120 hitRate=5 L1MissL2Hit=212 getCount=556]
Best Practice
Um dieses Problem zu beheben, empfehlen wir, Dummy-Werte für nicht vorhandene Schlüssel in den KVMs hinzuzufügen. Dieser Ansatz sollte die Anzahl der Aufrufe von Cassandra für nicht vorhandene Schlüssel reduzieren und so die Leistung verbessern und die Latenz verringern.