Spring Boot 서비스 환경 스트레스 테스트 2 [Spring/Java]
·
Spring
https://kiru-dev-study.tistory.com/27 Spring Boot 서비스 환경 스트레스 테스트 [Spring/Java]1. 구성하게 된 이유스타트업 프로젝트를 2주안에 서버 구축이 완료되어어야 한다는 소리에 다급하게 프로젝트를 시작하고 인프라 구축, API 개발까지 완료를 한 상황에서 물론 스스로 응답에kiru-dev-study.tistory.com1편에 이어서 어떻게 개선했는지 확인해 보도록 하겠다. 스트레스 테스트에서 가장 중요한 점은 어디서 병목이 생기는지, 왜 병목이 생기는지에 대한 부분이다.1. 병목 지점 - DB실제로 가장 큰 병목 지점은 DB/IO의 대한 부분이다. 왜 그런가 하면 DB의 구조를 생각하면 좋은데 DB는 디스크에 데이터가 저장되게 된다. 즉 DB를 조회한..
Spring Boot 프로파일링 및 Stress Test [Spring]
·
Spring
현재 진행하고 있는 프로젝트의 대한 최적화를 진행하기 위해 다음과 같은 기술 스택을 사용했고 어떻게 진행했는지, 어떤 과정으로 나아갔는지 작성해보도록 하겠다.Spring Boot 3.3.2Java 21Docker각 서비스 환경 구성Grafana API 스트레스 테스트, Spring Boot , CPU 메모리등 리소스 시각화InfluxDBAPI 스트레스 결과용 DBK6스트레스 테스트 툴로 설정 : 리소스를 적게 잡아 먹어 같은 JVM을 사용하는 JMeter및 NGrinder보다 가벼운 장점Prometheus각 서비스 컴포넌트 데이터 수집지난 글에서 말했다시피 다음과 같이 코드레벨에서 멀티모듈로 코드를 작성했고 아키텍쳐는 다음과 같고 Docker에 할당된 리소스는 다음과 같이 구성했다.CPU: 8Memory..
[DB] JAVA 개발자라면 알아야 하는 SQL Best Practice
·
DB
https://www.baeldung.com/ 여기서 다음 글을 찾아서 좋은 내용이라고 생각해 한번 글을 작성해보려고 한다.https://foojay.io/today/sql-best-practices-every-java-engineer-must-know/ 여기서는 Java Engineer라면 모두 알아야 하는 SQL 모범사례에 대해서 얘기하고 있는데 대부분의 내용들은 좋지만 SubQuery에 대한 부분은 사람들이 인정하지 못하는지 댓글로 다양한 얘기들을 하고 있는 모습을 볼 수 있다.또한 이러한 내용은 RealMysql 2권에서도 1장에 쿼리최적화 부분과 상당히 일치하는 부분이 많은데 이 블로그에서 요약으로 정리해 보도록 하겠다.주로 이 글에서는 인덱스를 활용할때 어떻게 해야 하는지에서 다루고 있다. T..