9 نکته برای افزایش سرعت دروپال

کارایی دروپال

خیلی از مواقع خیلی از کسانی که یک سایت با دروپال راه اندازی میکنند انتظار سرعت بیشتری از دروپال دارند. یا حتی از سرعت پایین سایتشون شکایت میکنند. آیا سرعت پایین از خصوصیات دروپاله؟ یا ما به درستی نتونستیم سایت رو بهینه کنیم. میخوایم کمی با هم بررسی کنیم که چطور میشه با تغییرات جزئی سرعت سایت رو افزایش داد. اما برای افزایش کارایی دروپال فقط همین نکته ها نیستند که میتونن مفید باشند که امیدواریم در مقاله های دیگه ای بتونیم به اون موارد هم اشاره ای داشته باشیم.

1- غیرفعال کردن re-bulding theme registry (فقط دروپال 6)
در هنگام ایجاد سایت خیلی از مواقع طراحان یا توسعه دهندگان re-bulding theme registry رو فعال میکنند که به اونها این امکان رو میده که متوجه بشن در هنگام لود صفحه کدام فایل های template استفاده میشوند. این یک امکان عالی برای طراحان و توسعه دهندگانه اما میتونه سرعت سایت شما رو کاهش بده. پس در زمانی که به این امکان نیاز ندارید اون رو غیر فعال کنید. برای این منظور به مسیر Administer > Appearance برید و در تنظیمات قالبی که برای سایت استفاده میکنید دنبال "Rebuild theme registry on every page" بگردید و مطمئن شوید که اون رو غیر فعال کردید.

2- فعال کردن کش صفحه و بلوک
یکی دیگر از کارهای ساده ای که برای افزایش سرعت و کارایی دروپال میتونید انجام بدید، فعال کردن کش صفحه و بلوک سایت هست. برای این منظور کافیه به admin/config/development/performance برید و کش صفحه و بلوک سایت رو فعال کنید. با فعال کردن این گزینه دروپال یک بار صفحه و بلوک های مربوط به اون رو load میکنه و نتایج اون رو در دیتابیس ذخیره میکنه. این کار شدیدا مراجعه به پایگاه داده را در هر بار load شدن صفحه کاهش میده.این یک امکان فوق العاده برای بازدید کنندگان ناشناس سایت شماست. اگر شما یک وب سایت دارید که اکثر مطالب اون فقط خواندنیه و کاربران زیادی در سایت شما وارد نمیشوند این امکان برای شما رویایی خواهد بود.

3- افزایش زمان کش
اگر شما وب سایتی طراحی کردید که اطلاعات اون خیلی به سرعت بروزرسانی نمیشوند. و مطالب با فواصل زمانی زیادی در سایت قرار میگیرند بنابراین شما میتونید از این امکان بیشترین بهره را ببرید. با افزایش مدت زمان کش در واقع شما تعیین میکنید که تا چه زمانی حتی اگر محتوای جدیدی در سایت وجود داشت اطلاعات از جداول پایگاه داده نمایش داده شوند. برای سایت هایی که محتواهای زیادی دارند و ترافیک سایت آنها بالاست مدت زمان کش کمتر بهتر است. برای فعال کردن این گزینه همانند قسمت 2 به مسیر admin/config/development/performance بروید.

4- بهینه سازی فایل های javascript و css
یکی دیگر از گزینه هایی که میتونه برای افزایش سرعت دروپال شما موثر باشه بهینه کردن فایل های JavaScript و CSS هست. وقتی تیک های مربوطه رو در admin/config/development/performance  میزنید تمام فایل های css و Javascript‌ موجود در هر صفحه به یک فایل تبدیل میشه و هم چنین فواصل موجود در اونها هم حذف میشه که این کار باعث کوچک تر شدن حجم و تعداد فایل ها و در نتیجه افزایش کارایی سایت خواهد شد. ضمن اینکه بعضی از مشکلات عدم نمایش صحیح سایت در مرورگر نه چندان خوب IE نیز رفع خواهد شد.

5- غیرفعال کردن ماژول های بی استفاده
این یکی از نکاتی است که خیلی از وقت ها از چشم ما دور میمونه و شاید به روحیه عاقبت اندیشی ما بر میگرده که فکر میکنیم هرچیزی که خار آید، روزی به کار آید. اما خوب این روحیه اصلا برای بهینه شدن دروپال شما مفید نیست. پس دست به کار بشید در لیست ماژول های نصب شده خودتون بگردید و تمام ماژول هایی که احیانا برای تست نصب کردید یا دیگه به درد شما نمیخورن رو حذف کنید و یادتون باشه که حتما اونها رو unistall هم بکنید. این کار باعث میشه که جداول بی استفاده در پایگاه داده شما حذف شوند و عملا دروپال تعداد query های کمتری روی پایگاه داده بزنه که نتیجه اون چیزی جز افزایش سرعت و کارایی سایت شما نخواهد بود.

6- تنظیم اجرای Cron
این عمل را جدی بگیرید. اکثر سرویس دهندگان هاست مثل Plesk و Cpanel قسمتی با نام “scheduled tasks” یا “cron jobs” دارند که میتوانید با کمک آنها Cron رو اجرا کنید. اجرای Cron در فواصل زمانی مشخص باعث بروزرسانی فیدهای RSS، اجرای ایندکس کننده موتور جستجو و بسیاری از وظایف دیگری که در ماژول های نصب شده مشخص شده اند میشود. در ضمن بعضی از عمل های نگهداری و بهبود سایت مثل حذف فایل های temporary و پاکسازی log ها نیز با اجرای Cron انجام میشوند.

7- غیرفعال کردن سطوح دسترسی در سطح فیلدهای CCK
cck ماژول بسیار قوی ای هست که ماژول های وابسته بسیار زیادی دارد. یکی از اونها "Field Permissions" هست که به وسیله اون میتونین روی تک تک فیلدها سطح دسترسی موردنظرتون رو اعمال کنید اما این کار باعث میشه برای مشاهده هر محتوا دروپال مجبور به بررسی تمام نقش ها برای مشاهده، ویرایش و حذف تمام فیلدها باشه و نتیجه کار مشخصه، کاهش سرعت. پس برای استفاده از این ماژول تا جایی که میتونید صبر کنید و به دنبال راه های جایگزین باشید. البته شاید بگید این نکته شبیه نکته 5 بود، درسته اما اهمیت اون به حدی بود که بخواهیم یک بار صراحتا در مورد آن صحبت کنیم.

8- غیرفعال کردن Database Logging
ماژول Database Logging رو غیرفعال کنید. اگر شما مدیر سیستم هستید گزارشاتی که به وسیله این ماژول بدست می آورید خیلی برای شما مفید نخواهد بود. ضمن اینکه ذخیره این اطلاعات در پایگاه داده باعث افزایش حجم پایگاه داده خواهد شد که برای کارایی سایت شما خوب نیست. راه جایگزین استفاده از ماژول Syslog هست که آن هم در Core دروپال قرار دارد و با ذخیره log ها در فایل های استاندارد ذخیره Log، به تمام آنچه شما به آن نیاز دارید پاسخ میدهد.

9- استفاده از موتورهای پیام گذاری
شما باید تمام راه ها رو برای کم کردن پردازش سایت در نظر بگیرید. قبلا در مورد مفید بودن کش ها برای کاربران ناشناخته صحبت کردیم اما وقتی شما یک سایت پربازدید و پرمحتوا دارید شاید مهم ترین دلیل برای عضوگیری در سایت ایجاد نظر در محتواها باشد. این روند میتواند پردازش ورود به سایت رو به سایت شما اضافه کند که استفاده از موتورهای پیام گذاری مثل IntenseDebat یا Disgus میتونه این پردازش رو از سایت شما حذف کنه. بنابراین کاربران با داشتن نام کاربری در اون سایت ها میتونن در سایت شما و دیگر سایت هایی که از این سرویس ها پشتیبانی میکنند پیام بگذارند. البته استفاده از این سرویس ها احتمالا مستلزم افزودن کد جاوااسکریپت به صفحه شما خواهد بود اما پردازشی که برای این کد صورت میگیرد بسیار کمتر از پردازشی است که برای صحت نام کاربری و کلمه عبور و روند عضوگیری در سایت شما انجام میشود.

اینها فقط نمونه هایی از کارهایی است که شما میتوانید برای افزایش کارایی در سایت خود استفاده کنید. شما از کدام یک از روش های بالا استفاده کرده اید و آیا اونها تاثیری بر سرعت و کارایی سایت شما گذاشته است؟

 

تگ های مطلب: 

دیدگاه‌ها

ماژول های اضافی

دستت درد نکنه عرفان جان! مطلب مفیدی بود.البته در مورد 5 باید این نکته اضافه شود که هر ماژول شامل یک یا چندین هوک است که با نصب بودن آن ماژول این هوک ها اجرا می شوند که در نتیجه سربار اضافی برای سرور دارد و در نتیجه سرعت سایت را پایین می آورد.

یک چند نکته در مورد دروپال 7

یک چند نکته در مورد دروپال 7 وجود داره باعث افزایش کارائی میشه ، غیر فعال کرد تولبار خود دروپال واستفاده از Administration menu ، غیر فعال کردن افزونه Update manager خود هسته دروپال که برای نصب افزونه استفاد می شه.

خیلی مطلب خوب و به درد بخوری

خیلی مطلب خوب و به درد بخوری بود . به خصوص مورد 7 . ولی کاش راه حل جایگزینی هم براش معرفی میکردین

یکی از راه های جایگزین

یکی از راه های جایگزین قراردادن فیلدها در یک نوع محتوای دیگر است. اون موقع میتونین برای اون نوع محتوایی که ایجاد کردید دسترسی ها رو اعمال کنید

خیلی خیلی ممنون . ایده خوبی

خیلی خیلی ممنون . ایده خوبی دادین . من دیروز به این مساله فکر کردم ولی این ایده به سرم نرسید . دروپال وقتی میخواد فرم ها رو برای کاربر ها لود کنه به ظرز شرم آوری کند میشد و من همیشه دنبال راه حل این مساله بودم . بازم ممنون

سلام این مورد رو بیشتر توضیح

سلام این مورد رو بیشتر توضیح دهید؟

خوب شما یک نوع محتوای دیگه

خوب شما یک نوع محتوای دیگه میسازید و برای اون نوع محتوا مشخص میکنید که چه نقش هایی بتونین محتوا ایجاد کنند. بعد به وسیله مثلا entity reference از نوع محتوای الف به نوع محتوای ب ارجاع میدید. میتونید از ماژول هایی مثل inline entity form استفاده کنید که این رو خیلی بهتر هم نشون میده

سلام اقای عرفان

سلام اقای عرفان شرمنده همه مثل شما حرفه ای نیستند که l: ببینید. من 5 شش نوع محتوا دارم. یکی برای فیلم مثلا، یکی مقالات یکی پرسش و پاسخ و ... . خب الان اومدم مثلا در نوع محتوای مقاله چند فیلد اضافه کردم مثلا یکیش موضوعاتی است که تنها یکی دو نقش باید اون فیلدها رو ببینه. سپس این فیلدی که در مقالات ایجاد کردم رو در بقیه نوع محتواها هم اوردم. برای اینکه نقشهایی که میخوام اونو ببینه از Field Permissions استفاده کردم که شما میفرمایید اصولی نیست. یعنی الان میفرمائید یک نوع نوع محتوای دیگه ایجاد کنم و این فیلدها رو که میخوام فقط بعضی نقشها ببینند اونجا ایجاد کنم و مجوز اون نوع محتوا برای نقشهای دلخواه بدم؟ سپس اون فیلدها رو در سایر نوع محتواها بیارم. یعنی بدینصورت باشه و اون فیلدها رو در نوع محتوای مقاله بیارم، همه نقشها نمیبینند؟

البته ما نگفتیم استفاده از

البته ما نگفتیم استفاده از field permission اصولی نیست. گفتیم از نظر کارایی تاثیر منفی میزاره. اما اگه راستش رو بخواید انتظار میره که برای فیلدهای متفاوت ماژولی شبیه همین ماژول مشکل رو حل کنه. اما اگر بخواهید از روشی که من گفتم استفاده کنید باید حتما مطمئن باشید که چه فیلدهایی رو میخواهید جدا کنید. چون بعدا اگر بخواهید تغییراتی توی دسترسی ها ایجاد کنید خیلی سخته.

سلام

سلام ممنونم از وقتی که گذاشتید

دمتون گرم

سرعت كار خوبه! اما خوش قولي خوبتر!

منظورتون چیه؟

منظورتون چیه؟

ممنون، سايت من هم كه براي

ممنون، سايت من هم كه براي تست ساختم خيلي كنده.:(

تشکر

ممنون از مطالب مفیدتون

خسته نباشید

مثل همیشه عالی و مفید. موفق باشید

ماژول boost

خسته نباشید چرا ماژول boost رو معرف کردید؟ من فکر میکردم برا سرعت سایت خوبه.کاراییش چیه؟ یادمه یه بار نصب کردم صفحات رو استاتیک کرد اما یه جایی از سایت به مشکل میخورد که مجبور شدم اونو غیرفعال کنم. مورد دوم اینکه APC چیه ؟ برای سرعت سایت خوبه؟ مورد سوم در مورد memcache هست این مورد روی سرور به چه کار میاد و آیا موثره؟ و چرا هاستینگها دارند رو سرورشون اینو

مروری بر روش های بهینه سازی دروپال برای سرعت بیشتر

با سلام و تشکر از مطالب مفید شما من هم مقاله ای در چهار بخش در همین زمینه در وبلاگم منتشر کرده ام که ممکن است مفید واقع شود: http://www.hejazee.ir/tutorials/books/%D9%85%D8%B1%D9%88%D8%B1%DB%8C-%D8%A8%D8%B1-%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%AF%D8%B1%D9%88%D9%BE%D8%A7%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B3%D8%B1%D8%B9%D8%AA-%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84

دیدگاه جدیدی بگذارید

آخرین ارسال ها

محتواهای محبوب

درباره ما

Author
اینجا دروپال یعنی همه چیز. در مورد دروپال صحبت میکنیم. ماژول هامون رو به اشتراک میزاریم در مورد قالب دروپال ، فروشگاه دروپال، دروپال فارسی و تاریخ شمسی دروپال صحبت میکنیم و هرچیزی که در مورد طراحی سایت با دروپال میدونیم به هم انتقال میدیم. دروپالیون یک سایت شخصی نیست. ما دست همه کسانی که برای پیشرفت دروپال تلاش میکنند رو میفشاریم و با آغوش باز اونها رو در این سایت میپذیریم.

تماس با ما

با ما تماس بگیرید.

logo-samandehi