برنامه نویسی

پرس و جوهای Prisma خود را با AppSignal و OpenTelemetry بهینه کنید

AppSignal از طریق OpenTelemetry به طور یکپارچه با Prisma ادغام می شود تا بینش ارزشمندی در مورد نحوه عملکرد برنامه شما ارائه دهد.

در این پست وبلاگ، نحوه استفاده از AppSignal را برای بهینه‌سازی یکپارچه‌سازی Prisma برنامه‌تان، کاهش درخواست‌های ناکارآمد پایگاه داده، شناسایی ناهنجاری‌ها و بهبود مقیاس‌پذیری برنامه‌تان توضیح خواهیم داد.

مزایای مانیتورینگ پریسما

اگر برنامه شما چندین پرس و جو را انجام می دهد تا یک درخواست واحد را برآورده کند، مهم است که اطمینان حاصل کنید که هر پرس و جو عملکرد بهینه ای دارد (به خصوص اگر برنامه شما دارای ساختارهای شی عمیق تو در تو باشد).

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

نمودار ساختار شی تودرتوی یک پست وبلاگ

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

معیارهایی که با AppSignal مهم هستند

AppSignal بینش‌هایی را ارائه می‌کند که برای کمک به مقیاس‌بندی برنامه‌تان، نه شکست، نیاز دارید.

ناهنجاری های جدول زمانی را پیدا کنید

جدول زمانی رویداد AppSignal یک نمای کلی واضح از عملکرد برنامه شما در سطح درخواست ارائه می دهد. این نشان می دهد که چه اقداماتی توسط یک درخواست اجرا می شوند.

این مثال نشان می‌دهد که چگونه جدول زمانی رویداد ما داده‌های Prisma OpenTelemetry برنامه شما را تفسیر می‌کند:

جدول زمانی رویداد

معیارهای میکرو و کلان

کلیک کردن روی یک رویداد Prisma در گزارش رویداد به شما این امکان را می دهد تا به عملکرد پایگاه داده خود عمیق تر بپردازید. می توانید نمودارهایی را مشاهده کنید که زمان و توان عملیاتی پایگاه داده شما (تعداد رویدادهای پردازش شده) را هنگام وقوع یک رویداد نشان می دهد.

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

نمودارهای عملکرد پایگاه داده رویداد

همچنین می‌توانید فهرستی مفید از سایر اقدامات برنامه‌ای که شامل همان رویداد هستند را مشاهده کنید. از این فهرست برای شناسایی مکان‌هایی که بهینه‌سازی پرس و جو مورد نیاز است، شناسایی همبستگی‌های احتمالی بین حوادث و اجتناب از جلسات وقت‌گیر اشکال‌زدایی استفاده کنید.

ارسال Prisma Data به AppSignal

به لطف OpenTelemetry، ادغام AppSignal و Prisma آسان است. ابتدا مطمئن شوید که برنامه شما از Prisma 4.2 یا بالاتر و AppSignal برای Node 3.0 یا بالاتر استفاده می کند.

برای تنظیم خودکار Prisma با بسته AppSignal for Node.js، ویژگی پیش‌نمایش ردیابی را در طرح Prisma خود فعال کنید، همانطور که در زیر نشان داده شده است:

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["tracing"]
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از ابزار دقیق، ادغام Prisma برای هر پرس و جو (شامل دهانه های فرزند برای اتصال پایگاه داده و فرآیند سریال سازی) به AppSignal ارسال می کند. هر بازه پرس و جو پرس و جوی انجام شده و مدت زمان تکمیل آن را نشان می دهد.

AppSignal 💚 OpenTelemetry

با توجه به پذیرش OpenTelemetry، AppSignal ابزارهای 16 کتابخانه و چارچوب خارج از جعبه. داده هایی را که برای نظارت موثر و کارآمد و بهینه سازی برنامه خود نیاز دارید، دریافت کنید.

کتابخانه ها و چارچوب های پشتیبانی شده
بیان
روزه گرفتن
ماژول fs
GraphQL (آپولو، یوگا)
ماژول HTTP/HTTPs
Knex (قفسه کتاب)
koa.js
MongoDB
مانگوس
MySQL
NestJS
Next.js
PostgreSQL
پریسما
ردیس
بازسازی کنید

AppSignal را امتحان کنید و Stroopwafels را دریافت کنید

ما مشتاقانه منتظریم تا در آینده شما را با ویژگی های منبع باز و پشتیبانی از چارچوب بیشتری آشنا کنیم!

در ضمن، اگر سوالی در مورد AppSignal دارید، لطفاً در تماس باشید! ما پشتیبانی برنامه‌نویس به برنامه‌نویس را ارائه می‌دهیم، حساب‌های رایگان به پروژه‌های منبع باز می‌دهیم، و اگر در AppSignal تازه کار هستید، با محموله‌ای خوشمزه از استروپ‌وافل از شما استقبال می‌کنیم 🍪 😋

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا