묻고답하기
잘 되다가 db 접속 오류가 발생하였습니다. 라고 나오는 경우...
2015.07.17 09:44
접속이 잘 되다가 어느순간 db 접속 오류가 발생하였습니다 .db정보를 다시 확인해주세요. 라고 나온다면
어느게 문제일가요..? 처음부터 나온다면 config문제겠지만 잘 되다가 나옵니다.
부랴부랴 db를 재시작 하면 다시 되돌아 오기는 하지만 왜 이러는지 원인을 알 수 없습니다.
@기진곰 님이 알려주신 htop으로 봐도 문제를 일으키는 프로세서를 찾기가 힘드네요.
혹시 서버 스펙이 딸리면 이런 현상이 나오나요?
아시는분은 도움 부탁드립니다.
@Luatic™
댓글 4
-
기진곰
2015.07.17 10:34
-
댑펑
2015.07.17 16:37
메모리 4기가나 6기가는 어떻게 설정을 하면 좋을까요?
-
기진곰
2015.07.17 17:33
아파치 mpm_prefork의 MaxClients 기준으로 20~30 정도를 추천합니다.
이 상태에서 많은 동접수를 처리하려면 KeepAlive 설정도 5 미만으로 낮춰주세요.
만약 MaxClients가 100 이상으로 되어 있다면 서버 다운되는 원인 1순위입니다.MySQL의 경우 InnoDB 사용을 권장하고,
이 때 innodb_buffer_pool_size를 1G 정도 주는 것이 좋습니다.위의 설정은 서버 구성에 대해 아무 것도 모르는 상태에서 짐작한 거고,
님의 서버에는 맞지 않을 수도 있습니다. -
댑펑
2015.07.17 18:32
htop으로 보면 저런 상태인데 지금 찍는순간 100%가 되었는데 평소에는 60~80% 이구요.
그리고 신경쓰이는게 PID 30129의 CPU가 70%~80%이고 가끔 100% 넘어가고 지금 스샷에는 285%네요;
(이 CPU %의 의미는 4코어 평균을 말하는것인지..)
저건 db 구성이 잘못되어있어서 그런가요?
아니면 서버 스펙을 올리는게 좋을까요..?
(아, 그리고 말씀해주신 InnoDB인가 그거랑 아파치 설정은 아직 뭔지 몰라서 시도 하지는 않은 상태이구요..)
서버 스펙에 맞게 튜닝을 하지 않으면 DB가 뻗어버리는 일이 종종 있습니다.
대개 아파치의 MaxClients 설정을 기본값 그대로 해두어서 메모리를 너무 많이 먹는 경우죠.
메모리가 32GB쯤 되는 킹왕짱서버에 기본값이 맞춰져 있었던 것 같네요 ㅡ.ㅡ