관리 메뉴

nalaolla

자바개발 및 운영툴 본문

기타(개발관련)

자바개발 및 운영툴

날아올라↗↗ 2015. 12. 12. 18:00
728x90
반응형
1. 개발 툴 소개 
   netbeans // java tool 외국 개발자들이 많이 사용 
   intelliJ //굉장히 편하다 , 단점 : 유료

2. JDK 툴 소개
 1)  jstat : jvm의 상황을 모니터링 하는 프로그램  
              메모리릭 났을 때 

              자바 객체 생성시 ==>  new 영역 ,  old 영역 , 퍼머넌트 영역??   ==GC  모니터링 

            

   2)javap : 해당 클래스 파일 메소드 변수 정보 출력 ( 다른 사람의 자바 소스를 볼때 유용하다)

  
    3) jstack : 쓰레드 덤프 발생 시킴 
        콜스텍 , 데드락  정보를 보여준다. 

      ==> kill - 3 ?? 이걸 써라 

    4) jmap : 힘 덤프를 발생 시킴  
          jvm에 올라가 있는 모든 객체를 파일덤프로 남긴다. 
        ==> 운영 서버가 멈쳤을때 그때 사용한다. 


3. TEST TOOLS

   1) Unit test tool
       단위 테스트 (junit ) ==> 해당 메소드 콜  테스트  

   2) UI test tool : pass

   3) Acceptance test tool 
   : 보통 인수 테스트 

  4) 성능 테스트 툴 (Perormance test tool)


-  load runner  : 굉장히 비싸다 , 300 유저 퍼머넌트에 1억 라이센스   
                         소켓, 프로토콜 추가할때마다 가격 올라감  
                 

# 무료 툴        
- Grinder  : nhn에서 사용? ㅋ 
                nGrinder 오픈 소스로 올라와 있다.  ==> 
   
- JMeter



4. Profiling Tool
: 프로그램의 성능, 메모리 사용량, 코드 커버리지등을 확인할 수 있다.

- 운영 서버에 많은 성능 저하를 발생시키므로 반드시 개발자 pc및 개발 서버에서 사용해야 한다.
-상용 툴 권장 함 

- 자바 프로그래머들이 IDE 만큼 옆에 끼고 살아야 하는 툴
- 대부분 사용 프로파일링 툴은 IDE 연계가 가능하여,  IDE 에서 바로 성능 측정이 가능

==> 우리가 짠 코드 라인에서 얼마의 응답속도를 나타내는지 까지 확인이 가능하다.
   메모리를 얼마나 먹었는지 확인가능 , 상세하게 보여준다. ==> 부하가 크다 

==> 상용 프로파일링 툴은 소스의 라인단위까지 분석이 가능하다. 


  1) DevPartner for Java
  2)JProbe(Quest)
  3)JProfiler(ej-technologies)  : cpu 프로파일 기능도 제공, 
 

시작 점 찍고, 프로그램 돌리고, 끝점 찍으면 ===> 프로파일링 파일로 떨굼 
==> 어떤 클래스 , 어떤 메소스  콜이 많은지 그래프로 보여줌 

==> 시작, 끝의 메모리 차이 

==> 스레드 락 정보 , 그 락에서 얼마나 걸렸고, 어떤 객체에서 호출 된건지 보여줌 

 4)YourKit  : 해외에서 많이 씀
  

5. Monitoring tool 
- 애플리케이션이 정상적으로 작동하는지 확인하는 목적
-애플리케이션 상황을 전반적으로 확인하는 APM과 JVM 상태를 간단히 확인할 수 있는 
  JMX 기반의 툴로 나뉨

1) APM : Application Performance Monitor(사용이 많음)
  - Jennifer
   - WebTune
   - Pharos


 2) JMX :Java Management Extensions (무료 툴로 충분)

   - Visual VM : JVisual VM과 Visual VM으로 나뉨 (Visual VM 사용 권장 , 별도로 다운로드 해서 사용 가능 )
  - JConsole
   

6. TroubleShooting Tool 
 : 운영중인 시스템이 비정상적인 동작을 할때, 원인을 찾기 위해 사용
   - 어떤 장애가 발생했을때 해당 장애와 관련된 자료를 수집하는 것이 가장 중요
 

1) MAT
2) BTrace :   특정 장비에서만 이상이 있을때 , 실시간 운영중인 서버에 접속해서 확인할 수 있다.
    
728x90
반응형

'기타(개발관련)' 카테고리의 다른 글

자바/톰켓 환경설정  (1) 2016.06.15
REST API의 이해  (0) 2016.06.08
Jadclipse 플러그인 설치  (0) 2016.01.13
Eclipse단축키  (0) 2015.12.01
협업백서  (0) 2015.12.01