묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
faceOff 로 업그레이드 후 DB부하
2009.03.03 16:01
제가 1.1.5 버전에서 faceoff 버전으로 업그레이드를 했습니다.
업그레이드 해놓고 처음에 관리자 페이지가 어긋난서 캐시 삭제후 잘된다 한거 말고는 업데이트시 문제가 없었던거 같은데
몇일 안들어가본사이 호스팅사에서 db부하로 db 접근을 막아 홈페이지 접속이 불안정 했습니다.
그래서 호스팅사에 무슨 부하냐고 물어보니 아래와 같은 답변을 주셨는데
무엇이 문제인지 잘모르겠습니다. 혹시 어떤 부분이 문제인지 봐주실수 있으신가요?
업그레이드 해놓고 처음에 관리자 페이지가 어긋난서 캐시 삭제후 잘된다 한거 말고는 업데이트시 문제가 없었던거 같은데
몇일 안들어가본사이 호스팅사에서 db부하로 db 접근을 막아 홈페이지 접속이 불안정 했습니다.
그래서 호스팅사에 무슨 부하냐고 물어보니 아래와 같은 답변을 주셨는데
무엇이 문제인지 잘모르겠습니다. 혹시 어떤 부분이 문제인지 봐주실수 있으신가요?
고객님 DB에서 문제가 되는 테이블은 xe_member 테이블이며 문제가 되는 쿼리는 아래와 같습니다.
| 182707 | a57**v | localhost | a57** | Query | 292 | Locked | select * from `xe_member` as member where (member_srl = 187065) |
| 182711 | a57** | localhost | a57** | Query | 288 | Locked | select * from `xe_member` as member where (member_srl = 187065) |
| 182717 | a57** | localhost | a57** | Query | 285 | Locked | select * from `xe_member` as member where (member_srl = 184171) |
| 182722 | a57** | localhost | a57** | Query | 283 | Locked | select * from `xe_member` as member where (member_srl = 213313) |
| 182724 | a57** | localhost | a57** | Query | 282 | Locked | select * from `xe_member` as member where (member_srl = 187065)
실제 mysql 쪽에 부하가 발생하였을때에 확인을 해야 하는 부분이기에 답변이 지연되었습니다.
또 다시 mysql 슬로우 쿼리가 발생하여 일단 mysql을 재시작 한 상태이오니 참고하여 주시기 바랍니다.
더불어 아래와 같은 카운터하는 쿼리의 사용은 자제하여 주시기 바랍니다.
select member.*,count(*) as `count` from `xe_documents` as documents,`xe_modules` as modules,`xe_member` as member left join `xe_member_group_member` as member_group on ((member_group.site_srl = 0 and member_group.member_srl = member.member_srl)) where (modules.site_srl = 0 and modules.module_srl = documents.module_srl and documents.member_srl = member.member_srl) group by documents.member_srl order by count desc limit 10;
select modules.site_srl as `site_srl`,modules.mid as `mid`,documents.* from `xe_modules` as modules,`xe_documents` as documents where (documents.module_srl in (94,95,96,98,93,97,99,100,101,102,104) and modules.module_srl = documents.module_srl) order by documents.list_order asc limit 12;
select modules.site_srl as `site_srl`,modules.mid as `mid`,documents.* from `xe_modules` as modules,`xe_documents` as documents where (documents.module_srl in (94,95,96,98,93,97,99,100,101,102,104) and modules.module_srl = documents.module_srl) order by documents.list_order asc limit 12;
위 쿼리를 계속해서 사용을 하신다면, 같은 문제가 반복이 될 것이오니 이 점 참고하여 주시기 바랍니다.
| 182707 | a57**v | localhost | a57** | Query | 292 | Locked | select * from `xe_member` as member where (member_srl = 187065) |
| 182711 | a57** | localhost | a57** | Query | 288 | Locked | select * from `xe_member` as member where (member_srl = 187065) |
| 182717 | a57** | localhost | a57** | Query | 285 | Locked | select * from `xe_member` as member where (member_srl = 184171) |
| 182722 | a57** | localhost | a57** | Query | 283 | Locked | select * from `xe_member` as member where (member_srl = 213313) |
| 182724 | a57** | localhost | a57** | Query | 282 | Locked | select * from `xe_member` as member where (member_srl = 187065)
실제 mysql 쪽에 부하가 발생하였을때에 확인을 해야 하는 부분이기에 답변이 지연되었습니다.
또 다시 mysql 슬로우 쿼리가 발생하여 일단 mysql을 재시작 한 상태이오니 참고하여 주시기 바랍니다.
더불어 아래와 같은 카운터하는 쿼리의 사용은 자제하여 주시기 바랍니다.
select member.*,count(*) as `count` from `xe_documents` as documents,`xe_modules` as modules,`xe_member` as member left join `xe_member_group_member` as member_group on ((member_group.site_srl = 0 and member_group.member_srl = member.member_srl)) where (modules.site_srl = 0 and modules.module_srl = documents.module_srl and documents.member_srl = member.member_srl) group by documents.member_srl order by count desc limit 10;
select modules.site_srl as `site_srl`,modules.mid as `mid`,documents.* from `xe_modules` as modules,`xe_documents` as documents where (documents.module_srl in (94,95,96,98,93,97,99,100,101,102,104) and modules.module_srl = documents.module_srl) order by documents.list_order asc limit 12;
select modules.site_srl as `site_srl`,modules.mid as `mid`,documents.* from `xe_modules` as modules,`xe_documents` as documents where (documents.module_srl in (94,95,96,98,93,97,99,100,101,102,104) and modules.module_srl = documents.module_srl) order by documents.list_order asc limit 12;
위 쿼리를 계속해서 사용을 하신다면, 같은 문제가 반복이 될 것이오니 이 점 참고하여 주시기 바랍니다.
몇일사이에 회원분들이 남기신 글들이 많아 쉽게 업그레이드 전 백업본으로 돌아가지 못하고 있네요.
혹시라도 쉽게 풀리는 문제라면 1.1.5버전 백업본으로 안돌아 가도 될것 같아서
먼저 무슨 문제인지 조금 물어보려고 합니다.
아시는분의 도움을 기다립니다 ㅜ
댓글 2
-
SOL군
2009.03.03 17:24
-
찬이s
2009.03.04 23:41
Changeset [5768] byrank_count 위젯의 과부하 쿼리 변경
수정 해주셨네요. 감사합니다.
rank_count 위젯 일단 안쓰게 해서 홈페이지 잘돌아가네요. 감사합니다.
수정할줄 몰라서 다음 업데이트 나올때 까지 기다려야 겠네요.
아무튼 위젯 안쓰게 해놓으니 잘돌아가서 좋습니다. 감사합니다.
곧 수정해야겠습니다~