couchbase + spring boot api 를 사용하였다.
그런데..200만건 정도가 들어있는 상태에서 api로 조회를 하니..loading..만 하다가 timeout이 되면서 죽는 현상이 발생!!
1. spark(scala)로 데이터를 적재하는데 있어서 warning이 발생. 혹..이것 때문에? 라는 생각이 들었다.
왜냐하면 spark로 대량의 데이터를 적재한 뒤에 발생을 하였고 Flush를 한 뒤 1건을 넣고 조회를 하려고 해도
같은 현상이 발생 하였기 때문이다. 하지만 warning 때문은 아니고 추측하기에 Flush를 하여도 완전한 delete를
하는 것은 아니고 marking했다가 이녀석은 del 상태군..pass~! 하면서 전체를 풀 스캔을 하는것 같다.
couchbase를 재부팅하고 다시 1건을 조회를 하면 잘 조회가 되었다.
2. 튜닝을 살펴보기로 했다.
튜닝이 필요! 아래를 참조!
[ 그림 01]
위의 그림01 처럼 primary index는 bucket에서 Full-scan을 타게 된다.
그래서 Index를 추가해보기로 하였다.
cd /opt/couchbase/bin/cbq
cbq> CREATE INDEX i_query on `lineup-test` (query) USING GSI;
{
"requestID": "f604af9f-f4d5-4920-bbff-3bd4b2104a54",
"signature": null,
"results": [
],
"status": "success",
"metrics": {
"elapsedTime": "2.779732692s",
"executionTime": "2.77969173s",
"resultCount": 0,
"resultSize": 0
}
}
결과
INDEX..가 걸려있지 않아서 풀스캔을 탔기 때문에 로딩만하다가 타임아웃이 난 것이였다.
다시 데이터를 넣고 테스트를 해보자! ㄱㄱ~
- 끝 -