برای مدیران سایتهای وردپرسی بعضاً سؤالاتی تحت عنوان کدام افزونه سرعت سایت من را پایین آورده است؟ کدام افزونه مصرف CPU هاست من را بالا برده است؟ پیش آمده است و وقتی راه حلی برای آن پیدا نمیشود باعث خستگی هم میشود.
در مقایسه با فعالیت های CPU دسکتاپ، سطح پردازش CPU برای وب سایت باید حداقل باشد و وب سایت باید در کسری از ثانیه از زمان پردازنده اجرا شود. یک CPU به اشتراک گذاشته شده در سرور، حتی در زمانی که تعداد کمی از وب سایت های روی سرور شروع به اجرای فعالیت های پرمصرف (از لحاظ پردازنده) بکنند ، با مشکل مواجه خواهد شد. این فعالیت های زیاد نیاز به قدرت پردازش بیشتر دارند، و منجر به افزایش زمان آماده شدن و صف بندی فرآیند ها برای پردازنده بر روی هاست می شوند. هر سرور دارای تعداد ثابتی هسته CPU است. بنابراین، زمانی که شما از فضای هاست اشتراکی استفاده می کنید، زمان پردازشی که هر کاربر می تواند از CPU درخواست کند، محدود می شود. در محیط یک هاست اشتراکی، هنگامی که یک کاربر مقدار بیش از حد CPU را نیاز دارد، می تواند باعث تاخیر در رسیدگی به درخواست های وب سایت های دیگر کاربران شود. آگاهی نسبت به تأثیر وب سایت شما در CPU سرور می تواند به جلوگیری از هر گونه تعلیق احتمالی وب سایت ها به علت استفاده بیش از حد مجاز از منابع کمک کند.
ما در این مقاله می خواهیم مواردی که باعث می شود هاست شما لود سرور را بالا ببرد را بررسی کنیم:
عدم بهینه سازی دیتابیس
طراحی مناسب دیتابیس و برنامه های تحت وب تاثیر زیادی در کارایی آنها دارد.برای بهینه سازی دیتابیس باید مراحل مختلفی را پشت سر بگذارید که هر کدام از این مراحل نقش زیادی در سبک شدن دیتابیس و نظم بخشیدن به آن دارد . در بسیاری از مواقع دیتابیس های مورد استفاده بی نظم و تکه تکه می شوند که این موضوع بار اضافی را به سرور ارجاع میدهد یا حالتی duplicate بر روی دیتابیس ایجاد می شود یعنی اطلاعات در چند جای مختلف ذخیره می شود در حالی که ذخیره ی اطلاعات در یک جدول کافی میباشد.
یکی از راههای بهینه سازی استفاده از دستورات معادل یا اولویت گذاری در دیتابیس می باشد .
بهینه سازی دیتابیس یک مبحث کاملا تخصصی میباشد و پیرامون این مورد بهتر است از یک برنامه نویس کمک بخواهید.
اسکریپت های ناکارآمد و افزودن بیش از حد افزونه
به طور کلی برای میزبانی وب، مجموعه ای از دستورالعمل ها در یک زبان برنامه نویسی مانند PHP وجود دارد. اگر اسکریپت ها در وب سایت شما به طور موثر و سفارشی کد گذاری شده باشند، معمولا باید زمان اجرای زیر یک ثانیه داشته باشند. رفتار همه ی وب سایت ها ، از لحاظ استفاده از حافظه یکسان نیست، همانند بعضی از اسکریپت ها که دارای بهینه سازی ها و افزونه هایی در داخل خود هستند مثل امکان کش کردن در جوملا. بسته به سطح ترافیکی که سایت شما دریافت می کند، حتی یک افزونه یا اسکریپت فعال که استفاده شدیدی از منابع دارد یا از لحاظ کد نویسی ضعیف است، نیز می توان فشار زیادی را به منابع سرور وارد کند. بنابراین بهتر است تعداد ماژول ها ، افزونه ها و پلاگین هایی که استفاده می کنید را محدود کنید و آنهایی که دیگر فعال نیستند را حذف کنید. یک اسکریپت / پلاگین / ماژول قدیمی و به روز نشده اغلب به مشکل سوء استفاده از منابع دامن می زند، بنابراین تمام اسکریپت های نصب شده از جمله هر گونه افزودنی های شخص ثالث باید به روز شود. توسعه دهندگان نیز باید به طور مداوم اسکریپت های خود را بهبود بخشیده و حفره های امنیتی آن را به منظور افزایش کارایی پاکسازی کنند.
بهینه نبودن کدهای سایت
برخی از کاربران بدون اینکه اطلاع داشته باشند از قالبهای غیر استاندارد و یا خیلی قدیمی استفاده می کنند یا از ماژول های کرک شده استفاده می کنند . که استفاده از این موارد باعث بروز مشکلاتی بر روی سرور می شود.
برای حل این گونه مشکلات اگر از جوملا و یا وردپرس و… استفاده میکنید بهتر است نسخه سی ام اس را همیشه به آخرین نسخه بروزرسانی کنید . می توانید با یک طراح در این زمینه مشورت کنید که سایت شما و دیتابیس های شما را بهینه سازی کنند این امر علاوه بر کاهش شدید مصرف باعث افزایش سرعت لود شما می گردد.
و در صورتی که اسکریپت های شرکتی را خریداری کرده اید بهتر است در زمینه بهینه سازی سایت خود با شرکت پشتیبان مشورت کنید
تعداد بازدید کنندگان بالا
زمانی که تعداد بازدید کنندگان شما بالا باشد تعداد درخواست ها به سرور نیز زیاد است و باعث می شود هاست شما بیش از حد از منابع سرور استفاده کند و باعث لود بالا در سرور میشود .
زمانی که تعداد بازدید کنندگان شما خیلی بالا باشد و به منابع بیشتری نیاز داشته باشید و سرور های اشتراکی قادر به پاسخگویی آن نباشند بهتر است سرور مجازی خریداری کنید.
لوپ در سایت
Loop در لغت به معنای حلقه و به عبارت دیگر حلقه ی تکرار است . حتی در برنامه نویسی و اسکریپت نویسی هم با واژه ی لوپ زیاد سروکار داریم و وقتی یک لوپ می سازیم یعنی عملی در یک حلقه ی تکرار دور میزنه و تکرار میشه.
زمانی که این تکرار برای زمان طولانی و تعداد طولانی انجام شود ممکن است اجرای مداوم آن باعث بالارفتن لود سرور شود .
استفاده از منابع سنگین بر روی هاست
استفاده از تصاویر سنگین و یا فایل های دانلود زیاد یا عملیات اجرایی زیاد باعث بالا رفتن لود سرور می شود. البته زمانی می تواند این مورد باعث بالا رفتن لود سرور شود که درخواست های ارسال شده برای سرور و تصاویر و فایل های شما به صورتی باشد که از منابع سرور بیش از حد مجاز استفاده شده باشد.
عدم مسدود کردن لینک های دانلود
توصیه میشود از hotlink protection استفاده کنید که باعث جلوگیری از استفاده غیر مجاز سایر سایت ها از لینکهای دانلود و تصاویر شما می گردد . که انجام این مورد نه تنها باعث میشود سایر افراد از سایت های دیگر از پهنای باند شما استفاده نکنند بلکه به لود بالا در سرور نیز جلوگیری می شود.
حمله ی DDOS و هک شدن سایت
یک وب سایت هک شده، به علت فعالیت های چندگانه ی خودکار و اضافه ای که عموما در هر بار تلاش برای بارگذاری صفحه مجبور است انجام دهد، اغلب به استفاده غیر معمول از منابع در اکانت شما و اعمال بار اضافه بر روی CPU منجر می شود. هدف اغلب کاربران خرابکاری که سعی در هک کردن وب سایت شما دارند این است که کاربران را به یک سایت خطرناک هدایت کنند یا از وب سایت شما برای ارسال هرزنامه استفاده کنند.
علاوه بر استفاده از رمز عبور ایمن و بروز نگه داشتن تمام نرم افزارها، شما باید یک پلاگین، مانند Sucuri، برای اسکن سایت خود و هشدار احتمال هک شدن، نصب کنید.کار منطقی و عاقلانه این است که یک نسخه پشتیبان کامل از اکانت خود مربوط به ۳۰ روز گذشته، برای محافظت از سایت خود ذخیره داشته باشید، تا در صورت بروز مشکل به راحتی بتوانید با استفاده از آن وب سایت خود را به نسخه قبل از هک شدن برگردانید. اگر وبسایت شما هک شده باشد، باید توسط یک متخصص، به صورت دستی بررسی شود، ممکن است آن فرد مجبور به پاکسازی کد htaccess یا حمله تزریق کد شود تا هکرها را از منحرف کردن ترافیک وب سایت شما به سمت وب سایت دیگر متوقف کند.
در این حالت شما می توانید با برداشتن دی ان اس دامین و سایت را غیر فعال کنید تا زمانی که حمله متوقف شود و از سمت ما موارد لازم مانند نال شدن ای پی و موارد حفاظتی انجام می شود ولی در صورتی که بیش از حد حمله ادامه داشته باشد مجبور به بستن هاست تا زمان قطع شدن یا کم شدن حمله هستیم.
وجود چندین وب سایت وردپرس بر روی یک هاست
اکثر سیستم های مدیریت محتوای پویا، مانند وردپرس، از یک پایگاه داده یا دیتابیس برای ذخیره اطلاعات استفاده می کنند، به طوری که هر بار که یک بازدید کننده به سایت می آید، اسکریپت های PHP با پایگاه داده تعامل برقرار می کنند تا این اطلاعات را برای ارسال به مرورگر فراخوانی کنند . در فضای هاست اشتراکی، اگر سایت شما ترافیک مناسبی را به دست آورد، استفاده از سیستم پیش فرض کنونی وردپرس جهت بازسازی یک صفحه HTML یکسان به ازای هر درخواست بازدید کننده بسیار ناکارآمد خواهد بود.
اگر کاربران وب سایت وردپرس شما در سطح پیشرفته هستند ، توصیه می شود از پلاگین ذخیره سازی، مانند W3 Total Cache استفاده کنید. و برای کاربران مبتدی وردپرس، پلاگین WP Super Cache را در نظر بگیرید و با این کار، بار روی منابع سرور را تا ۹۰٪ کاهش دهید. اگر چندین وب سایت وردپرس در یک سرور اشتراکی دارید، جهت اجرای کارآمد وب سایت تحت یک اکانت میزبانی اشتراکی، نیاز به RAM و CPU بیشتری خواهید داشت. بنابراین به فکر تهیه فضای هاست اضافه برای برخی از وبلاگ های خود باشید.