대머리개발자

[solr9] - 마지막 prod 구축 본문

개발이야기/오픈소스 설치

[solr9] - 마지막 prod 구축

대머리개발자 2024. 3. 5. 16:47
728x90

https://zuminternet.github.io/SearchPilotProject/

 

검색 데이터 서빙 플랫폼 구축

검색 데이터 문서에 대해 서빙하는 플랫폼을 구축하고 검색 서비스를 제공하는 프로젝트 소개

zuminternet.github.io

 

설계 -> 구축 -> 검증까지 군더더기 없는 깔끔한 레퍼런스이다.

 

나도 깔끔하게.....?

 

데에충 테스트 해봤고 문제 없을것 같고

물론 아직 갈 길은 산 넘어지만

 

운영서버 리소스를 어떻게 구축을 해야할 지 감이 안 잡혀서 찾아보다 발견한 레퍼런스.

멋지다. 검색파트 부서가 따로 있다니....부럽다.

 

각설하고

 

리소스는...

다다익램이지만..현실은 ㅠㅠ 

 

 

위치는.. 

K8S 내부에..갈지... 외부에...갈지........

가장 빠르게 진행할 수 있는 방향으로 가자!! 

 

결론

성능 검증을 테스트해 보고..방향성을 잡아보자.

 

solr 자체에 핀포인트 적용할라 했더니 기동 시 오류 뿜뿜히 가볍게 pass

어차피 SearchAPI 서버 통해서 요청할거니 프락시 Side에서 모니터링 해보자!

 

엔그라이드(ngrinder) 테스트 진행

 

기존 작성했었던..참고

https://hcnmy.tistory.com/136

 

nGinder 스크립트 개발환경 구축

상단 메뉴 [Script] 를 통해서 웹상에서 직접 스크립트를 생성하고 만들 수 있다. 간단 스크립트는 바로 작성해도 되지만 편하게 작성할 수 있도록 스크립트 개발환경을 구축한다. ※ 참고※ JDK 17+

hcnmy.tistory.com

 

오랜만에..CPU야 스트레스 좀 받아보자!!..아오 내가 받고 있구만

 

 

그대로...스크립트 복사해서 마지막 테스트하는데;;; 띠로링.

결론은 한글 깨짐으로 인한 JSON 파싱을 못하는 듯 하다.

Invalid UTF-8 start byte 0xb8 at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 16] (through reference chain: com.common.SearchInfo["keyWord"])

 

환경에 따른 오류는 그냥 가볍게 토스하자 우회 방법으로 고고싱하자!

val keywords = arrayOf("도심 탄소", "상한가", "천만주", "젭알", "거짓말이라도 해줘", "떡볶이")

@PostMapping("/search", produces = ["application/json; charset=UTF-8"])
fun search(@RequestBody searchInfo: SearchInfo): APIResultList {
    searchInfo.keyWord = keywords.random()
    val solrDocumentList : SolrDocumentList = searchService.search(searchInfo)
    return APIResultList(solrDocumentList, solrDocumentList.numFound)
}

 

그냥 서버에서 랜덤 키값으로 검색...하게끔. ㅋ

 

일단 핀포인트 빼고 전부 로컬이다. 고고

가상 사용자 200명이 Ramp-Up 형태로 진행

 

 

 

 

3분에 3만4천 call => 초당 188 cal =>  TPS 192 수치랑 비슷하다

검색을 하고 본문의 내용을 살펴보는 띵크타임이 존재하기 때문에 급나 빠른 TPS가 필요하지는 않을듯 하다. 

 

뭐 어째거나 우리내 시스템 TPS 200  정도면 OK

 

200만 나오면 OK인데 CPU가 100%로 금방 찬다. ㅋㅋ..아 운영 

그래서 클라우드 형태로 구축하나보다..

 

728x90

'개발이야기 > 오픈소스 설치' 카테고리의 다른 글

[solr9] 사용자 사전 추가  (0) 2024.03.20
[solr9] - 미비된 사항들 정비 2  (0) 2024.03.19
[solr9] - 미비된 사항들 정비  (0) 2024.03.05
[solr9] - 동의어 검색  (0) 2024.02.29
[solr9] - core 생성  (0) 2024.02.29