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

تصویر(1)
پلتفرم New Relic چیست؟
پلتفرم New Relic یک پلتفرم مبتنی بر وب برای پایش کامل برنامهها و زیرساختها (Full-Stack Monitoring) است که امکان پایش برنامه، زیرساخت، مرورگر کاربران و سایر اجزای سیستم را از طریق یک پلتفرم واحد فراهم میکند.
این ابزار دادههای عملکردی برنامههای تحت وب را بهصورت بلادرنگ (Real-Time) جمعآوری و تحلیل میکند تا توسعهدهندگان بتوانند مشکلات و گلوگاههای عملکردی را سریعتر شناسایی و برطرف کنند. در میان قابلیتهای متعدد New Relic، پایش عملکرد برنامه (Application Performance Monitoring یا APM) یکی از شناختهشدهترین و پرکاربردترین آنها محسوب میشود.
از آنجا که پلتفرم New Relic بهصورت Software as a Service یا SaaS ارائه میگردد، برای استفاده از آن به راهاندازی و نگهداری یک سامانه مانیتورینگ مستقل نیاز نیست و بخش عمده مدیریت سرویس از طریق محیط وب انجام میشود.
New Relic از زبانهای برنامهنویسی مختلفی مانند PHP، Java، پایتون و Ruby پشتیبانی میکند و امکان یکپارچهسازی با سرویسهای ابری مانند Microsoft Azure و Amazon Web Services (AWS) را نیز فراهم میکند؛ بنابراین میتوان عملکرد برنامهها و زیرساختهای مرتبط را در محیطهای ابری نیز پایش کرد.
پلتفرم New Relic چگونه کار میکند؟
پلتفرم New Relic برای پایش و تحلیل عملکرد سیستم، دادههای مختلفی را جمعآوری میکند که میتوان آنها را در 4 دسته اصلی Metrics، Events، Logs و Traces یا MELT قرار داد.
-
Metrics (متریکها): دادههای عددی هستند که وضعیت و روند عملکرد سیستم را نشان میدهند؛ برای مثال، زمان پاسخ، میزان استفاده پردازنده (CPU Usage) و میزان مصرف حافظه (Memory Usage) از این نوع دادهها محسوب میشوند.
-
Events (رویدادها): فعالیتهایی هستند که در سیستم یا برنامه اتفاق میافتند و اطلاعات مربوط به رویدادهای مهم را ثبت میکنند.
-
Logs (لاگها): گزارشهای متنی مربوط به رویدادها و فعالیتهای سیستم هستند که معمولاً جزئیاتی مانند زمان وقوع، پیام خطا و اطلاعات مربوط به اجرای برنامه را ثبت میکنند و در فرایند عیبیابی کاربرد دارند.
-
Traces (ردیابیها): مسیر اجرای درخواستها را در اجزای مختلف سیستم نشان میدهند و امکان بررسی جریان پردازش درخواست و شناسایی بخشهای کند یا پرهزینه را فراهم میکنند.
جمعآوری اطلاعات چگونه انجام میشود؟
New Relic برای جمعآوری دادههای عملکردی از Agent ها و سایر روشهای جمعآوری داده استفاده میکند. Agent یک مؤلفه نرمافزاری است که در محیط برنامه یا زیرساخت اجرا میشود و با ایجاد ابزارهای لازم برای مشاهده عملکرد برنامه در سطح کد (Code-Level Instrumentation)، دادههای موردنیاز را جمعآوری میکند.
بسته به نوع پایش، Agent یا روش جمعآوری مناسب مورد استفاده قرار میگیرد که از جمله آنها میتوان به موارد زیر اشاره کرد:
-
Application Monitoring: پایش عملکرد برنامههای کاربردی
-
Infrastructure Monitoring: پایش زیرساخت و منابع سرور
-
Browser Monitoring: پایش عملکرد برنامه از دید کاربران و در مرورگر
پس از جمعآوری دادهها، اطلاعات مربوط به عملکرد برنامه و زیرساخت برای پلتفرم New Relic ارسال میگردند. این اطلاعات در داشبوردهای مختلف نمایش داده میشوند تا توسعهدهندگان و تیمهای فنی بتوانند ضمن بررسی وضعیت سیستم، مشکلات عملکردی را تحلیل و برای رفع آنها اقدام کنند.
از New Relic APM برای چه کارهایی میتوان استفاده کرد؟

