شاید برای شما هم پیش آمده باشد که بعد از مدتی توسعه احساس کنید که دروپال شما به اندازه کافی سریع نیست. در این شرایط معمولا این سوال رو از خودمون میپرسیم که حالا چطور متوجه دلیل کندی دروپال بشم. خوشبختانه برای این سوال پاسخ مناسبی وجود داره که میتونه شما رو در پیدا کردن دلیل کندی دروپال بسیار کمک کنه. شما XHProf رو نصب میکنید و تابع هایی که سرعت دروپال رو کند میکنند رو پیدا میکنید. از اینجا به بعد فقط باید اون توابع را بررسی کنید تا به حل مشکل نزدیک شوید. برای استفاده از این ماژول و نحوه پیداکردن خطا با ادامه مقاله همراه باشید.
XHProf یک ابزار پروفایلینگ است که توسط Facebook توسعه داده میشود. این ابزار بسیار ساده و قابل فهم است و استفاده و نصب اون ساده و سریع است. و ابزار مناسبی برای وب سایت ها و یا اپلیکیشن های پیچیده است.
ابزار پروفایلینگ:
ابزار پروفایلینگ به معنی ابزارهای اندازه گیری برای مسائل مربوط به کارایی در سطح اپلیکیشن و یا کدهای شماست. ابزار پروفایلینگ اطلاعاتی مانند استفاده از CPU و مموری سیستم (حافظه اصلی) و زمان و تعداد فراخوانی های هر تابع و موارد دیگه رو جمع آوری میکند. به طور خلاصه یک ابزار پروفایلینگ بر روی کارایی تاثیر دارد.
نصب XHProf:
برای نصب این ابزار شما باید هم ماژول مربوطه را نصب کنید و هم بسته XHProf رو بر روی سرور خودتون نصب کنید. برای نصب یک راهنما در سایت دروپال ایجاد شده که پیشنهاد میکنم مراحل نصب رو از این طریق پیگیری کنید. البته اگر شما از سیستم عامل لینوکس استفاده میکنید میتوانید از دستورهای زیر استفاده کنید:
استفاده از PECL:
pear channel-update pear.php.net pecl install xhprof
یا
pecl install channel://pecl.php.net/xhprof-0.9.4
apt-get install php5-dev
و اضافه کردن کانفیگ های زیر به فایل /etc/php5/conf.d/xhprof.ini
[xhprof] extension=xhprof.so xhprof.output_dir=/tmp
بعد از نصب بسته XHProf بر روی سیستم عامل کافیست ماژول XHProf رو از سایت دروپال دانلود کنید و بر روی دروپال خودتون نصب کنید.
تنظیمات ماژول XHProf:
بعد از نصب ماژول شما باید ماژول را برای استفاده تنظیم کنید. برای اینکار به صفحه “admin/config/development/xhprof,” برید و گزینه “Enable profiling of page views and drush requests,” را تیک دار کنید و بر روی ذخیره کلیک کنید.
با انجام مراحل بالا XHProf بر روی وب سایت شما فعال میشود حالا برای مشاهده گزارش های این ماژول به پایین صفحه توجه کنید. در آنجا لینک اطلاعات XHProf رو مشاهده میکنید که حاوی اطلاعات مفیدی برای شماست.
آنالیز گزارشهای XHProf
گزارشی که توسط XHProf تولید میشود حاوی اطلاعات مفیدی درباره آخرین درخواست هاست. این گزارش شامل زمانی که سرور برای ایجاد صفحه اختصاص داده (Total Incl. Wall Time) و جداکثر میزان مموری استفاده شده برای درخواست (Total Incl. PeakMemUse) میشود.
مهم ترین جذابیت این ماژول قسمتی است که توابع در یک جدول نمایش داده میشوند، که شما میتوانید آنها را بر اساس معیارهای متفاوت چیدمان کنید. معیارهایی مثل:
زمانی که شما در حال تغییر برای بهبود سرعت دروپال هستید حتما میخواهید که میزان تغییرات رخ داده را ملاحظه کنید برای این منظور شما میتوانید بین دو گزارش مقایسه انجام بدید. این کار به سادگی با رفتن به مسیر زیر قابل انجام خواهد بود:
admin/reports/xhprof/diff/report_id_1/report_id_2
شما فقط باید شناسه هر گزارش را در بخش خودش قرار بدید تا گزارشی شبیه گزارش زیر را مشاهده کنید:
مزیتهای استفاده از XHProf:
با استفاده از این ابزار شما برای پیدا کردن مشکل در سیستم زمان بسیار کمی وقت نیاز دارید. همچنین شما میتوانید با استفاده از این ابزار قابلیت رشد سیستم را نیز بررسی کنید. با بزرگ شدن سیستم شما میتوانید تغییرات کارایی سایت را رصد کنید.استفاده، نصب و پیکربندی این ابزار در دروپال بسیار ساده است.
شاید شما ابزارهای دیگری برای این منظور بشناسید. اگر تجربه ای در استفاده از آنها یا XHProf دارید با ما در میان بگذارید.