팁 분류
그누보드(아미나)로 제작된 커뮤니티가 느려졌을때 해결 방법
컨텐츠 정보
- 8,871 조회
- 1 댓글
본문
게시물이 늘어나고, 접속자가 많아지면, 사이트는 느려집니다.
특히 그누보드(아미나)의 경우 심하게 성능저하가 나타나는데, 이건 특유의 db구조와 설정 때문입니다.
기본으로 작성된걸 그대로 쓰면 하드웨어 성능을 높혀도 문제가 해결되지 않습니다.
가장 쉽게 성능을 개선할수 있는 방법은
MyISAM으로 된걸 InnoDB로 변경하는것입니다.
(용량이 큰 테이블은 수초에서 수십초가 걸립니다.)
Innodb 가 지원되지 않은 mysql은 버전업을 하고, innodb가 가능하도록 설정하세요.
mysql 버전이 높다고 좋은게 아니라 innodb를 쓸때 성능이 좋아집니다.
5.1 -> 5.6, 5.7, 8.0으로 변경하는것보다 myisam -> innodb로 변경하는것이 훨씬 성능 향상이 됩니다.
초반에는 innodb로 그럭저럭 버틸수 있습니다.
게시물이 누적되면, 커뮤니티의 특성상 사용자가 검색을 많이 하게 되는데,
제목이나 본문 검색을 instr(like 검색임) 을 쓰는데, 이게 속도가 느립니다.
인덱스를 전혀 사용하지 않기 때문에, 성능이 매우 안좋습니다. 성능이 안좋다보니, 누군가 검색을 많이 하면, 사이트 전체가 영향을 받아 느려지게 됩니다.
쉬운 방법은 검색을 회원만 가능하게 제한하거나, 본문 검색 자체를 막아버립니다. 이건 근본적인 해결책도 아니고, 사용자의 니즈를 막아둔거라 활성화 측면에서는 안좋은 방법입니다.
이를 해소하기 위해선 검색엔진을 도입해야 하는데, mysql 의 full text search를 설정하거나, 검색엔진을 설치하여 연동하는것입니다. sphinxsearch, 엘라스틱서치 등이 있습니다.
검색엔진 설정은 전문적인 지식이 조금 필요한데, 솔루션을 구매하여 사용하셔도 됩니다.
위에 예시들은 비교적 간단한 방법이고, 추가적으로 인덱스 최적화나 데이타 캐싱등으로 성능향상을 꾀할수 있습니다.
(이건 다음에 기회가 되면 다시 한번 공유하도록 하겠습니다.)
요약하자면, 그누보드 성능및 속도개선을 위해서는
1. MyISAM -> InnoDB 로 엔진을 변경
2. 검색엔진 설치
3. 그외..(궁금하시면 쪽지 남겨주세요.)
글을 좀 두서없이 적었는데, 질문글에 답변을 달다가 공유하는게 좋을것 같아 남겨둡니다.
글 내용이 마음에 드시면 "추천" 감사합니다.^^
특히 그누보드(아미나)의 경우 심하게 성능저하가 나타나는데, 이건 특유의 db구조와 설정 때문입니다.
기본으로 작성된걸 그대로 쓰면 하드웨어 성능을 높혀도 문제가 해결되지 않습니다.
가장 쉽게 성능을 개선할수 있는 방법은
MyISAM으로 된걸 InnoDB로 변경하는것입니다.
(용량이 큰 테이블은 수초에서 수십초가 걸립니다.)
Innodb 가 지원되지 않은 mysql은 버전업을 하고, innodb가 가능하도록 설정하세요.
mysql 버전이 높다고 좋은게 아니라 innodb를 쓸때 성능이 좋아집니다.
5.1 -> 5.6, 5.7, 8.0으로 변경하는것보다 myisam -> innodb로 변경하는것이 훨씬 성능 향상이 됩니다.
초반에는 innodb로 그럭저럭 버틸수 있습니다.
게시물이 누적되면, 커뮤니티의 특성상 사용자가 검색을 많이 하게 되는데,
제목이나 본문 검색을 instr(like 검색임) 을 쓰는데, 이게 속도가 느립니다.
인덱스를 전혀 사용하지 않기 때문에, 성능이 매우 안좋습니다. 성능이 안좋다보니, 누군가 검색을 많이 하면, 사이트 전체가 영향을 받아 느려지게 됩니다.
쉬운 방법은 검색을 회원만 가능하게 제한하거나, 본문 검색 자체를 막아버립니다. 이건 근본적인 해결책도 아니고, 사용자의 니즈를 막아둔거라 활성화 측면에서는 안좋은 방법입니다.
이를 해소하기 위해선 검색엔진을 도입해야 하는데, mysql 의 full text search를 설정하거나, 검색엔진을 설치하여 연동하는것입니다. sphinxsearch, 엘라스틱서치 등이 있습니다.
검색엔진 설정은 전문적인 지식이 조금 필요한데, 솔루션을 구매하여 사용하셔도 됩니다.
위에 예시들은 비교적 간단한 방법이고, 추가적으로 인덱스 최적화나 데이타 캐싱등으로 성능향상을 꾀할수 있습니다.
(이건 다음에 기회가 되면 다시 한번 공유하도록 하겠습니다.)
요약하자면, 그누보드 성능및 속도개선을 위해서는
1. MyISAM -> InnoDB 로 엔진을 변경
2. 검색엔진 설치
3. 그외..(궁금하시면 쪽지 남겨주세요.)
글을 좀 두서없이 적었는데, 질문글에 답변을 달다가 공유하는게 좋을것 같아 남겨둡니다.
글 내용이 마음에 드시면 "추천" 감사합니다.^^
관련자료
-
링크