اطلاعات تماس

تهران ، آیت الله کاشانی ، پلاک 160 واحد 27

92001474 - 021

info@negarnovin.com

ناحیه کاربری

توزیع سرعت بارگذاری در یک وب سایت PHP + MYSQL

توزیع سرعت بارگذاری در یک وب سایت PHP + MYSQL

با شما هستیم با توزیع سرعت بارگذاری در یک وب سایت PHP + MYSQL در خدمت شما خواهیم بود تا انتهای این مطلب ما را همراهی کنید. و یا با  محیط آن آشنا گردید به مطالعه این مطللب بپردازید.

بکاپ منظم روزانه هفتگی ماهانه در یک سرور مجزا از مزیت نگارنوین نسبت به سایرین می باشد.

شرکت نگارنوین با همت بهترین کارشناس های قوی به شما کاربران و مشتریهای عزیز خدمت رسانی میکند تا هرچه آسان تر و بهتر به درخواست های خود برسید.

کاموا

نحوه بهینه سازی سرعت لود سایت های PHP + MYSQL

در این مقاله قصد داریم مرحله به مرحله روش‌های موثر در توزیع سرعت بارگذاری یک وب سایت PHP+MYSQL را توضیح دهیم.

با افزایش تعداد بازدید‌کنندگان یک وب‌سایت، فشار بر روی سرور نیز افزایش می‌یابد. این لود باعث افزایش بسیار بالای فشار بر روی سرور می‌شود؛ به‌خصوص اگر منابع موجود کم بوده و CPU یا RAM کافی برای پاسخگویی به کلیه درخواست‌ها وجود نداشته باشد.

بار زیاد سرور می‌تواند زمان لود صفحه را به میزان قابل‌توجهی افزایش دهد؛ یا حتی یک وب‌سایت را کاملاً از دسترس خارج کند. بنابراین بسیار مهم است که به‌صورت پیشگیرانه به این مسئله پرداخته و لود اضافی را قبل از تبدیل شدن به یک مشکل واقعی، پخش و توزیع کرد.

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

بهینه سازی سرور

اگر نمی‌توانید منابع بیشتری فراهم کنید، تنها گزینه‌ی موجود این است که وب‌سایت خود را بهینه کنید تا سرور فعلی بهترین عملکرد را داشته باشد.

اطمینان حاصل کنید که فقط برنامه‌های کاربردی مورد نیاز در‌حال اجرا هستند؛ زیرا هر سرویس بلااستفاده فقط باعث مصرف CPU و حافظه‌ی شما می‌شود. همین مسئله در مورد پلاگین‌ها نیز صادق است؛ مانند پلاگین‌های نصب‌شده در وردپرس.

بهینه‌سازی کدهای php کار دشواری است و احتمالاً به کمک یک برنامه‌نویس نیاز خواهید داشت. اما چند مورد نیز وجود دارد که می‌توانید امتحان کنید. اگر وب‌سایت شما با ابزار‌های caching مانند opcache ، memcache یا redis سازگار است؛ اطمینان حاصل کنید که این موارد در سرورتان فعال شده‌اند، زیرا می‌توانند تفاوت قابل‌ملاحظه‌ای ایجاد کنند.

استفاده از ابزارها و نسخه های جدید

هر ورژن جدید php سریع‌تر از ورژن‌های قبلی است و از منابع کمتری استفاده می‌کند. ورژن php را به‌صورت مرحله‌به‌مرحله به‌روز‌رسانی کنید تا سایت شما به‌درستی لود شود. اگر از یک پلتفرم مدرن CMS مانند وردپرس استفاده می‌کنید، می‌توانید مستقیماً آخرین ورژن PHP را به‌روز‌رسانی کنید.

سرور پایگاه‌ داده شما همچنین برای بهترین کارایی و استفاده از منابع باید از جدیدترین نسخه MySQL یا MariaDB استفاده کند. یک ابزار تشخیص دهنده مانند MySQLTuner می‌تواند برخی از ترفندهای مفید را برای فایل‌های تنظیمات شما پیشنهاد دهد.

یک ابزار عالی دیگر mytop است که به‌شما امکان می‌دهد که هنگام اجرای برنامه، Sql query ها را دنبال و بررسی کنید. کندی‌هایی که باعث لود زیاد سرور می‌شوند را شناسایی کرده و از برنامه‌نویس خود بخواهید که آ‌ن‌ها را اصلاح کند.

