אתם צופים במסמכי התיעוד של Apigee Edge.
אפשר לעיין במסמכי התיעוד של Apigee X. מידע
מדיניות של מפת מפתח-ערך (KVM) היא רכיב בסיסי בניהול הגדרות וערכים דינמיים במערכת. עם זאת, הנוכחות של מפתחות שלא קיימים ב-KVM האלה והחיפוש שלהם עלולים להשפיע באופן משמעותי על הביצועים ולהוביל לעלייה בזמני האחזור.
תבנית אנטי
כשמדיניות KVM מנסה לאחזר ערך של מפתח שלא קיים במיפוי מפתח-ערך, מתבצעות קריאות נוספות למסד הנתונים של Cassandra. התקשורת המוגברת הזו עם מסד הנתונים של ה-Backend, במיוחד לגבי מפתחות שלא קיימים, צורכת יותר משאבים וזמן, ולכן מגדילה את זמן האחזור הכולל של הבקשה.
השפעה
ההשפעה העיקרית של האנטי-תבנית הזו היא עלייה בזמני האחזור של זמן הריצה ושגיאות במאגר הנתונים. מהירות העיבוד של המערכת והגישה לנתונים מושפעות לרעה, כי האחוז הגבוה של חיפושי מפתחות שלא קיימים הוא הסיבה העיקרית לזמני האחזור שנצפו. זהו מאפיין של זמן ריצה שתלוי ישירות באופי הבקשות הנכנסות.
תיאורי בעיות
- המערכת מציגה השהיות מוגברות בזמן הריצה.
- שגיאות ב-Datastore, שמצביעות על בעיות במהירות העיבוד ובגישה לנתונים.
הודעות שגיאה
ניתוח הקובץsystem.log
מצביע על נוכחות של שגיאות חוזרות שקשורות ל-Cassandra, במיוחד לגבי אחזור נתונים וסטטוס של מאגר מארחים. הודעות השגיאה העיקריות שזוהו כוללות:
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
אבחון
ניתוח של קובץ מעבד ההודעות system.log
מגלה ערכים גבוהים של L1MissL2Miss
בדוחות המדדים של KVM למשך 5 דקות.
לדוגמה: CACHE.org__env__KVM-Example.statistics [hitCount=215 L1MissL2Miss=14120 hitRate=5 L1MissL2Hit=212 getCount=556]
שיטה מומלצת
כדי לפתור את הבעיה הזו, מומלץ להוסיף ערכי placeholder למפתחות שלא קיימים ב-KVM. הגישה הזו אמורה לצמצם את מספר הקריאות ל-Cassandra עבור מפתחות שלא קיימים, לשפר את הביצועים ולקצר את זמן האחזור.