2023-03-1123. HTTP benchmark tool 제작 및 서버 부하 Fuzzing Test서론 HTTP benchmark tool 제작 및 서버 부하 테스팅 0. 서론 현재까지 저는 INSERT 쿼리를 BatchSize=50 JDBC Batch로 변경하였습니다. 또한 인증서버도 멀티스레드로 구현하였습니다. 이제 직접 서버에 부하를 테스트해볼 차례에요.
2023-03-0521. Postgresql Locks 및 RDS 지표 관찰, 성능향상!AWS RDS 그래프 지표 관찰 Postgresql Locks Lock 관찰 쿼리 Lock 타입 설명 타입에 따른 Conflict 발생 가능 여부 Conflict 예시 Conflict로 인해 블록된 쿼리 확인 그래서 AWS RDS로 확인한 지표에서 어떤 부분을 개선할 수...
2023-03-0420. 싱글 스레드 -> 멀티 스레드인증서버의 속도를 높이기 위해 기존 단일 스레드로 작업하던 부분을 아래의 configuration 을 통해 10개100개의 스레드로 동시성을 가져가보았습니다. 미리 결론을 말씀드리면 성능은 개선되지 않았습니다. 이유는 곧 말씀드리겠습니다.
2023-03-02Garbage CollectionJava에서는 new로 객체 생성하면 힙에다가 저장되잖아요? 이 때 힙 내부를 여러 단계로 나뉘어 어디에 저장하고 관리할지 정해주는게 GC입니다. 얘네는 세대교체를 베이스로 동작합니다.
2023-02-27개발자 취준생 일기현재와 목표간의 거리 개발자 취업시장의 문을 두드린지 6개월이 지났습니다. 알아야 될 부분이 너무나도 많았고, 또 많을 예정입니다. 지금 생각해보니 옜날 개발자로 진로를 처음 정한 이유는 단순했습니다.
2023-02-21Java에서의 비동기 NonBlocking, 그리고 ListenableFuture 객체Async, Sync + Blocking, NonBlocking 비동기와 동기, 그리고 non-blocking과 blocking방식은 어떻게 조합하냐에 따라 진행방식이 달라집니다. 이 글은 각각의 조합방식에 따른 진행방식의 차이점에 대해 설명합니다.
2023-01-2417. 프론트 서버 개발 완료 및 성능이슈 발생Batch JPA batch JDBC batch 일반적인 성능비교 그래서 Chatting을 insert할 때는 어떤 방식이 좋을까? 이슈비교 그 외 종합 성능비교 그래프 결론 기능 설명 및 시연영상 현재는 4.2.0 버전이며 프론트 서버까지 모두 완료되었다!
2023-01-1715. 대량 Rest api test 시 속도문제 해결과정-2이전 테스트에서 발생한 성능이슈를 (1)Server 수평확장 및 (2)Docker 할당 리소스 추가로 10K HTTP request 테스트의 response까지 걸리는 시간을 110초에서 49초로 감소시켰다.
2023-01-1714. 대량 Rest api test 자동화실시간 채팅방 backend에 직접 대량의 Rest api test를 진행했었다. 그런데 이 rest api test가 매번 직접 설정해주기 힘들어서 이를 Docker-compose 와 Viper 로 자동화 할 것이다. 아래는 자동화 시키고 실행한 결과를 먼저 보인다.
2023-01-1612. 대량 Rest api test랜덤값으로 test하는 code 10000개 rest api 트래픽 실행(110초 소요) 이제 동시 연결가능한 TCP 소켓을 필자의 맥북이 버틸 수 있는만큼 열어서 다량의 http request를 서버로 전송해볼려고 한다. Transport 설정을 잠깐 설명하자면 아래와 같다.
2023-01-1613. 대량 Rest api test 시 속도문제 해결과정-1이전 포스팅에서 10000개의 rest api를 직접 test해보았다. 로직에는 문제가 없지만 성능이슈가 너무 나버렸다. 10000개 테스트 하는데 110초가 걸린것이다. 의심가는 부분이 한두군데가 아니다. 오늘의 포스팅은 의심가는 부분을 한번 찾아보고 정리하려한다.
2023-01-1511. 대량 Rest api test 코드현재까지 auth/chat Server 및 여러 장애대응과 모니터링 서비스를 구축했다. 서비스관련 테스트 코드는 이미 생성하였으며, 이제는 다량의 Rest api 트래픽을 테스트를 위한 클라이언트를 제작해 볼 차례이다. 아래의 코드는 Golang으로 제작하였다.
2023-01-0810. 양방향 DB Sync 구현의 어려움과 비용서론 단방향까지는 구현이 가능했었는데, 양방향(BDR)은 아래의 이유로 굉장히 까다로웠다. 컨셉만 존재할 뿐, 코드 레퍼런스가 없다. 현업자분들께 방향성을 여쭙고싶다.
2023-01-049. 단방향 DB Sync with Kafka connectorDB sync 시 고려할점 어떻게 두 개의 master DB를 sync 해야할까? Kafka connector란? Kafka Source connector setting 1. postgres wallevel 설정 2. debezium connector 설정(source) 3.
2023-01-038. Kafka/Spring/ELK Stack 연동완료서론 드디어 길고 긴 실시간 채팅방 구현 중 backend가 완료되었다! 경험많고 설계를 잘하시는 분들이 보면 간단해보이겠지만, 경험이 전무한 필자는 모든 구현과 기술 하나하나가 벅찼다.