MySQL Connection отказано при запуске нескольких процессов - PullRequest
0 голосов
/ 15 февраля 2019

Мы запускаем несколько скриптов, которые рассчитывают данные.Скрипт был написан на PHP (Laravel), и они запускались cron (каждую минуту).Я заметил, что когда cron запускает более 300 таких процессов, mysql выдает сообщение «Connection Refused».Эта проблема не возникает, когда существует менее 300 процессов.Я уже увеличил max_connections до 1000 и back_log t0 500 в my.cnf, но проблема все еще сохраняется (конечно, служба MySQL была перезапущена).Я видел, как кто-то говорил, что back_log тоже на уровне ОС, но я не могу найти ни одной статьи о том, как это настроить.Есть мысли?

Вот некоторые значения конфигурации:

max_connections         = 1000
back_log                = 500
connect_timeout         = 5
wait_timeout            = 600
max_allowed_packet      = 64M
thread_cache_size       = 256
sort_buffer_size        = 128M
bulk_insert_buffer_size = 128M
tmp_table_size          = 128M
max_heap_table_size     = 1G

myisam_recover_options = BACKUP
key_buffer_size         = 128M
#open-files-limit       = 2000
table_open_cache        = 400
myisam_sort_buffer_size = 512M
concurrent_insert       = 2
read_buffer_size        = 8M
read_rnd_buffer_size    = 4M

innodb_buffer_pool_size = 80G
innodb_log_buffer_size  = 256M
innodb_file_per_table   = 1
innodb_open_files       = 400
innodb_io_capacity      = 400
innodb_flush_method     = O_DIRECT

1 Ответ

0 голосов
/ 15 февраля 2019

Я думаю, что это может быть проблема с производительностью. Вы контролировали использование процессора сервера MySQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...