Вариант А
В случае медленных запросов, оптимизируем их, добавляем индексы и т.д.
Вариант Б
Одновременные соединения. В этом случае распределяем их на разное время запуска, чтобы они были выполнены не в одинаковое время. Т.е. убрать вот такие варианты:
1
2
3
4
|
$otime = date ( 'i' ); while ( true ) { if ( $otime != date ( 'i' ) ) { mysql_query( 'SELECT 1' ); $otime = date ( 'i' ); } } |
А может быть оптимизация кода Вам не подойдет, тогда можно увеличить кол-во одновременных подключений. Это делается в файле конфигурации mysql, а именно /etc/my.cnf, вот в этой строчке:
1
|
max_connections = 250 |
Стандартное значение после установки 100. После внесения изменений, нужно рестартануть демона mysqld, делается это командой:
1
|
/etc/init .d /mysqld restart |
и теперь можно проверить, все ли ок, sql запросом:
1
|
SHOW VARIABLES LIKE 'max_connections' |
Вот и всё. Не забывайте делать резервные копии перед внесением изменений в конфигурационные файлы!
Mysql too many connections