묻고답하기
XE가 느려지고 글쓰기 장애가 발생합니다.
2009.12.09 14:16
안녕하세요.
현재 1.2.4버전 XE를 사내 인트라넷 용도(게시판위주)로 사용하고 있습니다.
헌데 사용중 최근 계속적인 순간적으로 극악한 속도저하가 하루에도 수차례 발생하여
업무에 많은 차질이 있어 이를 개선하고자 질문드립니다.
1. 현재사용상태
- 게시판수 : 약 60개
- 전체 게시글 : 약 15000개
- 전체 댓글 : 약 10000개
- 하루 게시글 : 약 150개
- 하루 댓글 : 약 150개
- 최다 동시접속자 : 약 30~40명 / 평균 20명
2. 서버상태
- 가상화 코어호스팅 사용중
- http://www.1000dedi.net/docs/renew/core_host/core_host02_01.htm
- 상기 링크의 코어호스팅 상품중 이코노미 사용
- 전용사양 : 1CPU / 1G ram / 80G HDD / 초당 1Gbps 쉐어드 회선
3. 지난 7월경의 큰 에러 있었음.
(1) 장애내용
-> 갑자기 첨부파일을 첨부한 글쓰기가 안됨
-> 이후 일반 글쓰기도 안됨
-> 이후 게시글보기 등 게시판 모든기능 정지
글쓰기 중 에러멘트 "unexpected error occured"
* 당시 질의글 : http://www.xpressengine.com/18163217
(2) 해결과정
1) 백업파일이나 캐시 세션삭제 등 모든 과정을 통해서도 해결 안됨
2) 동일증상에 대한 다른 게시글을 통해 임시해결
classes/db/DBMysql_innodb.class.php
classes/db/DBMysql.class.php
상기 두 파일에서 강제로 memory_limit설정을 무시하도록 설정 (아래소스)
function DBMysql_innodb() {
ini_set('memory_limit', -1);
$this->_setDBInfo();
$this->_connect();
}
* 당시 참고글 : http://www.xpressengine.com/18152301
3) php.ini 파일 설정조정후 상기내용 2)내용은 원상복구 (위험하다는 조언)
* 주요설정
memory_limit 500M
post_max_size 450M
realpath_cache_size 16K
upload_max_filesize 450M
* 당시 참고글 : http://www.xpressengine.com/18165021
* 이후 큰 문제 없어 최근까지 사용
4. 현재 상황
상기 7월의 문제발생 이후, 간간히 느려지는 현상은 있었지만 큰 문제 없이 사용하다가
지난달 말부터 계속적인 최악의 느림현상 발생.
최근 몇일 사이에는 글쓰기가 안되는 시간 빈번히 발생.
1) 서버관리회사(위탁관리서비스 받고있음)에서 메모리가 풀까지 찬다는 말을 들음
2) memory_limit을 300정도로 낮추니 하루이틀은 괜찮다가 다시 문제반복
3) memory_limit을 200이하로 낮추면 게시글 작성 안됨
4) 현재 서버업그레이드 중 : 1CPU(코어) -> 2CPU(코어) / 1G램 -> 2G램
즉, 일반서버 쿼드코어 4G램 서버를 딱 반 갈라 쓴다고 보면 됩니다.
회선은 1G.
5. 문제
진짜 문제는 상기 업그레이드가 임시방편이라는 점입니다.
서버관리회사에서도 소스쪽에서 해결하지 않으면 다시 문제발생이 예상된다고 합니다.
의심되는 부분은 제가 1.2.4버전을 사용중이니, 버전업그래이드 문제일까도 생각됩니다만
단순히 그문제일까요? 아니면 다른문제일까요?
제가 지난번에 업그래이드중에 잘못되어서 크게 데인적이 있어서 업그래이드에 조심스럽습니다.
(만일 문제해결도 안되는데 거기다가 업그레이드중간에 차질까지 생기면 난리납니다 ㅡㅡ;;)
문제해결에 필요한 어떠한 실마리라도 환영합니다.
상용제품이라면 급히 유상AS라도 요청해야할 상황인데, 그런 시스템 자체가 없으니 참 난감하군요..
항상 도움주시는 분들께 감사드립니다.
댓글 2
-
하늘03
2009.12.09 15:56
-
모노로그
2009.12.09 16:12
XE기본을 제외하고는 추가모듈은 smsXE 한가지만 설치되어 있습니다만, 그것도 테스트게시판에만 설치후 거의 사용치 않습니다. 서버상에 다른 스케줄러나 하는것들도 없구요.. 빈서버에 XE기본형을 사용한다 보시면 되겠습니다. -
모노로그
2009.12.09 16:12
eaccelerator나 xcache는 무엇인지 모르겠지만 한번 찾아보겠습니다. -
모노로그
2009.12.09 16:13
답변 감사드립니다. -
老姜君
2009.12.09 21:01
참 갑갑하시겠군요. 그 심정은 당해보지 않으면 아무도 모를 것입니다.
극악한 속도 저하라면 메모리 점유율 말고 CPU 점유율도 봐 보세요. top 명령으로 찍어봐서 cpu 점유율이 순간적으로 70% 이상까지 치솟거나 그걸 유지한다면 상태가 심각한 거겠고.
메모리 점유도 어떤 데몬에서 많이 잡아먹는 건지 보세요. httpd인지 mysqld인지를 보셔야 합니다. httpd에서 많이 쓰는 거라면 웹서버인데, xe에서 웹서버 점유율이 비정상적으로 높다면 거의 100% 소스가 변질되거나 추가 기능에 문제가 있는 것이니 원본 파일로 덮으셔야 합니다.
mysqld가 높다면 각종 기능의 처리가 문제가 있으니 phpmyadmin 같은걸로 슬로우 쿼리 같은게 얼마나 발생하는지 보셔서, show processlist로 문제 발생하는 쿼리를 찾아서 그 쿼리문을 날리는 소스가 어딘지 보셔야 합니다.
게시판 수가 60개라면 상당히 많은데요. 만약 그 모든 게시판을 대상으로 하는 질의가 자주 발생한다면-통합검색이라던가 태그라던가- 더럽게 느려집니다. 사이트 규모가 어느 정도인지는 직접 보질 않으니 모르겠지만 xe에서 메모리나 씨퓨 빨아먹는건 순식간입니다.
음 일단 최신버전으로 업그레이드를 하시는 것이 좋을 것 같습니다.
확장변수가 많은 경우 글이 안써지는 문제가 전에 발생한 적이 있었는데 수정이 되었습니다.
추가로, 느려지는 문제는 혹시 캐시 프로그램을 사용중이신것이 있으신가요?
eaccelerator나 xcache등을 사용하면 상당한 성능 향상이 있습니다.