일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- @MockBean 속도
- 스프링 성능테스트
- custom plugin
- okhttp sink
- 성능테스트 모니터링
- 자바 가상스레드란
- junit 테스트 속도
- gradle pl
- 스프링 모니터링
- 테스트 속도
- JDK21 가상스레드
- spring gatling
- 스프링 gatling
- gradle plugin만들기
- spring 테스트 속도
- 자바 가상스레드
- Springboot 테스트 속도
- JAVA 가상스레드란
- gradle custom plugin
- spring socuter
- gatling
- okhttp upload progress
- gradle plugin이란
- 테스트 속도개선
- 자바Thread
- okhttp progress
- @DirtiesContext 속도
- spring 테스트 성능
- file upload progress
- 스프링 scouter
- Today
- Total
목록분류 전체보기 (12)
호딩클라우드

[문제식별]입력받은 사용자 개인정보를 통해 존재하는 회원인지 확인하고 화면을 분기하는 과정의 유스케이스가 있었습니다.이때, 아무런 장치가 없다면 Mysql은 Full Table Scan이 발생합니다. O(N) Full Table Scan은 테이블의 모든 데이터를 순차적으로 읽으며 테이블의 모든 행을 탐색합니다.그렇게 되면 해당 로직이 가입자 수에 비례하게 처리시간이 늘어납니다.[해결방안]사용자를 조회될 때 사용되는 컬럼에 index를 생성하면 정렬된 B-tree 구조의 구조가 생성되기 때문에 O(log N)의 시간복잡도로 조회할 수 있습니다.[해결과정]1. 테이블 생성CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, encrypted_info..

[배경] 회원가입시 프로필 사진을 등록하면 외부 배경제거 api를 통해 배경을 제거한 후 S3에 업로드를 하게 됩니다.이때 배경제거 후 S3업로드 까지 동기식으로 진행되다 보니 프로필 사진 업로드에 많은 시간이 소요되는 문제를 식별했습니다. 아래는 이미지 크기별 소요시간입니다. 이미지 크기 (KB)Total Elapsed (ms)Remove Background Elapsed (ms)S3 Elasped (ms)50kb447023431449100kb335016601606155kb523038652962330kb710049332092800kb7940399338601200kb10150568543791900kb14610703773442300kb190007146117382900kb19920763611872 이미..

> >읽기 쉬운 코드에 대한 중요성을 알고 있지만 실천하지 못하는 사람들이 많다.해당 도서를 읽은 뒤 내가 느낀 것은 읽기 쉬운 코드를 작성하기 위한 시스템을 구축해야 된다는 것이다.거창하게 시스템이라고 표현했지만, 일련의 규칙 및 체크리스트를 설정하는 것이 좋을 것 같다.읽기 쉬운 코드는 다시 말해 인간 친화적인 코드를 작성하는 것이고, 인간 친화적인 코드는 인간만이 작성할 수 있으며 인간이 작성하기 때문에 클린코드 관점에서도 휴먼에러가 발생할 수 있다.이에 대한 대비책으로 체크리스트와 리팩토링 및 주석 등에 대해 규칙을 구성하고 팀원과 공유하는 것이다.또한 병합 지옥에 빠지지 않기 위해서는 자주 병합해줘야 하는 것은 이미 너무 유명한 이야기이다.이 책에서는 린터나 정적코드분석의 중요성을 알려주고 다양..

https://kubernetes.io/ko/docs/concepts/overview/ 쿠버네티스란 무엇인가?쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하kubernetes.io 쿠버네티스란 무엇인가?컨테이너화된 서비스를 관리하기위한 오픈소스 플랫폼입니다.쿠버네티스 유용한이유물리서버를 이용하던 시대에는 배포되는 애플리케이션에 대해 최적화된 물리서버의 리소스를 제공할 수 없었습니다.이로인해 가상화가 등장하고, 하나의 물리서버에서 애플리케이션을 격리하여 여러 가상시스템을 실행할 수 있게 되었습니다.이후 더나은 가상화를 제공하기위해 컨테이너개념이 등장했으며 개발과 운영의 관심..

Garbage Collector란?GC(가비지 수집기)는 애플리케이션의 동적 메모리 할당 요청을 자동으로 관리합니다.Garbage Collector가 하는 작업들운영 체제에 메모리를 할당하고 반납합니다.애플리케이션이 요청할 때 해당 메모리를 애플리케이션에 전달합니다.해당 메모리의 어느 부분이 애플리케이션에서 아직 사용되고 있는지 확인합니다.애플리케이션에서 재사용할 수 있도록 사용되지 않은 메모리를 회수합니다.Java HotSpot 가비지 수집기는 이러한 작업의 효율성을 높이기 위해 다양한 기술을 사용합니다.자원을 효율적으로 사용하기 위해 힙영역을 세대별로 관리하여 Garbage가 될 가능성이 높은 영역을 집중관리합니다.여러 스레드를 사용하여 작업을 병렬화하거나 애플리케이션과 동시에 백그라운드에서 일부 장..

Gatling 설치오픈소스 기반의 성능 측정 도구이며 내부적으로 Akka와 Netty를 사용하기 때문에 ngrinder와 Jmeter보다 적은 부담으로 더 많은 부하를 이용한 테스트를 진행할 수 있습니다. 홈페이지 : https://gatling.io/ 학습페이지 : https://gatling.io/academy 다운로드 : https://gatling.io/open-source/ 다운로드 후 /bin 로가면 gatilng 실행파일과 recorder가 존재하는데 recorder는 시나리오 세팅을 도와주는 도구입니다. 예제 프로젝트로는 spring 리포지토리의 petclinic을 사용하겠습니다. https://github.com/spring-projects/spring-petclinic 예제프로젝트를 다..