Большое количество подключений к MySql вызывает исключения + спящие подключения

Вот мой конфиг сервера MySQL

[mysqld]
bind-address = 0.0.0.0
ssl=0

skip-log-bin
log-error=error.log

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-character-set-client-handshake

innodb_undo_log_truncate=off

# general
table_open_cache = 200000
table_open_cache_instances=64
back_log=3500
max_connections=8000

# files
innodb_file_per_table
innodb_log_file_size=15G
innodb_log_files_in_group=2
innodb_open_files=4000

# buffers
innodb_buffer_pool_size= 40G
innodb_buffer_pool_instances=8
innodb_log_buffer_size=64M

# tune
innodb_doublewrite= 1
innodb_thread_concurrency=0
innodb_flush_log_at_trx_commit= 0
innodb_flush_method=O_DIRECT_NO_FSYNC
innodb_max_dirty_pages_pct=90
innodb_max_dirty_pages_pct_lwm=10
innodb_lru_scan_depth=2048
innodb_page_cleaners=4
join_buffer_size=256K
sort_buffer_size=256K
innodb_use_native_aio=1
innodb_stats_persistent = 1

#innodb_spin_wait_delay=96
innodb_adaptive_flushing = 1
innodb_flush_neighbors = 0
innodb_read_io_threads = 16
innodb_write_io_threads = 16
innodb_io_capacity=1500
innodb_io_capacity_max=2500
innodb_purge_threads=4
innodb_adaptive_hash_index=0
max_prepared_stmt_count=1000000
innodb_monitor_enable = '%'
performance_schema = ON

Когда к серверу подключается много клиентов (примерно от 400 и выше), то происходят исключения "Got timeout reading communication packets" и "Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding." На самом сервере еще много свободных ресурсов, память, процессор, диск не загружены. Не смотря на то, что я не забываю закрыть подключения после выполнения запроса, в workbench отображаются множество спящих подключений. Это проблема в программе или в настройке сервера? Может у кого есть рабочий конфиг?


Ответы (0 шт):