r

나름 작업하면서 mysql 속도 맛좀 봤네요.

과거에 수십만 정도 되는 글을 특별한 기술전혀 없이(원래 허접이에요) 인덱싱만으로 0.0이하로 정렬,검색이 되는걸 테스트했었습니다

근데, 최근 실제운영사이트에서 맛볼 기회가 생겼는데요, 

첫번째 체험

"3개의 다른 게시판(60만 게시글)에서 인덱싱이 걸린 필드를 검색한걸 union all로 땡겨온걸 카운팅한 값과 그 필드에 대해 2개 회원정보테이블의 서브쿼리로 날린 값으로 배열에 담에 통계형식으로 보여주기"

 이렇게 해서 5개 정도 노출해줄때 체감속도 0.0x 정도 나오네요.


두번째 체험

"3개중 50만개 가량되는 게시판에 통계로 사용놈을 하나더 추가해야 하는 상황에서 필드추가후 인덱싱을 걸었는데요, 몇만건에서 인덱싱추가하다가 서버먹통됐던 뼈아픈 기억이 있어 십만단위로 나눠 살살하는데 것도 겁나게 걸리더군요."

이렇게 하니 한번당 1분정도 걸리네요. 더 좋은 방법은 없을까요?

세번째 체험

"전국초중고 학교를 싸그리 모은 디비 10만개 가량되는게 있는데, 이것도 인덱싱 걸어 가나다순한 걸 페이지에서 셀렉트박스에 넣어 불러오고(1번) 이때 기간별(년월일~년월일)로 해서 위 3개 게시판에서 카운팅한글 순위와 통계로 뽑아옵니다.(2번)"

1번. 상당히 비효율적이지만 파일이 넣는거보다 빠를거 같다는 생각인데요, 어떨까요?
이렇게 하니 속도가 대략 접속자가 별로 없을때에는 0.5초 걸리고, 동접자가 좀 있을때에는 1초~ 3초가량 걸리네요.

물론, 일련의 이런 작업은 관리자가 가끔한번씩 하기때문에 크게 문제는 안되는 속도들이구요.

결론. 
1. 인덱싱이 걸리면 50만되도 검색과 추출에 있어 불러오는데 0.0x로 겁나 빠르다.
2. 인덱싱이 걸려도 매번 10만개를 불어오면 0.5~3초정도 걸린다.

기타 궁금점. 동접이 많고 50만게시글에 insert 할경우 대안?

후유증. 새벽시간을 틈타 해야해서 그날 좀 피곤함

실시간으로 보여줘야 하는 부분이라, 좀 무식하게도 했을지 몰라도, 다른 방법들 있으면 우리 공유좀 해요.
|

댓글 3개

mysql default 세팅에서는 인덱싱시 필요한 메모리 크기가 얼마 되질 않습니다.
얘기인즉은 몇십만건 될때는 메모리 설정 한계치가 넘어가서 인덱스 생성 과정 중 필요한 데이터를 하드쪽으로 swapping 한다는 뜻입니다.
이 부분만 잘 조절해도 인덱스 생성 시 서버가 뻗는 문제는 덜 겪으실 듯 합니다. 물론 서버의 메모리가 충분하다는 가정하에서입니다.
db 튜닝의 팁 중 하나는 가능하다면 최대한 메모리를 활용한다가 되겠습니다.
그보다 0순위는 잘짜여진 db 구조이겠구요..
디비구조가 좀 엽기입니다.
프로그램 치고 잘만들어 진게 ajax가 나와 1년정도 될시점인데 거의 도배를 해놓았고 커스터하는데 구조바꾸기가 힘들어 아주 진땀뺐습니다. 게시판 몇개 좀있는데 테이블은 100개넘어가고 회원테이블만 10개정도 되고 폴더도 중첩된 폴더에 수십개되고 아주 그냥 그런 건 보다 첨봤습니다.
많은 테이블수를 줄이는 추세로 보면 이부분하고 전체적 알고리즘은 커스터하는데에도 생명같습니다.
[http://cfs11.blog.daum.net/original/7/blog/2008/01/07/23/18/478234b661a9c&filename=%EA%B7%A0%EB%BF%8C%EB%A6%AC%EC%82%AC%EC%A7%84.jpg]
케쉬에 올리시면...
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
15년 전 조회 916
15년 전 조회 979
15년 전 조회 1,145
15년 전 조회 1,162
15년 전 조회 1,329
15년 전 조회 1,158
15년 전 조회 696
15년 전 조회 837
15년 전 조회 1,188
15년 전 조회 1,264
15년 전 조회 701
15년 전 조회 2,084
15년 전 조회 1,517
15년 전 조회 1,082
15년 전 조회 1,052
15년 전 조회 1,196
15년 전 조회 1,938
15년 전 조회 1,216
15년 전 조회 1,143
15년 전 조회 1,182
15년 전 조회 1,109
15년 전 조회 1,163
15년 전 조회 910
15년 전 조회 1,498
15년 전 조회 1,045
15년 전 조회 886
15년 전 조회 2,857
15년 전 조회 643
15년 전 조회 1,106
15년 전 조회 1,089
15년 전 조회 1,042
15년 전 조회 903
15년 전 조회 1,212
15년 전 조회 1,282
15년 전 조회 931
15년 전 조회 1,324
15년 전 조회 968
15년 전 조회 1,205
15년 전 조회 1,331
15년 전 조회 1,081
15년 전 조회 888
15년 전 조회 1,069
15년 전 조회 1,194
15년 전 조회 908
15년 전 조회 892
15년 전 조회 1,265
15년 전 조회 1,065
15년 전 조회 954
15년 전 조회 1,100
15년 전 조회 1,266
15년 전 조회 979
15년 전 조회 1,008
15년 전 조회 697
15년 전 조회 923
15년 전 조회 1,136
15년 전 조회 955
15년 전 조회 963
15년 전 조회 1,189
15년 전 조회 1,705
15년 전 조회 618
15년 전 조회 1,059
15년 전 조회 1,045
15년 전 조회 937
15년 전 조회 917
15년 전 조회 1,040
15년 전 조회 807
15년 전 조회 2,043
15년 전 조회 809
15년 전 조회 1,717
15년 전 조회 808
15년 전 조회 881
15년 전 조회 976
15년 전 조회 928
15년 전 조회 1,633
15년 전 조회 1,043
15년 전 조회 994
15년 전 조회 1,167
15년 전 조회 1,000
15년 전 조회 827
15년 전 조회 986
15년 전 조회 849
15년 전 조회 1,067
15년 전 조회 609
15년 전 조회 996
15년 전 조회 1,004
15년 전 조회 946
15년 전 조회 877
15년 전 조회 1,214
15년 전 조회 942
15년 전 조회 884
15년 전 조회 914
15년 전 조회 858
15년 전 조회 858
15년 전 조회 936
15년 전 조회 1,324
15년 전 조회 702
15년 전 조회 766
15년 전 조회 934
15년 전 조회 947
15년 전 조회 800