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

این مقاله، دنباله ی مقاله ی قبلی است. برای مطالعه ی قسمت پیشین آن، لطفا به لینک های زیر مطلب مراجعه کنید
بهینه سازی فایل های JavaScript و css و تصاویر
10 - یکی از اصلی ترین دلایل کندی بارگذاری یک سایت ناشی از حجم بالای صفحات آن می باشد. هرچه حجم صفحات را کاهش دهید، سرعت بارگذاری بیشتر، رنکینگ بهتر و بازدیدگنندگان بیشتری را بدست می آورید.

  • استفاده از پوسته ای که کدهای html کمی داشته باشد، ایده ی خوبی است. همچنین عدم استفاده از ماژول هایی مثل dhtml_menu یا admin_menu می تواند کد های html صفحات را کاهش دهد. البته همواره به خاطر داشته باشید که سهم html در کند شدن سایت سهم کمی است و اکثر کندی سایت ناشی از تصاویر/فونت های سفارشی/css و js می باشد.
  • فعال کردن css & js aggregation در هسته ی دروپال موجب می شود که حجم فایل های دانلود شده از سایت کم شود.
  • نکته: هرچه تعداد http request هایی که برای دانلود یک صفحه از سایت لازم است، کمتر باشد، سرعت بارگذاری سایت بیشتر می شود. به همین خاطر، حتی اگر فایل های جاوا اسکریپت فشرده هم نشوند، هرچه تعدادشان کمتر باشد، بهتر است.
  • استفاده از cdn برای بارگذاری فایل های سایت: اگر بتوانید cdn مانند amazon s3 خریداری کنید، سرعت دانلود شدن فایل های شما بسیار افزایش پیدا می کند.
    نکته: روش دیگر این است که فایل هایتان را بر روی Github قرار دهید! البته این روش ممکن است منع قانونی داشته باشد یا ...
    از ماژول jquery_update استفاده کنید. ماژول فوق کمک می کند که سورس jquery سایت به جای این که از روی سرور شما دانلود شود، از روی گوگل/مایکروسافت/جی کوئری دانلود شود. (به انتخاب شما)
    از آن جایی که اکثر طراحان وب jquery را از روی cdn های فوق لود می کنند، بنا بر این شانس این که بازدید کننده ی سایت شما، قبلا از یک سایت دیگر که jquery را از cdn دانلود می کند بازدید کرده باشد، زیاد می باشد. و در این صورت jquery بر روی سیستم وی cache شده و اصلا نیازی به دانلود jquery هنگام بازدید از سایت شما نخواهد داشت!
  • ماژول css_emimage کلیه ی تصاویر پیش زمینه ای که در فایل های css تان استفاده کرده اید را در داخل یک فایل css جداگانه به صورت base64 ذخیره می کند و تصاویر پیش زمینه را حذف می کن و به جای آن ها فایل css مربوطه را دانلود می کند.
    ممکن است که شما در یک فایل css حدود 20 تا تصویر پیش زمینه استفاده کرده باشید که دانلود آن ها خیلی طول می کشد. اما با استفاده از ماژول css_emimage کلیه ی این تصاویر را با یک فایل css جایگزین می کند. و تعداد request های لازم برای لود شدن یک صفحه از سایت شما را به طور چشمگیری کاهش می دهد.
  • فایل های css و js ای که در هسته ی دروپال موجود می باشند، فشرده نیستند. ماژول speedy فایل های غیر بهینه ی موجود در هسته ی دروپال را با یک نسخه ی بهینه شده جایگزین می کند.
  • ماژول labjs کمک می کند که فایل های javascript سایت شما به صورت موازی دانلود شوند. البته این ماژول اگر درست استفاده نشود، ممکن است مشکلاتی را در سایت بوجود بیاورد.
روش های دیگر
11 – این موارد را قبلا هم ذکر کرده ام و به صورت فهرست وارد نام می برم:

  • افزایش سرعت سایت از طریق کاهش ماژول های نصب شده در دروپال
  • ارتقاء سخت افزاری
  • کاهش عملیات I/O در سایت
  • بهینه سازی وب سرور/فایل سیستم
  • بهینه سازی فایل سیستم لینوکس با استفاده از تنظیمات مناسب در فایل fstab
  • تنظیمات در فایروال و کرنل لینوکس و sysctl برای جلوگیری از حملات خارجی و تحت شبکه که منجر به اخلال در سرویس دهی می شوند. (DoS)
  • و ...
»» لطفا برای مطالعه ی قسمت های قبلی این مقاله، از لینک های زیر استفاده کنید:

دیدگاه‌ها

سلام ، ممنون از مقاله خوبتون ، میشه درباره akiban بیشتر توضیح بدید ، تا چه حد روی کارایی سایت تاثیر داره؟

یک سوال دیگه خود شما هم بهینه سازی سرور برای دروپال رو انجام میدید ؟ یا سرویس هاستینگ دارید برای فروش؟

سلام دوست عزیز.
متشکرم از لطفتان.
آکیبان یک دیتابیس است که به زبان جاوا نوشته شده است و نصب آن روی لینوکس نباید کار سختی باشد (قبلا نسخه ی ویندوزی آن موجود بود ولی ظاهرا الان دیگر موجود نیست!)
با این حال من آن را تست کرده ام. گفته می شود که سرعت سایت را تا 100 برابر هم می تواند افزایش دهد. البته ممکن است شما نتوانید این افزایش 100 برابر را عملا مشاهده کنید ولی بدون شک شاهد بهبود چشمگیر سرعت سایت خواهید بود.
برای کسب اطلاعات بیشتر بهترین کار این است که سایت آکیبان را مشاهده کنید:
http://www.akiban.com/
----------------
من قبلا بهینه سازی سرور و دروپال انجام می دادم و سرور برای فروش هم داشتم ولی متاسفانه یا خوشبختانه در حال حاضر برای یک شرکت خارجی (در زمینه ی لینوکس و وب) به صورت فول تایم کار می کنم و به همین خاطر کسب و کار فروش سرور فعلا ندارم.
با این حال در صورتی که تمایل داشته باشید، ممکن است که یک سرور خریداری کنید و پیکربندی آن را به من بسپارید تا حدی که توانایی و فرصت داشته باشم به شما کمک خواهم کرد.
می توانید با استفاده از فرم نظر شما به من ایمیل بزنید.
موفق باشید.

I love Drupal

با سلام خدمت شما
جناب حسام زاده در مورد فایل های js و css سوالی دارم ،
آیا راهی برای کم کردن تعداد ریکوئست ها یا تعداد فایل های js و css برای دروپال هست ؟
مثلا برای سایت بنده ، حدود 25 فایل js و 25 فایل css لود میشود که این فایل ها مربوط به ماژول هایی هستند که استفاده شده ، با توجه به اینکه این فایلها بصورت اتوماتیک صدا زده میشوند و امکان تغییر مسیر یا یکی کردن آنها نیست ، آیا ماژول یا راه دیگری هست که این فایل ها ادغام شوند و تعداد ریکوئست ها کم شود ؟
با سپاس فراوان از شما و سایت مفیدتان

درود بر شما.
در تنظیمات Performance دروپال، گزینه ای وجود داره برای فشرده سازی فایل های css و js
اگر آن را فعال کنید، فایل ها به طور خودکار با هم یکی می شوند (aggregate)
اگر سیستم پیشرفته تری نیاز دارید، از ماژول advagg استفاده کنید.

I love Drupal

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