Antipattern: تأثیر KVM های موجود بر تأخیر

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

خط‌مشی‌های Key-Value Map (KVM) یک جزء اساسی در مدیریت پیکربندی‌ها و مقادیر پویا در سیستم هستند. با این حال، وجود و جستجوی کلیدهای موجود در این KVM ها می تواند به طور قابل توجهی بر عملکرد تأثیر بگذارد و منجر به افزایش تأخیر شود.

ضد الگو

هنگامی که یک خط مشی KVM تلاش می کند مقداری را برای کلیدی که در نقشه Key-Value وجود ندارد بازیابی کند، منجر به فراخوانی های اضافی به پایگاه داده Cassandra می شود. این افزایش ارتباط با پایگاه داده باطن، به ویژه برای کلیدهای غیر موجود، منابع و زمان بیشتری را مصرف می کند و در نتیجه تاخیر کلی درخواست را تشدید می کند.

تاثیر

اثر اولیه این آنتی الگو افزایش تاخیر در زمان اجرا و خطاهای ذخیره اطلاعات است. سرعت پردازش سیستم و دسترسی به داده‌ها تأثیر منفی می‌گذارد، زیرا درصد بالایی از جستجوهای کلیدی موجود نیست، دلیل اصلی تاخیرهای مشاهده شده است. این یک مشخصه زمان اجرا است که مستقیماً به ماهیت درخواست های دریافتی بستگی دارد.

علائم

  • سیستم تاخیرهای زمان اجرا بالا را نشان می دهد.
  • خطاهای ذخیره‌سازی داده، نشان‌دهنده مشکلات سرعت پردازش و دسترسی به داده‌ها است.

پیام های خطا

تجزیه و تحلیل فایل system.log وجود خطاهای مکرر مرتبط با کاساندرا، به ویژه در مورد بازیابی داده ها و وضعیت استخر میزبان را نشان می دهد. پیام های خطای کلیدی مشاهده شده عبارتند از:
  • 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 بالا را در گزارش‌های متریک 5 دقیقه‌ای KVM نشان می‌دهد.

به عنوان مثال: CACHE.org__env__KVM-Example.statistics [hitCount=215 L1MissL2Miss=14120 hitRate=5 L1MissL2Hit=212 getCount=556]

بهترین تمرین

برای کاهش این مشکل، توصیه می کنیم مقادیر ساختگی را برای کلیدهای موجود در KVM اضافه کنید. این رویکرد باید تعداد تماس‌های کاساندرا برای کلیدهای موجود را کاهش دهد و عملکرد را بهبود بخشد و تأخیر را کاهش دهد.

در ادامه مطلب