Metabase

عیب‌یابی عملکرد پایگاه داده

این راهنما با پایگاه‌داده‌ها یا data warehouseهایی که به متابیس متصل شده‌اند به‌عنوان منابع داده سروکار دارد.

برای رفع مشکلات با پایگاه داده اپلیکیشن متابیس، این راهنماهای عیب‌یابی را بررسی کنید:

شناسایی گلوگاه‌ها

  1. اختیاری: از تحلیل استفاده متابیس برای نگاه کردن به آمار استفاده متابیس خود استفاده کنید.*
  2. به لاگ‌های سرور پایگاه داده خود بروید و بررسی کنید که آیا:
    • جداول شما در حال بزرگ شدن هستند،
    • افراد بیشتری از متابیس برای دسترسی به پایگاه داده شما استفاده می‌کنند،
    • افراد بیشتر به پایگاه داده شما دسترسی پیدا می‌کنند، یا
    • یک اسکریپت یا اپلیکیشن (غیر از متابیس) به‌طور مکرر به پایگاه داده دسترسی پیدا می‌کند.
  3. اگر جداول خاصی زیاد کوئری می‌شوند، سعی کنید بهینه‌سازی schemaهای جدول خود را انجام دهید.
  4. یک سؤال از متابیس اجرا کنید، سپس همان کوئری را مستقیماً علیه پایگاه داده خود اجرا کنید.
    • اگر کوئری‌ها تقریباً همان زمان را می‌گیرند، داده یا استفاده شما ممکن است از پایگاه داده شما فراتر رفته باشد. می‌توانید به پایگاه داده خود منابع بیشتری بدهید، یا ارتقای سخت‌افزار خود را در نظر بگیرید.
    • اگر کوئری در متابیس بیشتر از یک کوئری مستقیم علیه پایگاه داده شما طول می‌کشد، ممکن است نیاز به تنظیم deployment اپلیکیشن متابیس خود داشته باشید. برخی گزینه‌ها را در متابیس در مقیاس بررسی کنید.
  5. اگر یک اسکریپت یا اپلیکیشن شخص ثالث پایگاه داده شما را با تعداد زیادی کوئری در یک زمان تحت تأثیر قرار می‌دهد:
    • اسکریپت یا اپلیکیشن خود را متوقف کنید، و هر کوئری صف‌بندی شده را پاک کنید.
    • توصیه می‌شود: یک timeout به اسکریپت خود اضافه کنید، اسکریپت یا اپلیکیشن را برای اجرا در ساعات غیرکاری برنامه‌ریزی کنید، یا پایگاه داده خود را replicate کنید (و ابزارهای خود را به آنجا اشاره دهید).

* در پلن‌های Pro و Enterprise در دسترس است.

بازنشانی یک اتصال پایگاه داده

  1. به Settings > Admin settings > Databases > پایگاه داده خود بروید.
  2. روی Save changes کلیک کنید (بدون ایجاد تغییرات) تا اتصال‌های متابیس به پایگاه داده خود را بازنشانی کنید.
  3. به‌عنوان جایگزین: اتصال(ها) را مستقیماً از پایگاه داده خود kill کنید.

توضیح

"آن را خاموش و دوباره روشن کنید" با قطع و اتصال مجدد پایگاه داده خود---یک بررسی ساده که می‌تواند زمان زیادی را برای شما صرفه‌جویی کند.

به‌طور کلی، متابیس سعی می‌کند اتصال‌های آویزان به پایگاه داده شما را بعد از 10 دقیقه ببندد، و سپس دوباره بعد از 20 دقیقه. اما اگر پایگاه داده شما پاسخ نمی‌دهد، ممکن است نیاز به بستن اتصال به متابیس از سمت پایگاه داده داشته باشید.

پاک کردن کوئری‌های صف‌بندی شده

  1. فرآیند را متوقف کنید (مثلاً یک اسکریپت، یا یک داشبورد با بیش از 10 کارت که تعداد زیادی کوئری را به‌طور همزمان راه‌اندازی می‌کند.
  2. به سرور پایگاه داده خود بروید و همه کوئری‌های (از متابیس) که در حال انجام هستند را متوقف کنید.
  3. اختیاری: تعداد اتصالات به پایگاه داده خود را افزایش دهید.

توضیح

اگر کسی یا چیزی 100 کوئری را به‌طور همزمان ایجاد کند، این هجوم کوئری‌ها همه اتصالات موجود بین متابیس و پایگاه داده شما را اشغال می‌کند، از اجرای هر کوئری جدید جلوگیری می‌کند. اگر افراد دیگر در حالی که 100 کوئری اول هنوز در حال انجام هستند به اجرای سؤال‌ها و داشبوردها ادامه دهند، صف با سرعتی بیشتر از آنچه پایگاه داده شما می‌تواند با آن همگام شود رشد می‌کند.

مدیریت کوئری‌های resource-intensive

  1. برنامه‌ریزی مجدد یا غیرفعال کردن syncها و scanهای متابیس.

توضیح

به‌طور پیش‌فرض، متابیس کوئری‌های sync و scan منظم علیه پایگاه داده شما انجام می‌دهد تا جداول شما را به‌روز نگه دارد، مقادیر تازه برای dropdownهای فیلتر دریافت کند، و پیشنهادات مفید ارائه دهد. اگر یک پایگاه داده بزرگ دارید، می‌توانید انتخاب کنید که این کوئری‌ها را به‌صورت دستی به جای برنامه‌ریزی شده trigger کنید.

سؤال‌هایی که از ستون‌های عدد، تاریخ، یا timestamp استفاده می‌کنند

  1. schema پایگاه داده خود را به‌روزرسانی کنید تا ستون‌ها به‌درستی تایپ شده باشند.
  2. ستون‌های به‌روزرسانی شده را همگام‌سازی کنید تا تغییرات را به متابیس بیاورید.

توضیح

اگر یک سؤال از داده ذخیره‌شده به‌عنوان نوع داده اشتباه در پایگاه داده شما استفاده می‌کند (رایج‌ترین با مقادیر عدد، تاریخ، یا timestamp ذخیره‌شده به‌عنوان رشته)، متابیس یک کوئری تولید می‌کند که از پایگاه داده شما می‌خواهد مقادیر را به‌صورت on-the-fly تبدیل کند. تایپ کردن ستون‌های خود به‌درستی در سطح schema به پایگاه داده شما کمک می‌کند از آن مرحله اضافی اجتناب کند تا نتایج را سریع‌تر در متابیس برگرداند.

مشکلات مرتبط

آیا هنوز گیر کرده‌اید؟

اگر نمی‌توانید مشکل خود را با استفاده از راهنماهای عیب‌یابی حل کنید: