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

این مقاله، دنباله ی مقاله ی قبلی است. برای مطالعه ی قسمت پیشین آن، لطفا به لینک های زیر مطلب مراجعه کنید
ESI ‎(‎Edge Side Includes‎)‎
4 - ESI و یا Edge side includes یک راه حل پیشرفته برای کشینگ صفحات سایت برای کاربرانی که در سایت لاگین هستند می باشد. ماژول آن در این صفحه موجود می باشد:
http://drupal.org/project/esi
راه اندازی و استفاده از این راه حل مستلزم تغییرات زیادی در ساختار سایت می باشد و یک کار فنی می باشد.
کشینگ درون ساخت دروپال
5 - دروپال دارای یک ساختار کشینگ built-in (درون ساخت) می باشد و طریقه ی کار آن به این صورت است که اطلاعاتی که قرار است کش شود را در دیتابیس ذخیره می کند.. به عنوان مثال node ها پس از این که بارگذاری شدند، در دیتابیس کش می شوند. یک node برای این که به طور کامل بارگذاری شوند نیاز به اجرای query های نسبتا سنگین در پایگاه داده دارد. اما هنگامی که node کش می شود، برای بارگذاری آن از درون سیستم کش دروپال، فقط یک query ساده باید اجرا شود و به این ترتیب، ترافیک پایگاه داده کاهش پیدا می کند و همان طور که می دانیم، یکی از اصلی ترین دلایل کند بودن سایت، کندی پایگاه داده می باشد. با استفاده از این روش، سربار ناشی از ترافیک پایگاه داده کاهش پیدا می کند و سایت سریع تر عمل می کند.
اما کشنیگ درون ساخت دروپال هم برای کاربران لاگین شده کار می کند و هم برای کاربران مهمان، منتها کاربرا مهمان از کشینگ بیشتری برخوردار هستند و لذا سرعت بیشتری را در بارگذاری صفحات سایت تجربه می کنند.
گسترش کشینگ دروپال برای ذخیره ی بهتر اطلاعات کش شده
6 - روش هایی موجود است که کشینگ درون ساخت دروپال را بهبود می دهند. به این طریق که اطلاعات کش شده در دروپال را به جای این که در پایگاه داده ی سایت ذخیره کنند، در یک مکان دیگر ذخیره می کنند و به این ترتیب، ترافیک پایگاه داده باز هم کمتر می شود و سرعت سایت بالاتر می رود.
از جمله ی این ماژول ها می توان موارد زیر را نام برد:

  • ماژول memcache از سرویس memcache برای ذخیره ی اطلاعات کش شده در حافظه ی اصلی سرور (ram) استفاده می کند که دستیابی به آن فوق العاده سریع می باشد.
  • ماژول apc اطلاعات کش شده را در ram سرور ذخیره می کند. استفاده از apc در php همواره توصیه می شود زیرا علاوه بر این که می توانید اطلاعات کش دروپال را در آن ذخیره کنید، خود apc یا همان Alternative PHP Cache دارای یک قابلیت Op-Code caching می باشد که کد های php سایت را پس از کامپایل کش می کند و سربار کامپایل php را حذف می کند و همواره سبب می شود که کد های php خیلی سریع تر اجرا شوند.
  • ماژول redis از سرویس redis server که یک key-value storage بسیار سریع می باشد به عنوان سیستم کشینگ دروپال استفاده می کند. استفاده از این ماژول می تواند سرعت سایت را خیلی زیاد کند.
    اما استفاده از این سرویس در هاست های اشتراکی معایب خاص خود را خواهد داشت.
  • ماژول mongodb می تواند اطلاعات سایت را در دیتابیس NoSQL به نام MongoDB ذخیره کند. البته این ماژول خیلی فراتر از یک سیستم کشینگ می باشد.
  • ماژول filecache اطلاعات کش را در فایل های ساده ذخیره می کند. معمولا دسترسی به فایل های ساده خیلی سریع تر از دسترسی به پایگاه داده و اجرای کد SQL می باشد.
گسترش کشینگ دروپال برای ذخیره ی اطلاعات بیشتر
7 - روش هایی که کشینگ دروپال را گسترش می دهند که اطلاعات بیشتری در کش ذخیره شود:
ماژول enitycache موجب می شود که entity ها در دروپال 7 وارد سیستم کشینگ درونی دروپال شوند و بارگذاری entity ها تسریع شود. این ماژول نیاز به پیکربندی خاصی ندارد.
»» برای ادامه ی مطلب، لطفا قسمت سوم مقاله را مطالعه فرمایید. لینک ادامه ی مطلب و همچنین قسمت های قبلی این مقاله در زیر می باشد:

افزودن دیدگاه جدید