http://exif.net/entry/Solr-솔라-성능-비교-삽질에-가까운-비교기
1탄에 이어, 조금 더 테스트를 수행해보았다.
역시 나의 무지함이 한눈에 드러나게 된 테스트 였다.
1. 색인건수를 증가시켜보았다.
DistributedSearch 와 SingleCore의 성능차이가 건수가 많아지면, 역전 되지 않을까 해서 진행
결과 : 줄기는 하나, 눈꼽만큼 줄어서 별 효과가 없다.
2. 쿼리에 카테고리 검색조건을 넣는 대신, 필터쿼리 쪽으로 카테고리를 분리
filterQuery는 루씬 내부의 Score와 관계없이 대상을 필터링하고, 캐쉬가되므로, 동일한 필터쿼리에 대하여 캐슁효과를 볼 수 있다.
결과 : 러프한 테스트지만, SingleCore 와 MultiCore의 성능 갭을 엄청나게 줄여 버렸다.
| 만개 | 십만개 | 3십만개 | 5십만개 | 백만개 | 백5십만개 | 3백만개 | |
| Single, 쿼리 | 367 | 563 | 1247 | 1537 | 2778 | 4280 | 7814 |
| Single ,FQ | 281 | 513 | 768 | 849 | 1264 | 1370 | 2719 |
| MultiCore | 347 | 498 | 414 | 562 | 788 | 1039 | 1764 |
| MultiCore, 쿼리 | 309 | 488 | 1150 | 1320 | 2408 | 3561 | 6655 |
| DistributedSEarch, FQ | 1658 | 1441 | 1096 | 1742 | 2005 | 1957 | 3903 |
| DistributedSEarch , 쿼리 | 945 | 1212 | 1655 | 2055 | 3335 | 4617 | 8360 |
Single , 쿼리 : 한 Core에 넣고 카테고리 조건 q= 질의
Single, FQ : 한 Core에 넣고, 카테고리 조건 FilterQuery 질의
MultiCore : 카테고리별 Core 생성
MultiCore , 쿼리 : 카테고리별 Core 생성, 카테고리 조건 q= 질의
DistributedSearch, 쿼리 : 카테고리별 Core 생성, shards검색, 카테고리 조건 q= 질의
DistributedSearch, FQ : 카테고리별 Core 생성, shards검색, 카테고리 조건 FilterQuery 질의
1. SingleCore 보다 MultiCore가 조회성능에서 우수하다.
2, cache 효과를 볼 수 있는 filterQuery 가 일반 query 질의보다 우수하다.
3. DistributedSearch는 다수의 Core로 결과를 받아서, 재조합하는 과정에서 시간 loss가 발생하는것으로 추정한다.
4. 쿼리에 쓸데없는 조건을 넣지 말자.(쏠라의 쿼리옵티마이징은 별로이다)

