본문 바로가기

성능5

네트워크 출력과 대역폭의 차이 데이터베이스를 다루다보면 아래와 같이 Mbps 와 같은 것을 본적이 있을 것이다. 이때 Mbps가 무엇을 의미하는 것인지 알아본다. 네트워크 출력과 대역폭의 차이 BPS 란? 먼저 BPS란 Bits Per Second의 약자로 초당 전송되는 비트 수를 의미한다. 그럼 위에서 보았던 네트워크: 4,750Mbps가 의미하는 것은 무엇일까? 네트워크 출력과 대역폭 네트워크: 4,750Mbps를 이해하기 위해서는 네트워크 출력과 대역폭을 이해하면 된다. 네트워크 출력(또는 출력률, 쓰루풋)은 얼마나 많은 데이터가 단위 시간 내 목적지에 전달될 수 있는지에 대한 지표로 사용된다. 쉽게 말해 얼마의 데이터가 1초 동안 전달되는지를 나타내는 것이며, 기본적인 출력률의 단위로 bps를 사용한다. 위에서 본 Mbps의 .. 2023. 8. 2.
MongoDB 성능 개선을 위한 Index 설정 MongoDB 에서 인덱스를 설정을 하게 되면 보다 빠르게 조회가 가능하다. (다른 DB도 마찬가지) 하지만 인덱스 설정에 따라서 성능의 차이가 있음을 이해하며, 어떤 것들을 고려하며 인덱스를 설정해야 되는지에 대해서 정리한다. MongoDB 성능 개선을 위한 Index 설정 Index 란? 먼저 들어가기에 앞서 Index에 대해서 가볍게 알아본다. 인덱스란 DB의 검색을 빠르게 하기 위해서 데이터의 순서를 미리 정해해 두는 과정을 말한다. 자주 조회되는 필드를 따로 저장해서 조회 및 정렬 시의 속도를 빠르게 하는 기법이다. MongoDB Index? MongoDB에서는 고정된 스키마는 없지만, 원하는 데이터 필드를 인덱스로 지정하여 검색 결과를 빠르게 조회하는 것이 가능하다. 그렇기 때문에 MongoD.. 2023. 6. 12.
JPA - save() & saveAll() 성능 비교 분석 JPA를 사용하면 데이터를 저장할 때 save와 saveAll 함수를 사용하여 데이터를 저장할 수 있다. 두가지 함수의 차이는 데이터를 한번에 한 개를 저장하느냐 N개를 저장하느냐의 차이다. 만약 10개를 데이터를 저장해야 될 때 save()를 통해 데이터를 10번 저장하는 것과 saveAll()을 통해 한번에 데이터를 저장하는 것이 성능적으로 어떻게 차이가 있을지에 대한 궁금점을 해결하기 위한 글이다. save() vs saveAll() 성능 비교 분석 save() vs saveAll() 성능 테스트 거두절미하고 바로 N개의 데이터에 대하여 save()와 saveAll()에 두가지 함수에 대해서 성능을 측정해본다. 성능 테스트 코드는 아래 코드를 참고하자. @Test @Transactional fun .. 2023. 5. 27.
AWS - Lambda 성능 개선 및 개념 정리 (동작원리/ColdStart..) 기존 서비스 중에 이미지를 AWS S3 저장소를 이용하였는데 업로드하는 과정에서 이미지 변환 작업이 추가로 필요하게 되어 람다의 S3를 트리거로 등록하여 구성을 하려다 성능상 이슈가 존재하여 람다를 사용할 때 성능적 이슈를 해결하기 위한 방법과 람다의 기본 동작 원리에 대해서 정리한다. AWS - Lambda 성능 개선 및 개념 정리 (동작원리/ColdStart..) Cold Start 람다 함수는 서버리스로 항상 활성화 되어 있는 상태가 아니다. 최초의 람다함수로 요청이 들어오게되면 람다함수를 실행시키기 위해 부수적인 설정들이 필요하게 되는데 이 과정에서 적게는 x초 ~ 수십초까지의 딜레이가 발생한다. 이러한 현상을 'Cold Start' 라고 부른다. 이런 점이 람다의 최대 단점으로도 꼽힌다. 이렇게.. 2023. 5. 8.
JMeter 를 이용한 API 성능 테스트 API 성능 테스트가 필요할 때 사용할 수 있는 여러 툴 중에서 JMeter를 이용한 테스트 방법에 대해서 정리한다. JMeter에 대한 기본 개념과 설치 방법 및 테스트 방법에 대해서 알아보자. JMeter 를 이용한 API 성능 테스트 JMeter? JMeter는 Apache에서 개발한 오픈소스 성능 테스트 툴이다. 데이터가 많거나 응답 시간이 중요한 API에 경우에는 성능에 신경을 쓸 수 밖에 없는데 이떄 여러 사용자가 동시에 해당 API를 요청했을 때의 정보가 필요할 때가 있다. 이럴때 사용할 수 있는 것이 JMeter이다. JMeter를 통해 사용자의 수를 설정하고 몇 초 간격으로 몇번을 반복하는 시뮬레이션 상황을 만들어 해당 API의 성능을 테스트 해볼 수 있다. JMeter는 JVM이 설치만.. 2022. 11. 11.