Как отучить MariaDB выедать почти всю память сервера?

12 3
serval
На сайте с 29.06.2011
Offline
191
544

Сервер чахлый - 1 Гб оперативы и одно ядрышко, Fastpanel.

Эта MariaDB частенько съедает память и падает. Как бы её пересадить на полуголодный паёк?

Самое интересное из MySQLTuner 2.5.0:

[!!] Maximum possible memory usage: 940.2M (97.83% of installed RAM)

И рекомендации:

-------- Recommendations ---------------------------------------------------------------------------
General recommendations:
    MySQL was started within the last 24 hours: recommendations may be inaccurate
    Reduce your overall MySQL memory footprint for system stability
    Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=ON
    Performance schema should be activated for better diagnostics
    Be careful, increasing innodb_log_file_size / innodb_log_files_in_group means higher crash recovery mean time
Variables to adjust:
  *** MySQL's maximum memory usage is dangerously high ***
  *** Add RAM before increasing MySQL buffer variables ***
    skip-name-resolve=ON
    table_definition_cache (400) > 440 or -1 (autosizing if supported)
    performance_schema=ON
    innodb_log_file_size should be (=32M) if possible, so InnoDB total log file size equals 25% of buffer pool size.
    innodb_log_buffer_size (> 16M)


Вариант перейти на более дорогой тариф, конечно, хороший, но лучше всё таки попробовать как-то придушить эту Марию.


D
На сайте с 05.02.2022
Offline
32
#1
Файл подкачки, оптимизация скриптов, работающих с бд. Накрайняк, периодическое убийство процессов.
serval
На сайте с 29.06.2011
Offline
191
#2
dzthd #:
Файл подкачки, оптимизация скриптов, работающих с бд. Накрайняк, периодическое убийство процессов.
А конфиги MariaDB покурочить?
Станислав
На сайте с 27.12.2009
Offline
237
#3

Я  MariaDB не пользовался, использую MongoDB, так вот тоже были проблемы с падением, делал много разного и ничего не помогало. Плюнул и сервак взял помощнее с 64Gb оперативы, после этого все шикарно стало.

Думаю что с 1GB оперативы у вас ничего не получится, это крайне мало даже для максимально дохлого сайта, там же по мимо базы и система жрет ресурсы. Если у вас облако, добавьте еще 1GB оперативы и понаблюдайте.

Что временно помогало:

1. По первости ночью перезапускал базу по крону, помогало до определенного момента.

2. Кроном чекал процесс работы базы данных каждую секунду, в случае если она лежит, запускал процесс заново.

Так терпел пока базы через каждые 5 часов падать не стала, затем другой сервер. 

Мы там, где рады нас видеть.
C
На сайте с 22.08.2012
Offline
104
#4
serval, начните с
https://mariadb.com/kb/en/innodb-buffer-pool/#innodb_buffer_pool_size

а-ля

innodb_buffer_pool_size         = 256M
serval
На сайте с 29.06.2011
Offline
191
#5

Прикрутил немного настройки:

max_connections           151 => 64
thread_stack             292K => 192K
key_buffer_size          128M => 16M
innodb_buffer_pool_size  128M => 96M
tmp_table_size            32M =>  4M
query_cache_size          64M => 16M
query_cache_limit         16M =>  1M

Было:

[!!] Maximum possible memory usage: 940.2M (97.86% of installed RAM)

Стало:

[OK] Maximum possible memory usage: 458.0M (47.67% of installed RAM)


Какой-то особой тормознутости сайтов не замечено.
Vladimir
На сайте с 07.06.2004
Offline
531
#6
serval :

Сервер чахлый - 1 Гб оперативы и одно ядрышко, Fastpanel.

Помогает, если уменьшишь запросы ПС, настроив ответ сервера last-modified по дате создания страницы

Аэройога ( https://vk.com/aeroyogadom ) Йога в гамаках ( https://vk.com/aero_yoga ) Аэройога обучение ( https://aeroyoga.ru ) и просто фото ( https://weandworld.com )
-S
На сайте с 10.12.2006
Offline
Модератор1355
#7
Vladimir #:

Помогает, если уменьшишь запросы ПС, настроив ответ сервера last-modified по дате создания страницы

Или отказаться от использования mariadb вообще, чтобы не создавала нагрузку. 1гб памяти и 1 полуядро на впс это жесть конечно, такое под ВПН разве что берут.

softerra
На сайте с 02.10.2023
Online
24
#8

Это самописьки?

Переходите на WP и в ус не дуйте ))

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#9
Сервер чахлый - 1 Гб оперативы и одно ядрышко, Fastpanel.

Это минимальные требования, чтобы только панель работала. Без сайтов вообще.

С такими конфигами, панель никогда не ставиться т.к. панель будет забирать от 25-50 памяти просто для работы.

, но лучше всё таки попробовать как-то придушить эту Марию.

Убираем панель и убираем БД, просто сайт на HTML или на SQLite делов то...
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
serval
На сайте с 29.06.2011
Offline
191
#10
LEOnidUKG #:
Убираем панель и убираем БД, просто сайт на HTML или на SQLite делов то...

SQLite сильно меньше памяти потребляет? Так у него запись однопоточная.

Пускал siege:

siege -b -i -c255 -t 10M http://site.com

Так вот сильно больше памяти под тестом больше потреблять не стало, процессор упёрся в 100%. В итоге 186760 "successful_transactions" и 8 "failed_transactions".

12 3

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