그누보드(아미나) 속도 개선 방법 (DB 위주)

Tip & Tech

활용팁

홈 > 회원포럼 > 활용팁
활용팁

그누보드(아미나) 속도 개선 방법 (DB 위주)

4 명랑폐인 7 900 9 0

게시물이 늘어나고, 접속자가 많아지면, 사이트는 느려집니다.

특히 그누보드(아미나)의 경우 심하게 성능저하가 나타나는데, 이건 특유의 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, 엘라스틱서치 등이 있습니다.

 

검색엔진 설정은 전문적인 지식이 조금 필요한데, 솔루션을 구매하여 사용하셔도 됩니다.

아미나  컨텐츠몰에 판매중인 http://amina.co.kr/shop/item.php?it_id=1510938269 도 좋은 선택이 될수 있습니다.

 

 

위에 예시들은 비교적 간단한 방법이고, 추가적으로 인덱스 최적화나 데이타 캐싱등으로 성능향상을 꾀할수 있습니다.

(이건 다음에 기회가 되면 다시 한번 공유하도록 하겠습니다.)

 

요약하자면, 그누보드 성능및 속도개선을 위해서는 

1. MyISAM -> InnoDB 로 엔진을 변경

2. 검색엔진 설치

3. 그외..(궁금하시면 쪽지 남겨주세요.)

 

위의 기능을 쉽게 적용할수 있도록 플러그인을 만들어 등록하였습니다.

http://amina.co.kr/bbs/board.php?bo_table=skin_member&wr_id=13034 

 


글 내용이 마음에 드시면 "추천" 감사합니다.^^

 



7 Comments
2 뿡쁑 2019.12.20 08:26  
좋은정보 감사합니다
2 하늘고래 2019.12.20 10:41  
한결 가벼워진 느낌이예요.
4 명랑폐인 2019.12.20 13:39  
앗.. 사이트에 적용하여, Engine 을 변경하셨나보네요..
성능 향상에 도움이 되었다니, 기쁘네요.
14 카카롯 2019.12.24 13:29  
좋은 정보 알려주셔서 감사합니다. DB 엔진 변경하고 redis 적용하고 세션을 redis로 처리하니 전반적으로 굉장히 쾌적해졌네요. 멈칫거리던게 없어졌어요. 이정도만으로도 굉장히 만족스럽네요. 감사합니다.

Congratulation! You win the 48 Lucky Point!

1 서서빠빠 01.09 13:37  
좋은정보 감사합니다.
감사합니다
1 헤에에엥 03.08 18:16  
우와 감사합니다
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand