https://arsalanse.ir
چند کوک مهم دیتابیس 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 بهتر این مقدار رو افزایش بدین (پیشنهاد میدم ۸ بذارید)
مطلبی دیگر از این انتشارات
یوزر No Login در لینوکس ? (دسترسی امن پورتفروارد)
مطلبی دیگر از این انتشارات
چند نکته برای ×۱۰ تجربه برنامه نویسی شما
مطلبی دیگر از این انتشارات
لغو قانون تغییر ساعت رسمی، چک کردن tzdata تمام سرور ها با انسیبل