라이믹스 2.0.7 업데이트 이후 관리자페이지에서 댓글 모듈을 누르면 엄청 느려졌습니다
댓글이 400만개 정도 있다보니 원래도 느렸지만 1~3초면 뜨는 수준이었던게 15초~25초로 확 늘어나버렸습니다
서버 설정이나 따로 건든건 없고 단지 업데이트 이후 저렇게 된거면 어디 로그를 봐야할까요
라이믹스 2.0.7 업데이트 이후 관리자페이지에서 댓글 모듈을 누르면 엄청 느려졌습니다
댓글이 400만개 정도 있다보니 원래도 느렸지만 1~3초면 뜨는 수준이었던게 15초~25초로 확 늘어나버렸습니다
서버 설정이나 따로 건든건 없고 단지 업데이트 이후 저렇게 된거면 어디 로그를 봐야할까요
2.0 버전에서 여러가지 검색쿼리를 위한 부분이랑 쿼리쪽으로 대폭 변경된 점이 있습니다.
해당 부분의 영향이 아닐까 싶은데요.. 혹시 업데이트 이후 사용자 대비 cpu점유율이 비정상적이거나 이런 부분 확인해보셨나요?
그 부분과 함께 해당 페이지에서 어떤쿼리가 늦어지는지 확인해보세요. (디버깅 모드를 키신다음 느린쿼리 모드 키시고 느린쿼리 0.25 초 설정하시면 느린쿼리가 출력됩니다.
음.. 다른 부분의 문제는 찾지 못한 것 같습니다.
글 작성, 댓글 작성, 글 읽기 등 에서는 업데이트 이전보다 느려짐이나 기타 특이사항은 없는 것 같습니다.
댓글 검색 부분만 유독 그러네요...
댓글 처음 불러올때랑 검색 모두 거의 비슷한 시간이 걸리는 것 같습니다.
Slow Queries
============
01. SELECT `comments`.*, `documents`.`module_srl` AS `module_srl`, `documents`.`member_srl` AS `document_member_srl`, `documents`.`user_id` AS `document_user_id`, `documents`.`user_name` AS `document_user_name`, `documents`.`nick_name` AS `document_nick_name`, `documents`.`title` AS `document_title` FROM `xe_comments` AS `comments`, `xe_documents` AS `documents` WHERE `documents`.`document_srl` = `comments`.`document_srl` ORDER BY `comments`.`list_order` ASC LIMIT 30
- Caller: line 0 ()
- Connection: master
- Query ID: comment.getTotalCommentList
- Query Time: 25.4421 sec
- Result: success
쿼리 시간 설정을 너무 길게잡아서 같이 안나온거 같습니다. 다시 올려드립니다.
Slow Queries
============
01. SELECT COUNT(*) AS `count` FROM `xe_comments` AS `comments`, `xe_documents` AS `documents` WHERE `documents`.`document_srl` = `comments`.`document_srl`
- Caller: line 0 ()
- Connection: master
- Query ID: comment.getTotalCommentList (count)
- Query Time: 1.6274 sec
- Result: success
02. SELECT `comments`.*, `documents`.`module_srl` AS `module_srl`, `documents`.`member_srl` AS `document_member_srl`, `documents`.`user_id` AS `document_user_id`, `documents`.`user_name` AS `document_user_name`, `documents`.`nick_name` AS `document_nick_name`, `documents`.`title` AS `document_title` FROM `xe_comments` AS `comments`, `xe_documents` AS `documents` WHERE `documents`.`document_srl` = `comments`.`document_srl` ORDER BY `comments`.`list_order` ASC LIMIT 30
- Caller: line 0 ()
- Connection: master
- Query ID: comment.getTotalCommentList
- Query Time: 25.3952 sec
- Result: success
DB에서
ANALYZE TABLE xe_comments;
ANALYZE TABLE xe_documents;
한번씩 해보세요.
댓글 3000만개가 넘는 사이트에서도 댓글갯수 카운트나 특정단어 검색이 오래 걸릴 수는 있을지언정
시간순으로 30개 리스트 가져오는 쿼리는 0.001초밖에 안 걸립니다.
SELECT * FROM `xe_comments` WHERE 1 를 해서 테이블을 열었을 때 시간이 2~3초 걸린다는 얘기였고, ANALYZE TABLE xe_comments; 명령어 쳐보라고해서 그 부분에 대한 피드백을 드린 것인데 너무 공격적이신 것 같습니다.
평소 존경하는 분이고 서버 의뢰도 맡긴 적이 있는데 대화 수준이 맞지않았다면 죄송합니다.
개발자가 아니다보니 초보 입장에서 설명이 미흡했다면 사과드립니다. 그냥 문제점을 찾고 싶은거였는데 알아서 공부하고 혼자 문제해결하고 덮어야하나 커뮤니티 의미에 대해서 생각해보게 되네요. 상대가 어리숙할 순 있어도 서로 존중하는 마음이었으면 합니다. 저로 인해 불편함을 느끼신 것 같아 다시 사과드립니다.
01. SELECT COUNT(*) AS `count` FROM `xe_comments` AS `comments`
- Caller: modules/comment/comment.model.php line 915 (commentModel::getTotalCommentList)
- Connection: master
- Query ID: comment.getTotalCommentList (count)
- Query Time: 0.9884 sec
- Result: success
0.2. SELECT * FROM `xe_comments` AS `comments` ORDER BY `comments`.`list_order` ASC LIMIT 30
- Caller: modules/comment/comment.model.php line 915 (commentModel::getTotalCommentList)
- Connection: master
- Query ID: comment.getTotalCommentList
- Query Time: 0.0006 sec
- Result: success
기진곰님 알려주신 명령어는 status OK 로만 뜨고,
에러나 기타 뜨는 메세지가 없어서 혹시나 도움될까 싶어 설명없이 추가 내용만 말씀드린 게 오해의 소지가 되었나봅니다.
람보님이 남겨주신 디버그 힌트로 저는 문제 해결했습니다!
코어쪽 쿼리 문제는 맞는 것 같습니다.
어떤 부분 수정했다고 내용 공유하기에는 자칫 제가 놓쳤을 수 있는 잘못된 코드로 라이믹스 개발진분들께 혼동을 드릴 것 같아 결과 피드백만 전달드립니다.
개발자인지 초보자인지는 상관없습니다. 커뮤니티에는 다양한 사람들이 존재하니까요.
그러나 구체적으로 A에서 B라는 명령을 실행했을 때 C라는 결과가 나왔고 D초의 시간이 걸렸다... 라는 정도는 누구나 조금만 신경을 쓰면 조리있게 설명할 수 있을 거라고 생각합니다. 바로 위의 댓글에서도 잘 해주셨고요. 어려운 표현을 사용하실 필요도 없고, 개발자들이 쓸 법한 용어를 따라 쓰려고 노력하실 필요는 더더욱 없습니다. 기술적인 용어를 어설프게 조합하면 오히려 더 난해하게 되어버릴 수 있으니, 그냥 있는 그대로의 증상과 결과를 육하원칙에 맞게 써주시면 개발자든 아니든 누구라도 쉽게 이해할 수 있을 것입니다.^^
...라는 내용을 전해드리고 싶었던 건데 댓글을 너무 짧게 써서 뉘앙스가 잘못 전달된 것 같습니다. 죄송합니다.
2.0.7로 업데이트 이후 문제가 발생되엇다고 말씀하셧는데
문제발생직전 마지막으로 본 버전이 몇버전에서 바로 넘어가신건지 알 수 있을까요?