- 8
- 이니스프리
- 조회 수 178
안녕하세요?
주말 잘 보내고 계시는가요??
Slow query가 의심되어서 질문 드려요 ^^
제가 운영하는 사이트는 아니고 제가 회원으로 활동하는 사이트인데요 :)
해외 VPS에서 운영되는 그누보드 기반의 사이트이고, 동접자는 1000명 내외로 표시되더군요!
순정에는 원래 없는 기능인데 회원정보에 포인트로 구매한 컨텐츠 내역을 조회할 수 있는 기능이 있더군요 ^^
그런데 그 버튼을 클릭하면 클플 524 에러가 뜨더군요 ㅠㅠ
문제는 제가 그 버튼을 클릭하면 전반적으로 사이트 자체가 버벅거려서
다른 분들께도 피해가 가는 것 같더군요 ㅎㄷㄷ
자게에 사이트가 랙이 너무 심하다는 글이 여러 개 올라오구요~
심지어 다른 분들도 클플 524 에러가 뜬다고 말씀하시더군요 ㅠㅠㅠㅠㅠ
그런데 이상한 점은 사이트가 느려졌다는 분도 계시는 반면에 또 일부는 괜찮다고 말씀하시는 분도 계셨구요~
저도 모바일로 동시에 접속해보면 원활하게 접속이 되더군요 -_-;;;
도무지 이해가 안 되더군요 ㅠㅠ
저는 처음에는 이런 현상이 우연의 일치일 것이라고 생각하고 넘어갔는데요~!
(사이트에서 제공되는 기능인데 이걸 클릭했다고 사이트가 느려지는게 이상하잖아요 ㅠㅠ)
며칠 후에 다시 그 버튼을 클릭하니 똑같은 현상이 발생하고,
일주일 후에 다시 그 버튼을 클릭하니 역시 마찬가지 현상이 발생하더군요 ㄷㄷㄷㄷㄷ
이와 관련해서 질문 드려요~!
1. Slow query의 문제일까요? 그렇다면 모바일로 접속할 때 문제가 없는 이유는 무엇일까요??
2. Slow query가 발생하면 MySQL 옵션 중에 설정해놓은 시간을 초과하는 쿼리를 기록하는 옵션을 켜서 확인하면 될까요?
3. 추상적인 질문이지만 미리 개발단계에서 Slow query가 발생하지 않도록 할 수 있는 팁이 있을까요??
그럼 즐거운 주말 되세요 :)
감사합니다 ^-^
작성자
댓글 8
![profile image](/files/member_extra_info/profile_image/640/096/96640.gif?t=1548527149)
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
1.
생각해보니 모바일 버전은 URL이 다르고 디자인도 다르네요!
그게 이유가 될 수 있군요 :)
2.
그런 방식으로 slow query 디버깅이 가능하군요 ^^
3.
개발자의 실력과 관련된 문제이군요 ㄷㄷ
말씀하신대로 회원의 모든 기간에 대한 내역을 갱신하는 것 같네요 ㅎㄷㄷ
페이지네이션을 하여 구간별로 조회하는 방식으로 구현을 해야겠군요!
조언해주셔서 감사합니다 :)
그럼 마스터 님께서도 즐거운 주말 되세요!!
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/640/096/96640.gif?t=1548527149)
즐거운 주말보내세요~
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
설명해주셔서 감사합니다 :)
편안한 저녁 되세요~!
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
존재하지 않는 스티커입니다.
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![title : 황금 서버 (30일) title: 황금 서버 (30일)](https://sfuhost.com/./files/iconshop/33055af84f02ddedb19db038cdae0d2f.gif)
![profile image](/files/member_extra_info/profile_image/569/001/1569.png?t=1527385219)
파티셔닝을 통해서 이를 어느 정도 해결할 수도 있습니다.
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
그런 경우에 해당할 수도 있겠네요~!
DB 파티셔닝으로 구글링하니 관련 문서가 많군요 :)
덕분에 많이 배우고 잘 공부할게요~
기말고사를 마치셨는지 모르겠는데 만약 남으셨다면 홧팅홧팅이에요!!
항상 감사드려요! ^-^
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
존재하지 않는 스티커입니다.
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
적응형이라면 모바일에서 다른 디자인을 사용하면서 영향을 안 받는 상황이 아닐까 싶기도 합니다.
2. 네 db에서 슬로우쿼리 디바깅이 가능합니다.
심지어 php 코딩으로도 디버그가 가능합니다. 라이믹스에서 슬로우 쿼리 디버깅 해주는 기능을 보면 충분히 가능하리리 봅니다.
3. 애초과 과도한 쿼리가 일어나는지를 미리 알고 있어야 하는데 이게 개발자가 얼마나 그 cms를 잘 이해하고 있는지 쿼리 구조를 잘 이해하고 있는지가 중요해 보입니다.
만약 포인트로 구매한 컨텐츠 내역을 조회할 때 쿼리를 잘못짜서 모든 회원의 모든 기간에 대한 내역을 갱신하는 과정이라면 충분히 일시적인 db 과부하가 올법합니다.
회원 한명에 대해 쿼리를 하는지 또 전체기간을 조회하는게 아닌 페이지네이션을 하여 첫번째 페이지 정도만 쿼리하는지를 잘 구성한뒤에 코딩을 해야하지 않나 싶습니다.