نحوه بهینه سازی MySQL برای وب سایت های پربازدید

اکثر وب سایت هایی که مفید هستند  حداقل تا حدی با برنامه های پشتیبانی شده توسط پایگاه داده ساخته شده اند. هنگام خرید از وب یا جستجوی اطلاعات ، در حال تعامل با یک برنامه پایگاه داده هستید. این پایگاه داده برای ذخیره موجودی کالا ، فروش و داده های مشتری استفاده می شود و از اجزای اساسی دنیای تجارت الکترونیکی است که در آن زندگی می کنیم.

وب سایت ها با در نظر گرفتن پیش فرض های خاص ساخته می شوند. یکی از این موارد انتظار ترافیک است که سایت به خود جذب خواهد کرد. باید مقداری تحقیق در مورد تعداد بازدیدکنندگانی مورد انتظار انجام شده باشد تا بتوان سرور را به درستی اندازه زده وهرگونه بهینه سازی لازم را برای پایگاه داده انجام داد. این تحقیق همیشه نمی تواند درخواستهای واقعی کاربران را از پایگاه های داده یا برنامه های پیش روی وب سایت پیش بینی کند. اوضاع می تواند ناگهانی و غیرمنتظره تغییر کند.

وقایع اخیر پیرامون شیوع COVID-19 یا Coronavirus این واقعیت را کاملاً واضح نشان می دهد. در حالی که جهان برای کنار آمدن با یک بحران بهداشت عمومی تلاش می کند ، بسیاری از وب سایت هایی که ممکن است قبلاً شاهد استفاده های پراکنده ای بودند ، اکنون برای ارائه اطلاعات یا خدمات به سیل عظیم بازدیدکنندگان فراخوانده شده اند. سایتهایی مورد بازدید زیاد و افزایش فشار برسرور قرار میگیرند نظیر سایتهایی که بازدیدکنندگان را در مورد روشهای ایمن سازی ، تهیه محصولات مرتبط با سلامتی آموزش میدهند و یا به خانواده ها اجازه می دهند تا از خانه خرید کنند تا از تماس غیر ضروری با غریبه ها جلوگیری شود.

MySQL برای قدرت دادن به بسیاری از وب سایت ها مورد استفاده قرار می گیرد و برای درصد زیادی از DBA آشنا است. ممکن است از آنها خواسته شود تا روشهایی را پیدا کنند که با استفاده از این نوع تغییر در الگوهای ترافیکی ، فشارهای بیشتری را که بر پایگاه داده آنها وارد می شود ، برطرف کنند.

چرا MySQL برای وب سایت ها محبوب است

MySQL یکی از محبوب ترین راه حل های پایگاه داده رابطه ای موجود است و به طور گسترده ای برای ساخت وب سایت ها استفاده می شود. دلایل زیادی MySQL را به یک پایگاه داده جذاب برای ایجاد وب سایت تبدیل کرده است. بعضی از آنها … هستند:

  • MySQL یک راه حل رایگان است.
  • می توان آن را روی سیستم عامل های مختلف اجرا کرد.
  • از SQL پایه استفاده می شود ، استفاده از آن بدون دانش تخصصی آسان تر می شود.
  • راه اندازی و پیکربندی مستقیم ؛
  • کَش کردن کوئری و اندیس کردن و جستجوی متن کامل ؛
  • MySQL یک راه حل پخته و پایدار است.
  • این پلتفرم از جامعه وسیعی از توسعه دهندگان برخوردار است.

این عوامل به محبوبیت MySQL به عنوان بستر پایگاه داده برای برنامه های تحت وب کمک می کنند.

 

تکنیک های بهینه سازی برای رسیدگی به حجم بالای بازدید کننده

هنگامی که وظیفه آنها نیاز به پیاده سازی بهینه سازی برای سیستم های MySQL است ، تیم های پایگاه داده به چیزهایی تمرکزدارند که ممکن است به برخی از اثرات فوری برسند. تغییرات پیکربندی انجام شده درفایل /etc/my.cnf می تواند به عملکرد پایگاه داده هایی که تعداد کاربران بیش از حد پیش بینی شده  دارند ، کمک کند.

یک استراتژی که می تواند به شما کمک کند ، نگه داشتن حداکثر مقدار داده ها و شاخص های ذخیره شده در RAM است. در InnoDB  متغیر innodb_buffer_pool_size باید به طور مناسب تنظیم شود. پس از تعیین میزان استفاده از داده توسط InnoDB ، شما یک راهنما در مورد اندازه مخزن بافر(buffer pool) خود ارائه می دهید. شما باید  بدون نیاز به استفاده از بیش از ۵۰٪ حافظه رم موجود ، جا دادن اندازه کامل مورد نیاز InnoDB هدفتان باشد. اگر این امر امکان پذیر نیست ، ممکن است زمان آن فرا رسیده باشد که حافظه بیشتری را در نظر بگیریم. استفاده بیش از حد از حافظه برای InnoDB از طرق دیگر بر عملکرد سیستم تأثیر منفی می گذارد.

اگر از MyISAM به عنوان وسیله ذخیره سازی پایگاه داده شما استفاده شود ، تغییرات مشابهی ایجاد می شود. در این حالت ، key_buffer_size متغیری است که باید به آن پرداخته شود. باید روی کمتر از ۳۰٪ از کل RAM موجود تنظیم شود.

برخی دیگر از تکنیک های بهینه سازی شامل غیرفعال کردن نظرات که به تماس های پایگاه داده اضافی نیاز دارند ، به حداقل رساندن کوئری های پایگاه داده و اصلاح نحوه کَش کردن کوئریهای MySQL هستند. افزایش مقدار متغیر query_cache_size باعث می شود که کوئری ها مدت زمان بیشتری کَش شوند و منجر به کاهش فراخوانی پایگاه داده می شود.

نظارت بر دیتابیسهای MySQL

SQL Diagnostic Manager برای MySQL می تواند به شما کمک کند تا به سرعت بفهمید چه چیزی زمان پاسخگویی به پایگاه داده را کند می کند تا مشکلات حل شود این امکان مونیتورینگ بلادرنگ را فراهم می کند تا بدانید در سیستم های MySQL شما چه اتفاقی می افتد. می توانید از این دانش برای انجام اقدامات اصلاحی یا به طور فعال برای شناسایی مشکلات احتمالی قبل از تأثیر آنها بر کاربران استفاده کنید. کوئری های قفل شده و طولانی مدت را پیدا کنید که ممکن است کل سیستم را به پایین بکشاند و در صورت لزوم آنها را از بین ببرد (kill).

این برنامه مانیتورینگ همه کاره دارای بیش از ۶۰۰ ناظر و مشاور(۶۰۰ monitors and advisors) است که سلامت سیستم را به طور مداوم بررسی می کنند و با برآورده شدن آستانه های مشخص شده ، هشدار ارسال می کنند. شما می توانید داشبورد و نمودارهای سفارشی ایجاد کنید ، بنابراین به شما توصیه می شود که زمینه های خاص نگرانی را چگونه انجام دهید. SQL Diagnostic Manager برای MySQL می تواند در ایجاد توانایی در تیم پایگاه داده شما برای دستیابی به بهترین عملکرد از سیستم های شما و مقابله با تقاضای پرترافیک بسیار موثر باشد.

شناسنامه مطلب:

آدرس مطلب: https://blog.monyog.com/how-to-optimize-mysql-for-high-traffic-websites/

نویسنده:  Robert Agar

مترجم : گوگل ترانسلیت

ویراستاری و اصلاح ترجمه: علیرضا صدرثقةالاسلامی

نحوه بهینه سازی MySQL برای وب سایت های پربازدید

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

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