MILAD SAFARY

راهکارهای افزایش سرعت جوملا ( همه بخوانند)

1 پست در این موضوع

ارسال شده در (ویرایش شده)

در وبگردی جوملایی که داشتم به مطالبی مهم در مورد جوملا برخوردم که در تاپیک هایی آنها را منتشر می کنم (انشاالله که مفید باشد):

با وجود این که جوملا! یکی از انعطاف *پذیرترین و قدرتمند*ترین سیستم*های مدیریت محتوای در دسترس است، از ناحیه زمان اجرا و عملکرد (Performance) می*تواند شما را با دشواری*هایی روبه*رو کند. چند کار وجود دارد که شما می*توانید با انجام دادنِ آن سرعت سایت خود را افزایش دهید. سطح عملکرد قابل قبول به وسیله هر بسته هاستینگ می*تواند انجام شود تا زمانی که بهترین عملکرد می*تواند بر روی سرور تمام اختصاصی( Lighttpd که بسیار سریع*تر از Apache است) دیده شود. برای برخی از مدیرها، ارتقاء به یک سرور تمام اختصاصی ممکن است کار مناسب و به *صرفه*ای نباشد.

بهینه*سازی قالب:

ما بحث را با یکی از معمول*ترین(و زیا*ن*آورترین) مشکلاتی که من تا به حال در جوملا (یا هر سایت دیگری) دیده*ام، آغاز می*کنیم. هزاران هزار قالب که مشخصاً برای جوملا ساخته شد*ه*اند، وجود دارد و بیشتر آن*ها بسیار زیبا به نظر می*رسند ولی بیشتر آن*ها خطاهای سختی در عملکرد دارند. مشکل این*جاست که قالب*هایی وجود دارند که بیش از 70 تصویر جدا در صفحه را نمایش می*دهند. هر تصویر یک درخواست جدید را به وجود می*آورد (که به بین 1/ 0تا 1 ثانیه به تأخیر شبکه اضافه می*کند) که حتماً باید Download شوند. مشکل آن*جایی بدتر می*شود که تصاویر کوچک (با توجه به اندازه data) نیستند و هنگامی که آن*ها بهینـه*سازی نشده*اند. یک سایت بزرگ وجود دارد که به شما کمک می*کند تشخیص بدهید چه بهینه سازی قالبی باید انجام بشود و اطمینان کسب کنید که بعد از هر تغییر بزرگ می توانید سایتتان را از این طریق اجرا کنید (TheWebsite Analyzer)

بعضی اوقات، Gzip:

رمز گذاری صفحات شما با Gzip در ٪90موارد جواب می دهد...اگر پردازشگر سرور شما سریع*تر از پهنای باند شماست (با تأکید: ٪90 موارد)، فعال*سازی Gzip compression حقیقتاً سرعت سایت شما را افزایش خواهد داد.من آن را می*گویم زیرا Gzip کردن صفحات به یک CPU پرقدرت نیاز دارد. اگر سایت شما سریع بالا نمی*آید،Gzip را فعال کنید(مخصوصاً در سرورهای با سرعت بالا). احتمالاً اگر به نتیجه نرسیدید یا از هاست اخطار CPU دریافت کردید، Gzip را غیرفعال کنید. این کار می*تواند به شما آسیب زند، اما اکثر اوقات این کار به شما کمک می کند. تنها راه فهمیدن، امتحان کردن آن است.

تمامی کامپوننت*ها، کامپوننت*های خوبی نیستند:

اگر به پوشه امکانات جوملا نگاهی بیندازید. کامپوننتی را پیدا خواهید کرد که تمام خواسته*های شما را برآورده می*کند (در بیشتر قسمت ها). مشکل این جا است که بعضی از این کامپوننت*ها واقعاً بی تأثیر هستند و کندی سایت شما را ناگهان بیشتر می کند. اگر شما به دنبال یک راه آسان برای شناسایی کامپوننت*های کند هستید که ممکن است از آن*ها استفاده هم می*کنید، می خواهید، کامپوننت my page caching راا نصب کنید، اما caching را فعال نکنید(بگذارید تا صفحه را با زمان طولانی ضبط کند برای هرURL).بعد از یک هفته یا بیشتر، به سراغ فهرستی که تولید شده بروید وURL های کند را پیدا کنید.آن کامپوننت*ها به شما نشان خواهند داد که کدامشان از بقیه کندتر هستند. اگر می توانید آن*هایی که خیلی کند هستند را حذف کنید و از محصول دیگری استفاده کنید.

آمار شاید خوب به نظر برسند، اما...:

آن*ها از SQL Queryهای فراوانی استفاده می*کنند تا کارشان را انجام دهند که خیلی هم ارزشمند نیستند! اگر شما آمار خوبی می*خواهید از تحلیل*گر Google برای شمارش بازدید کنندگان خود استفاده کنید و کامپوننت*های اضافی دوری کنید. آن*ها آمار و ارقام خوبی را به شما نمایش می*دهند اما همراه با خطایی بزرگ در عملکرد! تنها آمارگیرنده*ای که ارزش نگهداشتن دارد search queryها هستند (درconfig جوملا) اگر شما به وب*سرور دسترسی دارید، همچنین می*توانید آمار ورود به سایت را از طریق سرور غیرفعال کنید (این عمل بسیار موثر است و تنها راهی است که اگر سرور به*کندی بالا می*آید، به شما کمک کند.)

مامبوت*ها به*راستی بسیار قدرتمند هستند اما کند...:

نگاهی بیندازید و ببینید از چه مامبوت*هایی استفاده می*کنید. اگر از هیچ*کدام از آن*ها استفاده نمی*کنید، خود را از دست آنها رها کنید (تنها غیرفعال کردن آن*ها کافی نیست، بلکه آن*ها را حذف کنید). هر بار که شما صفحه ای را بالا می آورید، مامبوت*ها 20 تا 30 برابر بیشتر خوانده می*شوند. اگر کد ٪100 موثر و مورد احتیاج نیست، این تلف کردن انرژی است. به این معنا نیست که اگر شما از مامبوت استفاده می کنید، هنوز و همچنان باید آنها را نگه داشت. بعضی از مامبوت*ها هستند که به خاطر کند کردن سایت، شناخته شده هستند. یکی از آنها All Videos Plugin است. این یک راه حل عالی است اما برای تکمیل باید از مقدار فراوانی Query استفاده کنید.

SEF، سرور دوستانه*ای (Server Friendly) نیست:

یکی از بهترین کارهایی که شما می توانید برای سایت خود انجام دهید، این است که کاری کنید تا URLها بهتر و زیباتر به نظر برسند. هسته*ی جوملا کار را به شکل قابل قبولی انجام می*دهد اما کامپوننت*های اضافی کارآمدی هستند که می توانند URLهای سایت شما را بسیار زیباتر کنند.تنها مشکلی که این کامپوننت*ها دارند عملکرد غیردوستانه آنها است (آنها از هزاران Query استفاده می کنند). من استفاده از OpenSEF را به بقیه ترجیح می دهم و همانطور که به نظر می آید می تواند ترکیبی از قدرت، انعطاف پذیری و عملکرد است. همیشه به یاد داشته باشید که استفاده از SEF URLs یک معاوضه است.یک URL ظاهر زیباتری به یک موتور جستجو می دهد که می تواند استفاده کنندگان را به هدفشان برساند، اما برای بالا آمدن سایت زمان بیشتری لازم است. پیش از فعال سازی SEF URLها به آن خوب فکر کنید. کاری که شما می*توانید انجام دهید، بهینه*سازی پایگاه داده است به صورت دوره*ای به وسیله حذف کردن URLهای نامعتبر و منتشرنشده از پایگاه داده OpenSEF است (یک گزینه در بخش مدیریت OpenSEF)

تاحد امکان ذخیره*سازی (caching) را فعال کنید:

اگر می توانید، ذخیره*سازی محتوای هسته*ی جوملا را فعال کنید، این کار به شما سرعت بیشتری می*دهد وقتی شما در حال نظاره محتوا و ماژول*ها هستید (لازم نیست هر زمان که صفحه بالا می آید مامبوت*ها را پردازش کنید). اگر شما واقعاً می خواهید که سرعت را برای کاربران ثبت نشده افزایش دهید، نگاهی به کامپوننت ذخیره*سازی صفحه بیاندازید که می تواند کل صفحات را ذخیره سازد. احتمالاً این بهترین کاری است که شما می توانید برای پیدا کردن کاربران ثبت نشده، انجام دهید (بیشتر کاربران برای ٪95 از وب*سایت*ها).این به این معنا نیست که شما می*توانید بقیه این بهینه*سازی*ها را فراموش کنید و به خاطر این که کاربران ثبت شده همچنان همان سایت ذخیره*نشده را خواهند دید.

یافتن Queryهای بد:

