MySQL 부하로 인한 데스크탑 보드 내장 디스크 컨트롤러 성능 저하?

trim703의 이미지

웹호스팅서버를 하나 굴리고 있는데 요새 Disk I/O 성능 이슈 때문에 골머리를 앓고 있습니다.

특징으론 쿼드코어(요크필드) CPU인데 CPU 사용률은 10% 이하이면서 로드 애버리지가 늘 5~10 가량을 꾸준히 유지하며 10 이상을 치면 MySQL 쿼리를 날려 출력해야 할 웹페이지 로딩이 상당히 더디다는 것입니다. 5~10 수준일 때도 버벅이긴 마찬가지입니다.
데스크탑 메인보드를 바꿔서 사우스 칩셋을 ICH7 -> ICH9로 업해도 헛질(보드 업글로 인한 성능 향상은 사실 별 기대 안 함), 디스크를 SATA2 7200rpm에서 벨로시랩터 10k rpm으로 바꾸어 seek time을 업하려던 노력도 헛고생입니다.

호스팅 서버의 특징이라면 XpressEngine으로 구축된 홈피들이 다수 돌아가고 있다는 건데요. 공식 홈페이지에 가 보니 요 XE란 놈이 MySQL을 상당히 혹사시키는 놈으로 소문이 자자하더군요. top으로 확인해 보면 MySQL을 늘 상위에 있으며 부하의 주범인 것이 확인되고 있습니다. 그래서 MySQL이 발생시키는 시스템 부하 만으로 Disk I/O 수치가 저하되는 경우가 발생할 수 있는지 궁금합니다. hdparm 커맨드로 피크치 때에 속도를 확인해 보면 결과값 출력되는 데에 시간이 상당히 지체되면서 30MB/s 이하로 나오더군요. 아이들 시엔 100MB/s 이상을 보여줍니다.

만약 맞다면 메인보드 내장 사우스 칩셋의 SATA2 컨트롤러 성능이 떨어진다고 봐야 할 것 같은데요. 갖고 있는 디스크가 SCSI는 없고 SATA2 뿐이라 PCI 슬롯에 꽂아 쓰는 시중 20-30만원대에 중고로 풀리고 있는 나름 고가형 SATA2 컨트롤러를 장착하여 디스크를 달면 문제가 좀 나아지지 않을까 예상하고 있습니다. MySQL은 저용량 텍스트 데이터 기반으로 쿼리가 오고가는 놈이라 로드 애버리지와 디스크 대역폭을 잠식할 정도의 부하는 발생시키지 않을 걸로 예상했고 디스크 rpm만 높으면 충분히 웹호스팅 서버로 성능 문제를 커버할 수 있을 거라 여태 생각해 왔는데 지금 장애를 겪으며 또다른 고민에 빠지게 되네요.

고수님들의 의견을 구합니다.

incarnate의 이미지

음.....

김연아 커뮤니티를 XpressEngine을 사용해서 만든적이 있는데 그 당시 저도 비슷한 상황이 있었습니다.

mysql slow log 로 확인해 보니 제로보드xe에서 session을 db에 넣고 있었습니다.

그때 접속 session을 db가 아닌 파일로 기록 하도록 하고 아주 작은 ram 디스크를 생성 후 mount해서 접속 session을 ram disk에 생성하도록 했었습니다.

접속 session은 파일 크기도 작고 휴발성이라 크게 문제가 되지 않아서 저렇게 사용을 한적이 있었죠

일단 부하가 어디에서 발생하는지 mysql slow log로 먼저 확인해 보시고 접속 session 때문에 부하가 걸린다면 한번 해보시는 것도 좋을듯 합니다.

먹고 죽자~