تصویر(2)
New Relic APM (Application Performance Monitoring) برای پایش و تحلیل عملکرد برنامههای تحت وب و سرویسهای مختلف، از جمله Microservice ها، استفاده میشود. این قابلیت با جمعآوری دادههای عملکردی و ارائه جزئیات مربوط به تراکنشها، درخواستها، خطاها و منابع مصرفشده، امکان شناسایی دقیقتر مشکلات عملکردی را فراهم میکند.
نکته: عبارت APM در برخی منابع با معنای Application Performance Management نیز به کار میرود؛ اما در این مقاله منظور از APM، Application Performance Monitoring است.
پایش عملکرد (Monitoring)
صفحه APM Summary نمایی کلی از وضعیت عملکرد برنامه ارائه میکند و شاخصهای مهمی مانند موارد زیر را نمایش میدهد:
-
Transaction Response Time (زمان پاسخ تراکنش): مدتزمان موردنیاز برای پردازش یک تراکنش و ارائه پاسخ به درخواست است.
-
Apdex Score: شاخصی برای ارزیابی رضایت کاربران از سرعت پاسخگویی برنامه بر اساس آستانههای زمانی مشخص است.
-
Throughput (نرخ پردازش): تعداد درخواستها یا تراکنشهایی است که برنامه در یک بازه زمانی مشخص پردازش میکند و معمولاً با واحدهایی مانند Requests Per Minute (RPM) اندازهگیری میشود.
-
Error Rate (نرخ خطا): درصد درخواستها یا تراکنشهایی است که در یک بازه زمانی مشخص با خطا مواجه میشوند.
-
Host Resources (منابع مصرفی میزبان): میزان استفاده از منابعی مانند پردازنده (CPU) و حافظه (RAM) در میزبان یا سروری است که برنامه روی آن اجرا میشود.
در New Relic APM، منظور از Transaction معمولاً یک واحد قابلاندازهگیری پردازش درخواست درون برنامه است که میتواند از دریافت درخواست تا تولید پاسخ و اجرای عملیات مرتبط را دربرگیرد.

تصویر(3)
گزارشگیری (Reporting) و توافقنامه سطح خدمات (SLA)
پلتفرم New Relic امکان بررسی و گزارشگیری از شاخصهای مرتبط با عملکرد و دسترسپذیری سرویس را فراهم میکند. این اطلاعات میتوانند برای ارزیابی شاخصهایی مانند زمان دسترسپذیری (Uptime)، زمان قطعی سرویس (Downtime) و روند تغییرات عملکرد برنامه مورد استفاده قرار گیرند.
گزارشها و دادههای مربوط به عملکرد و دسترسپذیری را میتوان بر اساس نیاز در بازههای زمانی مختلف بررسی کرد و در برخی موارد نیز دادههای موردنیاز را تحت قالب فایلهایی مانند CSV دریافت نمود.
هشداردهی خودکار (Alerting)
سیستم هشداردهی پلتفرم New Relic زمانی که یک شاخص عملکردی از محدوده تعیینشده خارج شود یا شرایط تعریفشده برای ایجاد هشدار برقرار گردد، بهصورت خودکار اطلاعرسانی میکند. برای مثال، در صورتی که زمان پاسخ یک سرویس از آستانه مشخصشده بیشتر شود، میتوان شرایطی جهت ایجاد هشدار تعریف کرد.
شخصیسازی هشدارها
برای ایجاد هشدارهای متناسب با نیازهای سیستم، میتوان شرایط و نحوه اطلاعرسانی را تنظیم نمود. از جمله مهمترین موارد قابل تنظیم میتوان به گزینههای زیر اشاره کرد:
-
Monitored Data Source: تعیین منبع داده یا بخشی از سیستم که باید مورد پایش قرار گیرد، مانند برنامه، سرویس یا زیرساخت.
-
Violating Behavior: مشخص کردن شرایطی که در صورت وقوع، هشدار فعال میشود، مانند عبور یک شاخص عملکردی از مقدار آستانه تعیینشده.
-
Incident Preference: تعیین نحوه ایجاد و مدیریت رخدادهای مرتبط با هشدار.
-
Notification Methods: انتخاب روش اطلاعرسانی، مانند ایمیل، Slack یا سایر سرویسهای مورد پشتیبانی.
همچنین New Relic از قابلیتهای هوشمند برای تحلیل دادهها و کمک به شناسایی علت ریشهای (Root Cause) مشکلات استفاده میکند و از این طریق میتواند فرایند عیبیابی را سادهتر کند.
ساخت داشبوردهای سفارشی (Building Dashboards)
داشبوردهای پلتفرم New Relic اطلاعات مربوط به عملکرد برنامهها و زیرساختها را در یک محیط واحد نمایش میدهند و با استفاده از نمودارها و دادههای بصری، بررسی وضعیت سیستم را سادهتر میکنند.
علاوه بر داشبوردهای آماده، امکان ایجاد داشبوردهای سفارشی نیز وجود دارد. کاربران میتوانند چیدمان، نمودارها و شاخصهای موردنظر خود را بر اساس نیازهای تیم و سیستم تنظیم کنند.
قابلیت اشتراکگذاری داشبوردها نیز به تیمهای توسعه، عملیات و پشتیبانی کمک میکند تا دید مشترکی نسبت به وضعیت برنامه و زیرساخت داشته باشند و بتوانند مشکلات را سریعتر بررسی کنند.
مزایای پلتفرم New Relic

