본문 바로가기

Log/Trouble shoot21

Postgres_인덱스 적용 후 성능이 개선되지 않는 문제 배경 대용량 트래픽 처리를 위한 node.js 기반 서버를 구축하는 프로젝트를 진행했습니다. 트래픽 처리가 가능한지 검증하기 위해 부하 테스트 툴인 nGrinder을 사용했습니다. 프로젝트를 진행하던 중 발생한 성능 문제를 인덱스로 해결하는 과정에 대한 글입니다. 인덱스를 사용하게 된 계기 신발 사이즈를 기반으로 고객의 입찰 데이터들을 검색하는 상세 조회(findById) API를 테스트하는 도중 응답속도와 처리량이 급격히 감소하는 현상이 발생했습니다. 이 쿼리는 특정 신발 사이즈(bidSize) 조건과 함께 입찰 생성 날짜(createdAt) 내림차순으로 필터링하고 있던 상황이었습니다. 이에 검색 성능을 개선하고자 신발 사이즈(bidSize)에 인덱스를 적용했으나 성능은 개선되지 않았습니다. 문제 원인.. 2023. 3. 13.
Troubleshoot_Ngrinder 테스트 중도 멈춤 문제 Time: 2023-03-07 22:53 doc-id : tsl-management-v1.2- 20230307 Problem - Ngrinder를 사용하여 어플리케이션의 경매 정보 데이터 생성 API의 성능을 테스트하고 있는 상황이다. Ramp up으로 점진적으로 VUser을 늘려나가다 1240명이 되면 테스트가 종료되는 문제를 발견했다. 목표하고있는 데이터 생성 개수는 30,000개이고 그중 성공 횟수는 평균적으로 12,500개로 약 40-42% 사이 수준이며, 이 이상 올라가지 못하고 있는 상황. Solution nGrinder 스크립트를 변경하니 테스트가 도중에 중지되지 않고 잘 진행되었다 아마도 일정 수준 이상의 에러가 발생하면 nGrinder가 자체적으로 테스트를 중단시키는 것으로 추정된다. .. 2023. 3. 8.
트러블슛_CICD_Github action 배포 시 파일 누락 문제 문제 nest.js 어플리케이션 CICD 파이프라인 구축 중인 상황. 문제는 배포가 정상적으로 진행되었음에도 불구하고 배포된 디렉토리에는 몇몇 폴더들이 누락된 상태로 배포가 되고있었다. src 폴더는 온데간대 없고 dist 파일에는 tsconfig 파일 하나만 달랑 있는 상황이었다. ubuntu@ip-172-31-11-171:~/build$ ls appspec.yml nest-cli.json package-lock.json readme.md tsconfig.build.json yarn.lock dist node_modules package.json scripts tsconfig.json deploy.yml name: deploy on: push: branches: [main] # Workflow is t.. 2023. 2. 23.
nestjs_EntityMetadataNotFoundError 에러 문제 EntityMetadataNotFoundError: No metadata for "ProductEntity" was found. at DataSource.getMetadata (/Users/thursdaycurry/Desktop/git-thursdaycurry/project/1.stockls/stockls/src/data-source/DataSource.ts:438:30) at Repository.get metadata [as metadata] ... ProductEntity, DataSource 키워드를 보니 왠지 DB 문제인거 같았다. 원인 이전에 .env로 환경변수를 관리하다 src/config/orm.config.ts에 DB config를 따로 빼준 상황이었는데, 옮기는 과정에서 proces.. 2023. 2. 22.