Max connections 에러가 발생하면 PHP페이지에 Too many connection가 나옵니다.
이는 mysql에서 동시열결가능한 클라이언트수를 넘었기 때문이다.
MySQL 서버는 동시에 연결될 수 있는 클라이언트의 수가 기본으로 100 명이다.
동시접속자수를 변경하려면 my.cnf을 수정하고 MySQL 서버를 재시작하면 된다.
[콘솔에서 커넥션수 알아내기]
$ mysqladmin -u root -p variables | grep max_connection
| max_connections | 100
[mysql에서 커넥션수 알아내기]
show variables like ‘%max%’;
참고로, 리눅스나 솔라리스 계열에서는 클라이언트의 동시 접속자수가 500 ~ 1,000 까지 가능하다고 합니다.하지만 1000 설정 하려고 해도 4way cpu에 상당히 많은 램이 필요하다고 할고 있다.
256이 적당하다.
여기서 max_connections 는 mysql 에 접속 할 수 있는 최대 사용자를 가르키며…
wait_timeout 은 접속 후 연결을 지속시키는 시간을 말한다
====== my.cnf 파일 내용 추가==================
max_connections= 1024
max_connect_errors = 2048 (에러커넥션 갯수 증가)
[콘솔에서]
$ mysqladmin -u root -p variables | grep max_connection
$ mysqladmin -u root -p variables | grep wait_timeout
[mysql에서]
mysql> show variables like ‘%max_connection%’;
mysql> show variables like ‘wait_timeout’;
[커넥션 확인]
mysql> show full processlist