Здравствуйте. Нужна Ваша помощь. Часто сталкиваемся с высокой нагрузкой которую создают кроны скриптов SmartCJ. Это связано с настройками сервера баз данных.
Читал Ваше руководство http://smartcj.com/wiki/doku.php?id=ru:mysql_tunning но все же остается не понятным один момент, надеюсь Вы поможете разобраться с этим.
Не понятно как именно выставить правильно значение innodb_buffer_pool_size
>innodb_buffer_pool_size - туда должен влезать весь датафайл (таблицы в InnoDB), те если он у вас 500 метров и их 5 штук то тут должно быть 2.5 ГИГА (конкретно эта цифтра - это размер всех активных rot_galleries + rot_gallery_data* + rot_gallery_stats таблиц ).
Полагаю что все таблицы в InnoDB имеют расширение .idb и найти их можно примерно так: http://joxi.ru/Q2K1Gb6i4Md8br
с помощью find найти все файлы *.idb в /var/lib/mysql и сложить их размеры
добавить туда еще размер файла /var/lib/mysql/ibdata1
в моем случае получилось 2068МБ, т.е. значение innodb_buffer_pool_size нужно выставить не менее 2068М в настройках сервера баз данных.
for i in $(find /var/lib/mysql -iname "*.ibd" -o -iname "ibdata1"); do du -ms $i >>list;done
awk '{ SUM += $1 } END {print SUM}' list
2068
Если я не прав подскажите как правильно или в какую сторону копать.
Изначально придерживаемся рекомендаций в дминке скрипта и конвертируем в innodb те таблицы что рекомендовано.
Также смотрим что показывает mysqltuner но все же хочется разобраться.
И подскажите еще вот это
> темп мускла в память можно вынести, должно помочь
это отсюда viewtopic.php?f=7&t=96706&p=167616&hili ... er#p167616
опишите пожалуйста детальнее, или дайте направление в котором гуглить.
Я думал если кеш достаточный то и так все в памяти держиться
Спасибо!
innodb_buffer_pool_size
Re: innodb_buffer_pool_size
Приветствую!
размер таблиц - я смотрю по information_scheme либо в PMA , он оттуда же берет информацию, в реальным размером файлов не сравнивал но думаю корреляция однозначно есть.
темп диск мускла это другое относительно innodb pool
пул - это мы взяли данные и держим их в памяти что б при запросе не лазить на диск
упрощенно темп мускла - это когда мы делаем выборку из данных, НО нужные нам данные находятся в разных таблицах, например данные галеры и данные в каких группах она состоит находятся в разных таблицах.
Мускл делает временную таблицу где временно хранит результаты одной из выборок.
эти таблицы сохраняются в памяти либо на диске в зависимости от настройки мускла.
НО вы пишете что у вас нагрузку создают кроны, те как я понимаю нагрузка на проц а не диск?
размер таблиц - я смотрю по information_scheme либо в PMA , он оттуда же берет информацию, в реальным размером файлов не сравнивал но думаю корреляция однозначно есть.
темп диск мускла это другое относительно innodb pool
пул - это мы взяли данные и держим их в памяти что б при запросе не лазить на диск
упрощенно темп мускла - это когда мы делаем выборку из данных, НО нужные нам данные находятся в разных таблицах, например данные галеры и данные в каких группах она состоит находятся в разных таблицах.
Мускл делает временную таблицу где временно хранит результаты одной из выборок.
эти таблицы сохраняются в памяти либо на диске в зависимости от настройки мускла.
НО вы пишете что у вас нагрузку создают кроны, те как я понимаю нагрузка на проц а не диск?
Don't forget to run script update
Re: innodb_buffer_pool_size
Нагрузка и на диск и напроц, потихоньку разбираемся. Основной вопрос был innodb_buffer_pool_size спасибо. Буду разбираться
Last edited by dave on Thu Oct 11, 2018 10:13 pm, edited 1 time in total.
Re: innodb_buffer_pool_size
да, надо смотреть что именно грузит и что именно
Don't forget to run script update
Re: innodb_buffer_pool_size
Может кому пригодится вот хорошая статья https://rtfm.co.ua/mysqlmariadb-tyuning ... pool_size/ какое значение поставить для innodb_buffer_pool_size
Re: innodb_buffer_pool_size
Скажите, по поводу innodb_buffer_pool_size, можно ли ориентироваться просто по этому значению (на сервере только смарт):
19G /var/lib/mysql
если, я правильно понимаю, в любом случае процентов 80 там это как раз таблицы в innodb
то есть можно смело ставить innodb_buffer_pool_size, допустим 20-24G (с большим запасом) и не переживать за этот момент
PS: оперативки там 64G и более
19G /var/lib/mysql
если, я правильно понимаю, в любом случае процентов 80 там это как раз таблицы в innodb
то есть можно смело ставить innodb_buffer_pool_size, допустим 20-24G (с большим запасом) и не переживать за этот момент
PS: оперативки там 64G и более
Re: innodb_buffer_pool_size
да, если вся база влезает в память это конечно прекрасно
Don't forget to run script update







