묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
도저히 이해 안되는 mysql의 cpu 사용율
2017.03.09 16:35
특정 시점부터 cpu 사용율이 엄청 올라서 확인해보니 mysql이 항상 높은 사용율을 보이고 있습니다.
나름 검색으로 여러가지 알아봤지만 도저히 이유를 알 수가 없었습니다.
table의 레코드가 많아서 그런것 같기도 한데 xe의 구조상 글과 댓글이 대략 몇 건이 되면 cpu 사용율이 높아지나요?
XE를 비롯한 대부분의 CMS는 데이터 관리를 위해 DB에 아주 많이 의존하기 때문에 데이터 분량이 늘어날수록 DB 부하가 높아질 수밖에 없습니다. 비율은 조금씩 다르겠지만 대개 데이터 분량이 늘어날수록 DB 부하도 거기에 비례해서 높아지고, 동시접속자가 늘어날수록 또 거기에 비례해서 높아지지요. 쿼리를 많이 쓰는 애드온을 설치하면 또 갑자기 부하가 높아지기도 합니다.
그러나 한편으로는 서버 사양과 튜닝에 아주 큰 영향을 받는 것이 DB 부하입니다. 서버가 고사양이면 더 많은 데이터를 처리할 수 있는 것은 당연하지만, 같은 서버라도 my.cnf 설정 몇 가지만 건드리면 속도가 갑자기 몇 배나 빨라지거나 CPU 사용률이 절반 이하로 뚝 떨어지는 일이 흔합니다. 이걸 튜닝이라고 하지요. 그러나 최적의 성능을 얻기 위한 설정값은 사이트 특성에 따라서도 달라지고 서버 사양에도 맞춰야 하기 때문에 획일적으로 어느 설정을 어떻게 바꾸라고 말하기는 어렵습니다.
좋은 서버에 튜닝을 잘 해놓으면 게시물 수백만 건이 쌓여 있어도 성능이 떨어지지 않습니다. DB서버 한 대로 XE 기반의 커뮤니티 사이트에서 동시접속 1만 명까지 처리해 본 경험이 있습니다.