Day 74
- 실전 프로젝트
오늘까지 발표 자료 제출이여서 오전과 낮에는 발표 자료를 준비하면서 이후에 뭘 해야하는지 토의를 했다. 해야할 것들을 정리하다 보니 이전에 생각했던 것보다 좀 더 구체적인 계획이 나왔고 가야할 방향성도 잡힌거같다. 그리고 어제 문제를 일으켰던 검색기능 자고 일어나니까 언제 그랬냐는듯 작동했다. 그래서 어제 부하가 심했나보다 했는데 오늘 낮쯤부터 다시 먹통이 되버렸다. 그래서 자료정리를 마치고 나서는 문제점이 뭔지 고민해봤다. 어제는 RDS의 문제라고 생각했지만 오늘 다시 상황을 보니 검색기능을 제외한 나머지 기능은 다 정상작동을 했다. 그리고 검색도 되는 경우도 가끔 있는걸 보니 RDS보다는 검색 기능 자체에 문제가 있다고 판단했다.
검색 기능이 다른 기능들과의 차이점은 저장된 모든 데이터를 훑어보는 것이다. 즉, 탐색해야할 요소가 많다는 것이고 1000만건이나 되는 데이터를 탐색하려면 많은 시간이 소요될 것이다. 그래서 장애가 생겼다고 생각했고 검색 시간을 줄이는 방법을 찾아보기 시작했다. 최적화에서 가장 기본적인 방법이 인덱스를 타는 것이라는 사실을 검색을 통해 알았다. 그래서 인덱스를 설정하려는데 조건이 너무 많아서 어디에 걸어야 할지 감이 안잡혔다. 그래서 우선 카테고리의 대분류와 소분류에 적용해보기로 했다. 왜냐하면 검색할 때 카테고리를 적용하지 않고 키워드만 검색하면 속도가 빨랐는데 카테고리를 적용하면 눈에 띄게 속도가 줄었기 때문이다. 그래서 인덱스를 탄 것과 그렇지 않는 것의 결과를 비교해봤는데 결과는 아래와 같다.
1. index 없음
1. 일반 검색
한국 : 0.256s
문학 : 0.111s
독서 : 0.068s
미술 : 0.061s
2. 대분류만 선택
한국 (역사) : 2.512s
문학 (소설 시 희곡): 2.926s
독서 (자기계발): 0.551s
미술 (예술): 0.976s
3. 대,소분류 선택
한국 (역사, 한국사 한국문화): 2.286s
문학 (소설 시 희곡, 고전문학): 1.749s
독서 (자기계발, 성공): 0.247s
미술 (예술, 미술 음악): 1.025s
2. category index
- 적용 대상 : 2, 3번
1. 일반 검색
한국 : 0.252s
문학 : 0.116s
독서 : 0.084s
미술 : 0.055s
2. 대분류만 선택
한국 (역사) : 0.026s
문학 (소설 시 희곡): 0.016s
독서 (자기계발): 0.046s
미술 (예술): 0.035s
3. 대,소분류 선택
한국 (역사, 한국사 한국문화): 0.026s
문학 (소설 시 희곡, 고전문학): 0.538s
독서 (자기계발, 성공): 0.031s
미술 (예술, 미술 음악): 0.023s
3. category, baby_category composite index
- 적용 대상 : 2,3 번
1. 일반 검색
한국 : 0.242s
문학 : 0.152s
독서 : 0.072s
미술 : 0.060s
2. 대분류만 선택
한국 (역사) : 0.031s
문학 (소설 시 희곡): 0.096s
독서 (자기계발): 0.023s
미술 (예술): 0.021s
3. 대,소분류 선택
한국 (역사, 한국사 한국문화): 0.027s
문학 (소설 시 희곡, 고전문학): 0.027s
독서 (자기계발, 성공): 0.015s
미술 (예술, 미술 음악): 0.011s
카테고리에 인덱스를 적용하면 카테고리 검색 속도가 확실히 줄어든게 보인다.
이렇게 여러 인덱스를 적용해보면서 어떤 방식이 최적의 방식일 지 고민해봐야겠다.
'항해99 > TIL | WIL' 카테고리의 다른 글
| 2023.03.25 (76일) (0) | 2023.03.26 |
|---|---|
| 2023.03.24 (75일) (0) | 2023.03.25 |
| 2023.03.22 (73일) (0) | 2023.03.23 |
| 2023.03.21 (72일) (0) | 2023.03.22 |
| 2023.03.20 (71일) (0) | 2023.03.21 |