تصویر(4)
New Relic به دلیل امکانات گسترده در زمینه مشاهدهپذیری (Observability)، پایش عملکرد و تحلیل دادههای سیستم، میتواند برای تیمهای توسعه و عملیات کاربردی باشد. مهمترین مزایای آن عبارتاند از:
-
راهاندازی آسان:
پلتفرم New Relic مستندات و ابزارهای لازم برای راهاندازی را ارائه میدهد و قابلیت Guided Installation نیز میتواند فرایند شناسایی محیط و نصب و پیکربندی Agent مناسب را سادهتر کند. -
کاربری ساده:
داشبوردهای New Relic دادههای مهم عملکردی را در یک محیط یکپارچه نمایش میدهند و امکان بررسی سریع وضعیت سیستم و شناسایی مشکلات را فراهم میکنند. -
ثبت و تحلیل خطاها:
New Relic اطلاعات مربوط به خطاهای رخداده در برنامه را جمعآوری میکند و دادههای موردنیاز برای تحلیل و عیبیابی خطاها را در اختیار تیم فنی قرار میدهد. -
ردیابی تراکنشها (Transaction Tracking):
New Relic با نمایش جزئیات زمان صرفشده در بخشهای مختلف پردازش یک تراکنش، به شناسایی گلوگاههای عملکردی (Performance Bottlenecks) و بهینهسازی برنامه کمک میکند. -
رابط کاربری کاربردی:
طراحی داشبوردها، نمایش بصری دادهها و امکان شخصیسازی محیط پایش باعث میشوند کاربران بتوانند اطلاعات موردنیاز خود را با سهولت بیشتری بررسی کنند.
جمعبندی
New Relic یک پلتفرم پایش و مشاهدهپذیری است که دادههای مربوط به عملکرد برنامهها، زیرساخت و سایر اجزای سیستم را جمعآوری و تحلیل مینماید. این پلتفرم با ارائه اطلاعاتی درباره عملکرد، خطاها، تراکنشها و منابع مصرفی، به تیمهای فنی کمک میکند ضمن شناسایی سریعتر مشکلات سیستم، فرایند عیبیابی و بهینهسازی را بهبود دهند.
ترکیب قابلیتهای گسترده در زمینه پایش عملکرد، تحلیل داده، هشداردهی و داشبوردهای سفارش، باعث شده است پلتفرم New Relic به یکی از راهکارهای شناختهشده در حوزه Application Performance Monitoring (APM) و Observability تبدیل شود.