> 제목과 같이 Too many connection... 이라는 에러를 만났습니다.
> 물론 항상 그런것은 아니구요....
> 저희 싸이트가 아직 그렇게 많은 사람들이 접속하지는 않는다고
> 생각되거든요...
> 호스팅을 하는 관계로 그 서버에는 다른 회사의 사이트도 운영되고요.
>
> 1. 이런 경우에 접속이 않되는 것에는 혹시 어떤 이유가 있을까요?
>
> 2. mysql 사이트에서 보니까 동시접속수가 101개 까지 라고 되어있던데
> 그럼 독립적인 DB 서버를 가진다고 해도 동시 접속자 수가 101명이
> 넘게되면 사이트에 지장이 있다는 건가요?
>
>
아래 내용을 참고하세요.
동시접속할 수 있는 클라이언트숫자는 mysqld를 시작할때
max_connections 옵션에서 지정합니다.
현재 호스팅을 받고 있으므로 mysql을 사용하는 사이트가 여러개되겠군요.
그런데 직접 서버를 운영하는것이 아니므로 일단 호스팅업체에 요청을 해야겠지만 호스팅업체에서 제약을 걸 수도 있을듯.
실제 동시접속이 100명이상된다면 상당히 큰 사이트라고 볼 수 있지요.
직접 서버를 운영하신다면 옵션을 바꾸어서 사용자를 늘릴 수는 있지만 네트웍 대역폭이 제한되어있으므로 네트웍 대역폭을 충분하게 확보해야할 것입니다. 또한 그만큼 서비스의 부하를 줄일 수 있도록 효율적인 프로그래밍이 필요할 것입니다.
여기서 더 나아간다면 간단하게 db서버를 분리해서 더 좋은 하드웨어로 바꾸는 방법이 있을 것이고 아예 미들웨어를 도입해서 애플리케이션 서버를 별도로 쓰는 방법도 있을 것입니다. 근데 이렇게 까지 할 경우는 그다지 많지 않을 것 같습니다.
18.2.4 Too many connections error
If you get the error Too many connections when you try to connect to MySQL, this means that there is already max_connections clients connected to the mysqld server.
If you need more connections than the default (100), then you should restart mysqld with a bigger value for the max_connections variable.
Note that mysqld actually allows (max_connections+1) clients to connect. The last connection is reserved for a user with the process privilege. By not giving this privilege to normal users (they shouldn't need this), an administrator with this privilege can login and use SHOW PROCESSLIST to find out what could be wrong. See section 7.21 SHOW syntax (Get information about tables, columns,...).
|