چند کوک مهم دیتابیس MySQL

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


تجربه دیدن عددی بالای 1000 کوئری در ثانیه تجربه هیجان انگیزه و همزمان وحشتناکیه

اما با tune کردن دیتابیس، مناسب با سنارو و منابعی که در دسترس داریم میشه پروفرمنس بهتری رو انتظار داشت.

به این بهونه به چند کوکی که پیشنهاد میکنم قبل از روز های بارونی زیرساخت بهش یه نگاه بندازید و سعی کنید با تغییر دادنشون عملکرد mysql رو بالاتر ببرید اشاره میکنم

در یک نگاه:

max_connections=151
innodb_buffer_pool_size=134217728
innodb_buffer_pool_instances=1
innodb_log_file_size=50331648
innodb_io_capacity=200
innodb_parallel_read_threads=4
long_query_time=10
slow_query_log=NO
slow_query_log_file=host_name-slow.log

مسیری که میتونید به عنوان ولوم اعمال کنید:

- ./my.cnf:/etc/my.cnf


شماره یک: innodb_buffer_pool_size

مهم ترین کوک مقدار innodb_buffer_pool_size هست که در داکیومنت به این شکل تعریف شده:

The size in bytes of the buffer pool, the memory area where InnoDB caches table and index data.

فضایی اصلی که در اختیار سیستم کش دیتابیس قرار میدین که مقدار دیفالتش خیلی کمه و حدود ۱۲۸ مگابایت هست اما مطمعنن شما منابع بیشتری دارین و ازش میتونید خیلی بهتر استفاده کنید پیشنهاد میدم حدود ۷۰-۸۰ درصد رم رو به این مقدار اختصاص بدین

شماره دو: innodb_buffer_pool_instances

The number of regions that the InnoDB buffer pool is divided into.

در کنار متغیر بالایی زمانی که مخصوصا بافر بالای ۱ گیگ اختصاص میدینه برای concurrency بهتر این مقدار رو افزایش بدین (پیشنهاد میدم ۸ بذارید)