본문 바로가기

엔지니어링(TA, AA, SA)/성능과 튜닝

(26)
[gRPC] gRPC 깊게 파고들기 https://blog.naver.com/n_cloudplatform/221751268831 https://blog.naver.com/n_cloudplatform/221751405158 더보기 1. Server-Client Model PC(Personal Computer)의 개념이 없던 시절, 프로그램은 하나의 메인 프레임에서 동작하는 Monolithic 구조로 설계되었다. 이때까지만 해도 모든 기능들이 한 공간에서 구동되다 보니 지금처럼 네트워크 통신이 크게 중요하지 않았다. 기술 발전에 따라 소형 컴퓨터 장비들이 등장하게 되고, 기업 입장에선 매우 고가인 메인 프레임워크를 비교적 저가의 워크스테이션 서버로 대체하고 싶어했다. 하지만 메인 프레임워크의 초고사양 서비스를 워크스테이션 서버에서 그대로 제공..
[API] Rate Limiting & Resource ID 난독화 API 요청량 제한 관련 정보 - 출처 블로그. https://www.mimul.com/blog/about-rate-limit-algorithm/ https://github.com/appkr/l5essential/blob/master/lessons/49-rate-limit.md rate limiting과 rate shaping은 대표적인 혼잡 제어 기법이다. rate limiting은 policing(보안 정책)이라고도 하는데, 말그대로 traffic rate을 제한 하는 것이다. traffic rate를 제한하는 이유는 여러가지가 있을 수 있는데, 근본적인 이유는 과도한 트래픽이 네트웍 장비 안으로 들어오게 되면 시스템 전체의 성능을 떨어뜨리게 되며 심한 경우는 시스템을 정지시키게도 된다. 반면에 tr..
[엔지니어링] 자바 최적화 - 하드웨어와 운영체제 보호되어 있는 글입니다.
[엔지니어링] 자바 최적화 - GC 로깅 GC 로그는 시스템이 내려간 원인의 단서를 찾는 '콜드 케이스(cold case)' 분석을 할때 매우 유용하다. 파일에 씌여진 로그를 분석하는 작업이므로 애플리케이션 프로세스가 살아있지 않아도 된다. 콜드 케이스(cold case)는 진상이 명확히 밝혀지지 않은 범죄나 사고를 가리키는 용어로 '원인을 알 수 없는 현상' 정도를 비유하는 용도로 쓰였다. 모든 중요한 애플리케이션에는 다음 두가지를 설정해야 한다. - GC 로그를 생성한다. - 애플리케이션 출력과는 별도로 특정 파일에 GC 로그를 보관한다. 특히, 운영계 애플리케이션에서는 필수 사항이다. GC 로깅은 사실 오버헤드가 거의 없는 것이나 다름없으니 주요 JVM 프로세스는 항상 로깅을 켜놓아야 한다. GC 로깅 1) GC 로깅 켜기 애플리케이션 시..
[엔지니어링] TIME_WAIT 소켓과 TCP Keepalive 보호되어 있는 글입니다.