از پیکربندی کلی جوملا، خطازدایی را فعال سازید.سپس به سایت نگاه کنید و مرتب بودن Queryهای پایگاه داده را بررسی کنید. شما می*خواهید این تعداد در کمترین حد خود باشند (کمتر از 30، ترجیحا، اما کمتر از 50 هم اکتفا می*کند). با نگاه کردن به Queryهای بازگشتی آغاز کنید (آنها را دوباره و دوباره مرتب کنید). شما باید قادر باشید تا بگویید که کدام امکان در حال تولید Query است، تنها با توجه به جدولی که به آن می*نگرید. (برای مثال *Select* از _job_openset_configمتعلق به OpenSEF است). دو راه برای مواجهه با Queryهای در حال اجرا وجود دارد. شما می*توانید آن امکان را غیرفعال کنید یا با گسترش*دهنده تماس بگیرد تا آن امکان را بهینه*سازی کند (چه گسترش*دهنده خود امکان یا یک گسترش*دهنده قراردادی مانند من). از پل*های ارتباطی دوری کنید:

یکی از محبوب*ترین متدها برای اضافه کردن توابع جدید به جوملااز طریق یک پل ارتباطی است.این کار شامل تغییراتی سطحی هسته جوملا و یا نرم افزارهای دیگر هم می شود (مانند SMF و یا Gallery2) برای فراهم ساختن تابعی از هردوی آن*ها. از لحاظ ظاهری، زیبا به نظر می*رسد زیرا نرم افزارهای دیگر بسیار تصفیه شده*تر و دارای تابع*های بیشتری نسبت به امکانات قابل دسترسی جوملاهستند اما درزیر یک داستان متفاوت دارد.مشکل این جاست که آنها دو سیستم جدا و مستقل از یکدیگر هستند. این به این معنا است که هر کدام باید هسته خود را بارگذاری (شامل frameworks، مدیریت کاربران و غیره). این یک خطای بزرگ است زیرا شما برای صفحه، عملاً دو صفحه را بارگذاری می*کنید. برای عملکرد با ارزش*تر،از دست دادن توابع بسیار کوچک در رفتن از SMF به سوی چیزی چون fireboard بسیار خوب است.

بهینه*سازی پایگاه داده:

یکی از چیزهایی که نصب جوملا را تحت فشار قرار می دهد سرور پایگاه داده است. دو راه اصلی وجود دارد که پایگاه داده را بهینه*سازی کنید. بهینه*سازی جدول*ها و بهینه*سازی شِما (Schema). فرق آن*ها این است که جدول*ها نشان دهنده چگونگی ذخیره کردن جدول*ها در داده است و شِما نشان دهنده این که آن*ها چطور باید ذخیره شوند.شِما فقط باید یک بار بهینه*سازی شود در حالی که جدول*ها باید مرتبا ًبهینه*سازی شوند (تا وقتی که داده اضافه شود، تنظیم شود و حذف شود).برای بهینه*سازی جدول*ها به phpmyAdmin بروید، همه جدول*ها را انتخاب کنید و بر روی بهینه*سازی کلیک کنید.

در پایان نسخه پشتیبان تهیه کنید و سرور را مشاهده کنید:

شما باید مرتباً از سایت خود نسخه پشتیبان بگیرید و آن*ها را از پروسه تولید سرور بیرون بکشید. شما ممکن است به این فکر بییفتید «این چه ارتباطی با عملکرد شما دارد؟»، این به تمام عملکرد ارتباط دارد. بدون پشتیبان رایج، اگر نصب، به روز رسانی یا tweak به درستی انجام نگرفت، شما چگونه می*خواهید سایت خود را ذخیره نمایید؟ یک کاهش سرعت ناگهانی می تواند شرایط برای هک شدن که باعث تزریق شدن رمزهای خرابکار به هسته می شود را فراهم سازد (متا ُسفانه امکان دارد).چه اتفاقی خواهد افتاد اگر سرور تصمیم به زدن گلوله کند؟ بهترین راه برای تهیه نسخه پشتیبان با یک automated script می باشد(تا شما نتوانید فراموش کنید).نمونه های خوبی از آن در کل اینترنت وجود دارد.(این می تواند شامل control panel شما هم شود اگر یکی از آنها دارید). به یاد داشته باشید قبل از انجام هر کاری در سایت خود، نخست از آن یک نسخه پشتیبان تهیه کنید.

ویرایش شده در توسط MILAD SAFARY

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری