
На моем сервере у меня 7 баз данных. На нашем сервере 512 МБ оперативной памяти, которую я сегодня вечером увеличу до 2 ГБ, и установлен 2.4-битный процессор.
Я получил ошибку о превышении лимита подключений. При увеличении оперативной памяти, можно ли увеличить количество подключений? В настоящее время установлено 200, но одна страница может подключаться к 3-4 базам данных, учитывая JOIN и прочее.
Мы создали так много баз данных просто для организации. У нас в общей сложности около 250-300 таблиц во всех базах данных.
Любой совет будет принят во внимание :)
Обновлять
Оказывается, у меня гораздо больше связей, чем я думал...
При 2 ГБ оперативной памяти и 2,4-ядерном процессоре 50 пользовательских подключений — это нормально или мне следует увеличить это число?
[mysqld]
safe-show-database
skip-locking
safe-show-database
interactive_timeout=30
wait_timeout=30
connect_timeout=10
max_user_connections=50
max_connections=1000
key_buffer=64M
join_buffer=2M
record_buffer=2M
sort_buffer=4M
max_allowed_packet=24M
query_cache_limit = 2M
query_cache_size = 64M
query_cache_type = 1
tmp_table_size=128M
table_cache=2048
thread_cache=256
thread_concurrency=1
решение1
Вы должны иметь возможность существенно увеличить количество подключений. Однако, если вы не настроите должным образом использование памяти на поток, вы рискуете, что MySQL исчерпает память. Исчерпание памяти MySQL может стать катастрофической ситуацией, и ее лучше избегать.
Пример того, что происходит при неправильной настройке:
MySQL постоянно перезапускается из-за нехватки памяти
Некоторые рекомендации по настройке, которые я давал ранее:
Как настроить my.cnf в Mysql, чтобы не было ограничений на количество подключений?
Ссылка наИспользование памяти InnoDBвключает формулу для расчета использования памяти InnoDB, которую можно вставить в электронную таблицу для расчета использования памяти на каждый поток.
Вот еще некоторая информация по поводуИспользование памяти сервера MySQL.
В конечном счете, ваша цель должна заключаться в том, чтобы рассчитать максимальное использование памяти на поток на основе вашей конфигурации. После того, как это будет рассчитано, вы можете установить максимальное количество подключений на правильное значение.
решение2
На машинах с 1 ГБ мы обычно устанавливаем max_connections на 750 без проблем.
решение3
Если вы используете PHP, отредактируйте файл конфигурации PHP, обычно это /etc/php.ini, и измените параметр persistence на OFF.
[MySQL] ; Разрешить или запретить постоянные ссылки. mysql.allow_persistent = Выкл.
Вот и все. Перезапустите Apache.