Какой смысл задирать innodb_buffer_pool_size под 80%?

12
D
На сайте с 28.06.2008
Offline
1101
1415

Прочитал кучу мануалов из которых понял что параметр innodb_buffer_pool_size отвечает за то чтобы поместить все базы + индексы в оперативку и работать с ними там по быстрому.

Не понял я вот что - везде советуют отдать под него до 80% оперативки, но какой в этом смысл? Допустим все базы у меня весят 4 гига суммарно, а оперативки на сервере 16 гигов.

Я отдал под innodb_buffer_pool_size 6 гигов, зачем отдавать 12-14 Г если и 6 достаточно с лихвой?

DR
На сайте с 22.08.2013
Offline
81
#1
Dram:
Прочитал кучу мануалов из которых понял что параметр innodb_buffer_pool_size отвечает за то чтобы поместить все базы + индексы в оперативку и работать с ними там по быстрому.

Не понял я вот что - везде советуют отдать под него до 80% оперативки, но какой в этом смысл? Допустим все базы у меня весят 4 гига суммарно, а оперативки на сервере 16 гигов.

Я отдал под innodb_buffer_pool_size 6 гигов, зачем отдавать 12-14 Г если и 6 достаточно с лихвой?

Всё правильно сделали, более того - я не знаю никого, у кого бы под базы было отдано 80% оперативки - есть же ещё апач, php процессы пользователя и т.п. :)

Оказываем почасовую поддержку сайтам, сделанным на CMS Drupal, пишем модули, верстаем. Создание сайтов от 800руб. ( http://www.ra-don.ru ) + Партнёрская программа от 50% ( http://www.ra-don.ru/partners )
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#2

Потому, что это общие настройки. Чтобы задал и забыл.

Это ты любитель лазить туда каждый день :)

А вообще правильно, надо посмотреть сколько весят таблицы через phpmyadmin и задать +25%, если не жалко +50%.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
S
На сайте с 23.05.2004
Offline
316
#3

Идеальная база - это база работающая одна на сервере, без всякого параллельно запущенного софта. Поэтому настройки и рекомендации даются относительно таких настроек.

Это просто подпись.
rustelekom
На сайте с 20.04.2005
Offline
522
#4

mysqltuner.pl даст рекомендации под конкретную ситуацию на сервере. В том числе и по вопросу о том, какой innodb_buffer_pool_size стоит задать.

SSD VPS, SSD хостинг и выделенные серверы в Германии или РФ, FTP хранилища, регистрация доменов и SSL сертификаты ( https://www.robovps.biz/ ) Контакты: Telegram ( https://t.me/rustelekom_bot )
M
На сайте с 04.08.2011
Offline
102
#5

Базы ведь бывают разные и для разных задач. 80% в пуле - это общая рекомендация для серверов БД, где БД может быть в 10 раз больше чем объем ОЗУ.

Если размер памяти на серваке больше размера базы, то лучше выделить под пул полностью размер этой базы, как тут и посоветовали. Все равно там куча оптимизаций и очисток идет, и база сама знает, что хранить в буферном пуле, а что нет.

D
На сайте с 28.06.2008
Offline
1101
#6
rustelekom:
mysqltuner.pl даст рекомендации под конкретную ситуацию на сервере. В том числе и по вопросу о том, какой innodb_buffer_pool_size стоит задать.

mysqltuner.pl скрипт оочень сомнительный - на любое значение query_cache_size он советует все равно его увеличить. Давно его не использую, многие его рекомендации откровенно вредны!

S
На сайте с 23.05.2004
Offline
316
#7
Dram:
на любое значение query_cache_size он советует все равно его увеличить

Он просто подгоняет под условия "на сервере кроме базы ничего нет". Ему плевать сколько оперативки реально остается свободной с учетом других процессов.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#8
mysqltuner.pl скрипт оочень сомнительный

Он как анализ крови. Это не значит, что если повышен холестерин надо переставать жрать сахар :D

Надо обратиться к врачу :)

suffix
На сайте с 26.08.2010
Offline
325
#9

-------- InnoDB Metrics -----------------------------------------------------

[--] InnoDB is enabled.

[OK] InnoDB buffer pool / data size: 256.0M/124.8M

[OK] InnoDB buffer pool instances: 1

[OK] InnoDB Used buffer: 93.75% (15360 used/ 16384 total)

[OK] InnoDB Read buffer efficiency: 100.00% (239527368 hits/ 239537754 total)

[!!] InnoDB Write buffer efficiency: 0.00% (0 hits/ 1 total)

[OK] InnoDB log waits: 0.00% (0 waits / 1020664 writes)

-------- Performance Metrics -------------------------------------------------

[--] Up for: 13d 10h 9m 21s (5M q [5.081 qps], 214K conn, TX: 16B, RX: 2B)

[--] Reads / Writes: 83% / 17%

[--] Binary logging is disabled

[--] Total buffers: 912.0M global + 2.8M per thread (72 max threads)

[OK] Maximum reached memory usage: 939.5M (1.47% of installed RAM)

[OK] Maximum possible memory usage: 1.1G (1.73% of installed RAM)

[OK] Slow queries: 0% (0/5M)

[OK] Highest usage of available connections: 13% (10/72)

[OK] Aborted connections: 0.43% (911/214125)

[OK] Query cache efficiency: 42.9% (3M cached / 7M selects)

[OK] Query cache prunes per day: 0

[OK] Sorts requiring temporary tables: 0% (354 temp sorts / 190K sorts)

[!!] Joins performed without indexes: 148498

[!!] Temporary tables created on disk: 42% (193K on disk / 454K total)

[OK] Thread cache hit rate: 99% (10 created / 214K connections)

[OK] Table cache hit rate: 22% (807 open / 3K opened)

[OK] Open file limit used: 0% (60/8K)

[OK] Table locks acquired immediately: 100% (10K immediate / 10K locks)

Сделать innodb_buffer_pool_size - 50Gb вместо текущих 256Mb ?

Нет в принципе можно - памяти вагон:

[root@mail ~]# free -h

total used free shared buff/cache available

Mem: 62G 2,0G 50G 772M 10G 59G

Swap: 0B 0B 0B

Но зачем если и так шустро работает ? Или таки увеличить ?

Клуб любителей хрюш (https://www.babai.ru)
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#10
Но зачем если и так шустро работает ? Или таки увеличить ?

Как я и говорил, никто не умеет читать анализ. Никто сути не улавливает, что и как пишут.

У вас же написано:

[OK] InnoDB buffer pool / data size: 256.0M/124.8M

ОК - значит ничего делать не нужно.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий