Mysql 5.7.23 замедляется через несколько часов и требует перезапуска - PullRequest
0 голосов
/ 24 сентября 2018

3 недели назад мы перешли с Mysql 5.6.22 на 5.7.23 с использованием логического метода.после этого мы начали получать сообщение об ошибке, которая уже отправлена, но теперь БД начала замедляться, и нам нужно перезапускать каждые 10 часов.

Это отражается в триггере таблицы, которая получает около 700 записей в минуту, когда только что началась, каждая запись обрабатывается примерно за 22 мс.постепенно начинайте занимать все больше и больше времени до 300мс.когда этого недостаточно, и узкое место начинает создаваться, поэтому мы перезагружаем БД и снова работаем быстро.Буферный пул innodb даже не достигает 15% использования.

Триггер выполняет различные операции выбора и сбора информации для заполнения остальной части записи, ничего особенного в таблицах, содержащих не более 3 тыс. Записей.

Любые предположения о том, что может вызывать проблему?Заранее спасибо

Hardware Specs: 
Nombre del sistema operativo:              Microsoft Windows Server 2012 Standard
Versión del sistema operativo:             6.2.9200 N/D Compilación 9200
Fabricante del sistema operativo:          Microsoft Corporation
Configuración del sistema operativo:       Servidor independiente
Tipo de compilación del sistema operativo: Multiprocessor Free

Fabricante del sistema:                    VMware, Inc.
Modelo el sistema:                         VMware Virtual Platform
Tipo de sistema:                           x64-based PC
Procesador(es):                            2 Procesadores instalados.
                                           [01]: Intel64 Family 6 Model 45 Stepping 7 GenuineIntel ~2400 Mhz
                                           [02]: Intel64 Family 6 Model 45 Stepping 7 GenuineIntel ~2400 Mhz
Versión del BIOS:                          Phoenix Technologies LTD 6.00, 22/06/2012

Cantidad total de memoria física:          49,151 MB
Memoria física disponible:                 37,501 MB
Memoria virtual: tamaño máximo:            55,551 MB
Memoria virtual: disponible:               21,520 MB
Memoria virtual: en uso:                   34,031 MB
Server Configuration:  

[mysqld]

# Storage  
basedir=e:/DB5723/
datadir=e:/DB5723/Data/
innodb_file_per_table=ON  

#Memory Resources                   
innodb_buffer_pool_size = 24G
innodb_buffer_pool_instances=8
innodb_buffer_pool_dump_pct=75 

innodb_lru_scan_depth=1024
innodb_log_buffer_size = 128M  
innodb_log_file_size=512M

max_allowed_packet = 4M 
max_heap_table_size = 64M

join_buffer_size = 1M
sort_buffer_size = 64M
read_rnd_buffer_size = 16M 

query_cache_size=0
query_cache_type=OFF

# Connections 
skip-name-resolve
max_connections = 151
max_connect_errors = 5
socket=e:/DB5723/tmp/mysql.sock
port=3307 
wait_timeout=600 

# Thread Setting 

        innodb_thread_concurrency=16
        innodb_read_io_threads=8
        innodb_write_io_threads=8
        thread_cache_size = 9

#Error Control / Log   
log_error_verbosity=3 
general_log_file=e:/DB5723/Data/General.log

# Security ( Brute Force Attack ) 
plugin-load-add=connection_control.dll
connection-control=FORCE_PLUS_PERMANENT
connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT
connection_control_failed_connections_threshold=3
connection_control_max_connection_delay=120000
connection_control_min_connection_delay=60000


# Replication 
server_id=1
log_bin=g:/DB5723-bin
max_binlog_size=512M
binlog_format = ROW
sync_binlog=1


# Miscelaneous 
character-set-server=utf8 
event_scheduler = ON
innodb_lock_wait_timeout=50
explicit_defaults_for_timestamp=ON
innodb_checksum_algorithm=crc32
innodb_checksums=ON   

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# I/O Hdd Performance Settings  
innodb_io_capacity=800
innodb_io_capacity_max=1000
innodb_flush_log_at_trx_commit=2

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Предложения для вашего раздела my.ini [mysqld]

Скорость в секунду = RPS

innodb_lru_scan_depth=100  # from 1024 see refman to reduce CPU load every SECOND
sort_buffer_size=2M  # from 64M  a per connection RAM request and 64M is TOO MUCH
read_rnd_buffer_size=256K  # from 16M to reduce handler_read_rnd_next RPS
thread_cache_size=48  # from 9 to reduce threads_created count
innodb_io_capacity_max=2000  # from 1000 for default max
innodb_io_capacity=1600  # from 800 to allow more IOPS to your HDD

для дополнительных предложений, просмотрите мой профиль, Профиль сети для контактной информации, пожалуйста,.

0 голосов
/ 02 октября 2018

Быстрое исправление может изменить на

sync_binlog = 0

. Для более подробного обсуждения, пожалуйста, предоставьте запрос, который запускает триггер, определение триггера, CREATE TABLE и * 1007.*.

Кроме того, какой тип диска (HDD против SSD)?

...