포럼
슬로우 쿼리에 대해서 아시는분 계실까요? (1.4.10버전)
2012.07.16 10:24
고객님께서 관리하시는 해당 계정에서 슬로쿼리를 유발하여 서버에 문제를 야기 시키는 것으로 확인이 되었습니다
아래 안내해 드리는 쿼리를 수정하여 서비스 이용을 부탁드리겠습니다
| 68808573 | localhost | Query | 0 |
Sending data | select count(*) as count from
`xe_documents` as documents where (module_srl in (59) and category_s |
|
68808574 | localhost | Query | 0 | Sending
data | select * from `xe_documents` as documents
where (module_srl in (108,110,22396,111,107,109,
|
68808575 | localhost | Query | 0 | Sending
data | select * from `xe_documents` as documents
where (module_srl in (108,110,22396,111,107,109,
| 68808576 | localhost | Query | 0 | Sending data | select * from `!
xe_documents` as documents where (module_srl in (108,110,22396,111,107,109,
|
68808577 | localhost | Query | 0 | Sending
data | select * from `xe_documents` as documents
where (module_srl in (108,110,22396,111,107,109,
해결 방안이 있을까요?
댓글 13
-
가브리엘조
2012.07.16 10:58
-
고수군
2012.07.16 11:01
위젯은 모두 캐쉬가 10분씩 먹어져 있습니다.
에러가 나는곳이 document 라서.. 쿼리를 캐쉬하던지..
page 수를 어떻게 하던지.. 해야하지 않을까 합니다.
-
고수군
2012.07.16 11:00
page 갯수 구하는것 때문에 그럴까요? @misol 님 저도 http://www.xpressengine.com/20712872 이 상황같은 느낌이 드는데요. 1.4.10 용으로 page 캐쉬좀 부탁드려도 되겠습니까?
-
고수군
2012.07.16 11:29
| 68808573 | localhost | Query | 0 | Sending data | select count(*) as count from `xe_documents` as documents where (module_srl in (59) and category_s |
이건 갯수 구하는 도중에 슬로우 쿼리가 걸린게 맞네요. DB 접속 중이 될 수도 있어서.. 부탁드려요 @misol 님 ㅠㅠ
-
misol
2012.07.16 16:11
1.4.x 용 같은 기능 파일 말씀하시는 건가요? 내일 아침까지 댓글로 달아 놓겠습니다 :) -
고수군
2012.07.16 16:50
감사합니다. 슬로우 쿼리가 자주 발생시 DB 접속이 자동으로 차단될 수 있다고 해서. 부탁드립니다.
-
銀童
2012.07.16 11:01
원인이 몇가지 있을수 있습니다.
가능한 원인을 몇가지 이야기해보면,
모듈 srl 을 여러개 가져오는 쿼리인것으로 보아
content 위젯으로 보이는데
위젯에 캐시를 먹여보시기 바랍니다.
-
고수군
2012.07.16 11:07
캐시가 먹여져 있는데. 혹시나 딱 캐쉬가 풀리는 시간에 사용자가 몰려서 그럴 수도 있겠네요.
시간을 지정해서 0 으로 만들고 그외 시간은 60분씩 으로 줘야할까요.
-
銀童
2012.07.16 11:09
위젯이 캐시가 먹혀져있다면
데이터베이스의 lock 때문에 그럴수 있습니다.
myisam 쓰시나요?
-
고수군
2012.07.16 11:22
mysql , myisam 맞는듯 합니다.
-
銀童
2012.07.16 12:06
innodb 를 사용하시는쪽이 테이블 락에선 훨씬 유리하실껍니다. 관련 내용은 XE 홈페이지를 검색해보세요.
-
misol
2012.07.17 00:52
첨부된 파일 사용해보세요. 대체할 파일 위치는 ./classes/db/DBMysql.class.php 입니다. 부작용을 알려드리면, 전체 캐시파일 사이즈가 커질 수 있습니다. 파일 원본은 http://www.xpressengine.com/index.php?mid=download&package_srl=20911051 을 기준으로 했습니다.
캐싱 시간은 30초로 설정되어 있습니다.DBMysql.class.php
-
고수군
2012.07.17 03:08
감사합니다. 우선 적용하였습니다. 캐시가 많이 생기네요... ㅎㅎ
혹시 24시간 단위로 발생된 page 캐시를 삭제할 수도 있을까요? 마냥 쌓는것보다 삭제도 적절히 해주면..
쌩뚱맞은 방법일까요;;
위젯 수를 줄이고, 캐쉬를 먹여보세요. 호스팅은 제한을 걸어놔서 그런거라고 들었어요. ( 호스팅사에서)
그래서, 전 개인서버로 갈아탔다는...