MySQL перегружает память

У меня есть сервер Ubuntu 18.04, работающий под управлением mysql 5.7, и несколько веб-приложений. Mysql использует значительную память и принудительно использует своп. У нас было несколько фатальных сбоев из-за высокого использования памяти. Я работаю над уменьшением требований к памяти других программ, работающих на этом сервере, но мне любопытно, если MySQL явно неправильно настроен каким-либо образом.

Я запустил mysqltuner.pl и воспользовался некоторыми из рекомендаций.

8 ядер, 20 ГБ ОЗУ, 8 ГБ подкачки

/etc/mysql/mysql.conf.d/mysqld.cnf

# Файл конфигурации сервера базы данных MySQL.

[клиент]
порт = 3306
сокет = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

[mysqld]
# * Основные настройки
пользователь = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = / usr
datadir = / var / lib / mysql
tmpdir = / tmp
lc-messages-dir = / usr / share / mysql
пропуск внешней блокировки

адрес привязки = 0.0.0.0

# * Точная настройка
key_buffer_size = 16M
max_allowed_packet = 256M
thread_stack = 192K
thread_cache_size = 8
myisam_recover_options = BACKUP

# * Конфигурация кеша запросов
query_cache_size = 0

# * Ведение журнала и репликация
log_error = /var/log/mysql/error.log

expire_logs_days = 10
max_binlog_size = 100M

# * InnoDB
innodb_buffer_pool_size = 10G
innodb_buffer_pool_instances = 8

0
задан 19 June 2019 в 21:46

1 ответ

Рекомендации вашего тюнера mysql предполагают, что это выделенный сервер mysql и что сервер также не обрабатывает веб-приложения.

У вас есть innodb_buffer_pool_size=10G, что означает, что MYSQL всегда будет пытаться использовать 10 ГБ памяти, если это возможно, чтобы максимизировать свою производительность.

Если вам нужно больше памяти для использования другими программами на сервере, вам следует уменьшить значение innodb_buffer_pool_size и установить для него меньший объем памяти. Однако имейте в виду, что это может серьезно повредить производительности вашей базы данных.

Стоит отметить, что в производственных средах, как правило, рекомендуется использовать базу данных и программы веб-приложений на отдельных серверах.

0
ответ дан 19 June 2019 в 21:46

Другие вопросы по тегам:

Похожие вопросы: