Java_tuning3

Reading time ~1 minute

자바 성능 튜닝 이야기

#

자바 클래스 정보 보여주는 도구 : javap

java -V HelloWorld

리플렉션 같은 거로 클래스 정보, 필드 정보 출력해준다. 리플렉션도 코드에선 쓰지 말자. 대신 instanceof 사용하자

DOM 데이터를 모두 들고 있어서 메모리 짱 많이 먹어 SAX Read only라 편집 불가

JVM 모니터링 도구

  1. Visual VM

J Visual vm : jdk에 포함돼서 나오는거. JVM 모니터링 도구 - GC, Memory 등등

  1. Java Mission Control

Profiling

개발 서버에서 쓰는데 운영 서버에서 쓰면 성능저하가 너무 심하다. 코드 라인 별로 시간을 얼마나 깎아 먹는지 까지 상세하게 볼 수 있다.

  1. Jprobe
  2. YourKit
  3. DevPartner
  4. JProfiler : 락이 걸리는 코드, 얼마나 걸리는지 확인 가능

APM

운영 서버에서 사용한다.

  1. Jennifer
  2. Phros
  3. Exam
  4. Scouter : LG에서 만든거고 오픈소스. 리얼타임 기반
  5. Pinpoint : Naver에서 만든 오픈소스.

TPS : Transaction per second 성능을 측정 할 수 있는 정도

TPS를 늘리려면 서버를 늘리면 되는데 병목이 발생할 수 있다. 근데 역시 한계는 존재함 성능저하의 병목은 대부분 CPU인데 WAS, API, DB 순서로 간다고 치면 WAS 에서 100%으면 api, db는 텅텅 놀고 있을거야.

BCI? ASM? 메소드 앞 뒤에다가 내가 분석해야 하는 메소드네? 판단하고 무언가를 심어주고 측정한다.

아파치 웹 로그

들어온 요청이 나갈 때 로그를 찍어요 왜냐하면 %D, %T는 걸린 시간인데 들어올 때 찍으면 어떻게 알겠어

WAS DB 100%이면 웹서버로 들어오는 요청을 끊어버려 - L4에서 빼면 돼 그러고 나면 언젠가는 들어온 요청이 끝날테니까 로그에 찍힐 거야

성능을 이야기할 때 average mean 비슷한데 분명 달라 average는 평균값인데 mean는 중간값 90th, 95th, 99th는 신뢰도로 90%… 사용자는 이 응답시간에 들어올거다. 라는 것이고, Standard dev 표준편차인데 값이 들쭉 날쭉 할 수 있다는 것.

Dooray!

Dooray CalDav, IMAP 사용법 Continue reading

Vue.js

Published on February 10, 2018

Java_tuning5

Published on March 06, 2017