در نهایت یک سیستم Caching مؤثر می‌تواند بار روی سرور شما را بسیار کاهش داده و به آن اجازه دهد همزمان به درخواست‌های بیشتر پاسخ دهد.

حتی caching فایل‌های استاتیک نیز بسیار مفید است؛ اما تا زمانی که تنظیمات درست باشد، می‌توانید صفحات داینامیک را نیز در caching خود ذخیره کنید.

گزینه‌های caching زیادی در دسترس است. هر CMS چندین ابزار داخلی یا افزونه دارد. همچنین می‌توانید Nginx را جهت ذخیره‌سازی برای Apache نصب کنید؛ یا از راه‌حل‌های دیگر مانند Redis یا Varnish برای این منظور استفاده کنید.

افزایش منابع سرور

اگر بتوانید منابع بیشتری را اضافه کنید، قطعاً باعث توزیع سرعت بارگذاری خواهد شد. این کار در سرور‌ اختصاصی کمی مشکل‌تر است. بدین منظور باید RAM بیشتری اضافه کنید؛ یا سرور خود را به ماشین مجازی بزرگتری منتقل کنید، که این کار به یک downtime نیاز دارد.

با این حال، ارتقاء بر روی یک VPS آسان است و هر سرویس ابری یا مجازی نیز از آن پشتیبانی می‌کند و صرفاً یک راه‌اندازی مجدد ساده سرور لازم است. سعی کنید تعداد Cpu Core ها یا میزان حافظه سیستم را افزایش دهید. در صورت وجود امکان به‌روزرسانی، می‌توانید دیسک‌های خود را به راه‌حل‌های ذخیره‌سازی سریع‌تر مانند SSD منتقل کنید.

استفاده از Multi-Server ها

ارتقاء در یک سرور محدودیت‌های خود را دارد، ولی توزیع بار یا ترافیک در چندین سرور در نهایت گزینه‌ای مؤثرتر است. بسته به نیاز وب‌سایت خود، می‌توانید منابع مورد نیاز سایت خود را بین چندین ماشین مجازی با role های خاص تقسیم کنید.

برنامه‌های لینوکس روی ماشین‌های اختصاصی و هنگامی که منابع خود را با سایر سرویس‌ها به اشتراک نمی‌گذارند، بهتر کار می‌کنند. ساده‌ترین روش راه‌اندازی Multi server برای سایت php + MySQL آن است که از دو ماشین استفاده کنید. یکی از آن‌ها فقط به‌عنوان سرور پایگاه ‌داده استفاده می‌شود و دیگری به‌صورت ریموت فعالیت های وب‌ سرور و php را مدیریت می‌کند.

اگر این تنظیمات نتواند ترافیک سایت را کنترل کند؛ زمان آن است که یک راه‌حل پیچیده‌تر را پیاده کنید. دو یا چند وب‌سرور می‌توانند لود را بین خود به اشتراک بگذارند. در این سناریو به ماشینی نیز احتیاج خواهید داشت که در میان آن‌ها به‌عنوان سرور توازن بار load balancer عمل کند.

سرور توازن بار load balancer را می‌توان با Nginx یا HAProxy تنظیم کرد و نقش آن توزیع درخواست‌ها به backend web server است که می‌تواند سریع‌تر پاسخ دهد. وب‌سرورها باید document root یکسان را به اشتراک بگذارند، که می‌توان با تهیه خروجی از یک NFS mount یا ایجاد یک ماشین جداگانه برای این منظور بدان دست یافت.

این راه‌حل دارای مزایای بسیاری است: با افزودن یا حذف وب‌سرورها به‌راحتی قابل‌ ارتقاء است و همچنین پایداری سیستم را افزایش می‌دهد؛ زیرا حتی اگر یکی از وب‌سرورها نیز خراب شود، سایت کماکان آنلاین باقی می‌ماند.

همچنین اگر بودجه قابل توجهی دارید، می‌توانید یک راه‌حل کاملاً پایدار را با یک سرور پشتیبان توازن بار (با استفاده از VRRP) و دو ماشین دیتابیس و به‌صورت master-master پیاده سازی کنید.

 

 

سرور مجازی فنلاند

تبریک می گوییم مقاله توزیع سرعت بارگذاری در یک وب سایت PHP + MYSQL پایان رسید با مقالات بعدی ما را همراهی کنید.

شعار همیشگی: حفظ مشتریان فعلی ، دعوت از مشتریان قبلی ، جذب مشتریان آتی.

 

Share this Post

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *