테스트 사이트 - 개발 중인 베타 버전입니다

동시접속자 수 없애는 법 채택완료

지디지 2년 전 조회 3,666

Connect Error: User already has more than 'max_user_connections' active connections

 

실제 접속자는 엄청 낮은데 왜 저런 문구가 뜰까요..

 

kill 이라는게 있다는데 어떻게 해야하나요? ㅜㅜ 

 

카페24 호스팅 사용 중 입니다

 

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트

이 오류는 MySQL 서버에 설정된 max_user_connections 값에 따라 사용자가 동시에 열 수 있는 최대 연결 수를 초과했을 때 발생합니다. 
이 오류를 해결하기 위해 다음과 같은 방법을 시도할 수 있습니다:

1. 웹 애플리케이션의 코드 또는 스크립트에서 데이터베이스 연결을 적절하게 관리하고 닫는지 확인합니다. 
데이터베이스 연결을 더 이상 사용하지 않을 때는 명시적으로 연결을 닫아야 합니다. 
mysqli_close() 또는 mysql_close() 함수를 사용하여 연결을 닫을 수 있습니다. 
이렇게 함으로써 불필요한 연결이 계속 유지되지 않도록 할 수 있습니다.

 

2. MySQL 서버의 max_user_connections 값을 증가시킵니다. 
이 작업은 MySQL 서버의 설정 파일 (일반적으로 my.cnf 또는 my.ini)에서 max_user_connections 항목을 찾아 원하는 값을 설정하여 수행할 수 있습니다. 
이 값을 적절히 조정하여 동시 연결 수를 늘릴 수 있습니다. 그러나 이 방법은 사용 가능한 시스템 리소스를 고려해야 하며, 
MySQL 서버에 더 많은 연결이 가능한 리소스가 있는지 확인해야 합니다.

 

3. MySQL 서버의 wait_timeout 값을 조정합니다. 
wait_timeout은 MySQL 서버가 연결을 유지한 후에 연결을 자동으로 닫는 시간 제한을 설정하는 데 사용됩니다. 
일부 연결이 오랜 시간 동안 유지되는 경우, 연결 수가 증가하여 max_user_connections 제한을 초과할 수 있습니다. 
wait_timeout 값을 조정하여 연결이 더 빠르게 닫히도록 설정할 수 있습니다.

 

4. 웹 애플리케이션에서 연결 풀링을 사용합니다. 
연결 풀링은 데이터베이스 연결을 미리 생성하여 풀에 보관하고, 
필요할 때마다 연결을 가져오고 반환하여 연결 시간을 절약하는 방법입니다. 
PHP에서는 MySQLi나 PDO를 사용하여 연결 풀링을 구현할 수 있습니다. 
연결 풀링을 사용하면 동시 연결 수를 효율적으로 관리할 수 있습니다.

 

위의 방법 중 하나를 시도하여 max_user_connections 오류를 해결할 수 있습니다. 
그러나 주의할 점은 서버의 설정을 변경하기 전에 백업을 수행하고, 
설정 변경에 대한 영향을 모니터링하고, 시스템 리소스 제한을 고려해야 한다는 것입니다.

 

============================================================

 

mysqli_close() 함수는 PHP에서 MySQLi (MySQL Improved) 데이터베이스 연결을 닫을 때 사용됩니다.

다음은 mysqli_close() 함수의 사용 방법입니다:

</p>

<p>mysqli_close($connection);

 

위의 코드에서 $connection은 데이터베이스 연결을 나타내는 변수입니다.

이 변수는 mysqli_connect() 함수를 사용하여 데이터베이스에 연결할 때 반환되는 연결 객체입니다.

 

mysqli_close() 함수는 선택적이므로 데이터베이스 연결이 자동으로 닫히지만, 명시적으로 연결을 닫는 것이 좋습니다. 특히, 스크립트의 실행이 끝날 때 또는 더 이상 데이터베이스 연결이 필요하지 않을 때 명시적으로 연결을 닫는 것이 좋습니다.

 

이제 MySQLi 확장이 PHP 5.0 이상에서 기본적으로 활성화되어 있으므로 mysqli_* 함수들은 mysql_* 함수들보다 더 권장됩니다. MySQLi는 더 많은 기능을 제공하고, 보안 측면에서 더 우수한 방법을 제공하며, 오래된 mysql_* 함수들보다 성능 면에서 향상되었습니다.

 

참고: PHP 7.0.0 버전부터 mysql_* 함수들은 완전히 제거되었습니다. 대신에 MySQLi 또는 PDO를 사용하여 데이터베이스 작업을 수행하는 것이 좋습니다.

 

챗GPT답변입니다.

로그인후 mysql 닫으라고하네요.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

카페24 전화해서 

mysql 최대 동시접속자수를 제한

한계값을 풀어 달라고하세요.

아니면 올려달라고 하시던지

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

M
2년 전

임대형으로 사용하고 있으신거 같은데요.

접속자수가 조금 되신다면 단독으로 가시면 셋팅을 바꾸실수 있습니다.

튜닝하신 부분이 있으시다면 그부분에서 커넥션이 정상적으로 종료되고 있는지와

세션 부분을 체크를 해보시는게 좋을듯 합니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
2년 전

커스텀 작업하면서 db 접속후 끊어주는 처리가 제대로 안되어서 발생될수도 있어서 해당 부분도 체크해 보셔야 할듯 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인