'자바성능튜닝'에 해당되는 글 57건

  1. 2009.01.19 [JVM Option] 자바 성능 튜닝에 대한 좋은 글- JVM Option 위주의 튜닝 방법
  2. 2009.01.11 [J2EE Cache] ehcache를 사용한 페이지 캐시
  3. 2008.12.21 [Blog2Book] 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 1쇄 오타 모음 (2)
  4. 2008.12.10 [Thread Checker] Thread Check 소개 - Thread 정보를 파악하자.
  5. 2008.12.10 [Jennifer] 제니퍼 사용시 쿼리(DB Query)들의 목록이 나오지 않을때
  6. 2008.11.14 [vmstat manager] vmstat manager 2008.11.14 버젼
  7. 2008.11.05 [jconsole] JConsoled을 사용해서 Tomcat 5.5 모니터링 하기
  8. 2008.10.30 [Blog2Book] 흠... 누가 그랬을까? (2)
  9. 2008.10.14 [구매정보] 썬테크데이에서 몇가지 책을 반값에 드리네요.
  10. 2008.09.16 [vmstat manager] vmstat manager JDK 5.0 재컴파일 버젼
  11. 2008.09.10 Sun Tech Days 2008 Seoul (썬 테크 데이즈)가 10월 15일~17일까지 열리네요. (1)
  12. 2008.09.03 [분석툴] Java Path Finder
  13. 2008.09.01 [Blog2Book 자바 성능 튜닝] 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 2쇄가 나왔습니다. (4)
  14. 2008.08.09 [IBM Dump Analyzer] IBM Diagnostic and Monitoring Tools for Java - Dump Analyzer 를 이용한 메모리 분석 가이드
  15. 2008.07.29 [강의취소] 8월 11일부터 진행하기로 한 강의가 취소 되었다.
  16. 2008.07.21 [강의계획] 8월 11일부터 3일간 삼성 멀티캠퍼스에서... (2)
  17. 2008.06.28 [세미나자료] 2008년 07월 18일 OKJSP 세미나 자료. (1)
  18. 2008.04.28 [Blog2Book] 자바 성능을 결정 짓는 코딩 습관과 튜닝 이야기 책에 대한 다양한 이야기들 (1)
  19. 2008.03.26 [Weblogic] 웹로직(Weblogic) 서버 쓰레드(Thread) 및 DB connection Pool 관련 설정
  20. 2008.03.21 [DevPartner] 프로파일링 시작 하기
  21. 2008.03.15 [Blog2Book] 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 책에 있는 소스 코드 ver.1.1. (1)
  22. 2008.02.28 [DevPartner] DevPartner 화면 설명
  23. 2008.02.23 [DevPartner] DevPartner 사용시 파일 명명 방법
  24. 2008.02.23 [링크] IBM Java theory and practice: 퍼포먼스
  25. 2008.02.23 [링크] HP 관련 자바 성능 튜닝 관련 내용들
  26. 2008.02.23 [링크] Sun 성능 관련 유용한 팁들 모음
  27. 2008.02.22 [공지] 새로운 시작
http://2005elc.elancer.co.kr/eTimes/page/eTimes_list.html?cstr=Q0FURUNPREU9QTEwMDAxNTAw

자바 성능 튜닝은 JVM 옵션만 튜닝한다고 해서 되는 것은 아니다.

하지만, Application 단에서 튜닝을 모두 마쳤을 경우 가장 마지막에 해야 하는 것이
JVM의 GC 옵션 및 메모리 부분의 튜닝이다.

물론 사람에 따라 방식이 틀려서 GC 옵션을 처음부터 할 수도 있다.
Posted by tuning-java
kenu님 미투데이에 놀러갔다가 ehcache 를 발견했다.

간단히 사용법을 정리한 블로그는 영어지만,
http://blog.cherouvim.com/caching-pages-using-ehcache


ehcache는 홈페이지에서 다운로드 가능하다.
http://ehcache.sourceforge.net 

왜 페이지 캐시가 필요한지는 대부분 아시겠지만,
예를 들어서 간단하게 말씀드리면...
온라인 쇼핑몰에서 대분류, 중분류, 소분류로 상품의 목록이 나오고
해당 상품의 개수가 나와있다고 가정해보자.
만약 이런 페이지의 캐시를 지정하지 않았다면, 페이지를 호출할 때마다 해당 카테고리의 상품 개수를 가져오는 쿼리가 계속 수행될 것이다.

그런데 캐시를 사용한다면???
거의 HTML을 읽어오는 속도로 메모리에서 데이터를 읽어 올 수 있으므로,
해당 화면이 엄청나게 자주 불리는 초기화면이거나 include되는 화면이라면 WAS 와 DB 사용량이 현저하게 줄어들 수 있다.
추가로 I/O 도 줄어들 수 있을 것이다.
Posted by tuning-java
이제서야 좀 여유가 생겨서 1쇄에 있던 오타를 정리한다.

저도 사람이니까, 이정도 실수는 좀 애교로 봐 주세요 ^^;

(1쇄 구매한 분들은 꼭 한번씩은 보셔야 하는데...)

내용 펼치기






Posted by tuning-java
Thread Checker라는걸 만들었다.(2일 반동안...)

회사 나가기 전에 같이 일하던 사람들에게 줄 선물로...
(책 써야하는데, 이런거나 맹글고 있으니 - -)

이게 뭘 하는 거냐면,
-성능 테스트를 하거나
-시스템을 운영하거나
-WAS의 문제로 장애가 났을때

개발자의 실수로 다른 Thread에 Lock(Block)을 발생시켰을 때
어떤 프로그램에서 발생했는지를 확인할 수 있는 그런 프로그램이다.
(뭐 똑똑하신 고급 개발자 분들께선 이미 이런거 만들어서 사용하고 계실테니 Pass...)

설치의 단순화를 위해서 JSP 딸랑 하나로 만들었으며,
JSP 하나에 넣기 위해서
HTML 노가다 + CSS 노가다 + JavaScript 노가다를 병행해서 개발했다.

두가지 버젼이 있는데, 하나는 메모리 정보를 보여주는 버젼, 다른 하나는 메모리 정보를 안보여 주는 버젼이다.
혹시라도 메모리 정보를 보여주면 서버에 부하가 발생할 수 있으니....


그림을 보면 알겠지만, 만약 다른 쓰레드를 잡고 있는 범인 쓰레드에 찐하게 표시를 해 주도록 해 놓았다.

원래 엄청나게 우울한 UI 였지만, 울팀 디자이너에게 별다방 커피 한잔 사준다고 꼬셔서 화면도 약간 이쁘게 포장했다.

이 프로그램을 왜 만들었냐면,
지난주 금요일에 성능 테스트를 하는데, XXXXXXXX 라는 프레임웍에서 사용하는 한 프로그램의 메소드에
Synchronized라는 블록을 써서 해당 메소드를 사용하는 다른 쓰레드의 응답속도가 엄청나게 증가하는 현상이 발생을 해서,
이런 문제를 제니퍼나 다른 모니터링 툴을 못 쓰는 사람들이 어떻게 잡을 수 있을까?
해서 만들게 되었다.

뭐 어찌보면, JConsole(이게 뭔지 모르는 분들은 제 책 보세욤...)을 써서 볼수 있겠지만,
서버에 부하가 많이 갈 수도 있고, 방화벽으로 막혀있는 상황이라면,
사용하기가 쉽지 않다.

아직 성능 테스트할 때 사용한 적은 없어서
(내 PC에서는 부하를 발생시켜서 테스트는 해 봤지만...)
해당 JSP를 아직은 공개하진 않을 예정이다.

뭐 소스가 이따구야~~
라는 분도 있을 수가 있고... ㅎㅎㅎ

혹~~ 써보고 싶은 분들은 저에게 이멜 보내주시면, 보내드리도록 하겠다.
메일 주소는 "자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"에 있는 주소를 참조~~~ ㅎㅎ
http://www.hanb.co.kr/book/look.html?isbn=978-89-7914-522-9

한가지 단점으로는 StackTrace 정보를 다 볼 경우 서버에 부하가 많이 갈 수도 있으므로,
괜히 서버 CPU 100% 인 상황에서 사용해서 욕먹는 일이 없길 바란다.

Posted by tuning-java
제니퍼를 사용하다보면 X-View나 통계정보에 쿼리 목록이 안나올 때가 있다.

만약 DB의 Connection을 WAS에서 제공하는 것을 사용하지 않을 경우나,
다른 특이한 경우에 이런 일이 발생하게 된다.

그럴때에는 당황하지 말고, 다음과 같이 하면 된다.

1. 먼저 어떤 메소드에서 DB Connection을 맺는지 확인해야 한다.
제니퍼에 로긴하여
장애진단 - 유틸리티 - 로딩 클래스 목록을 찾아간다.
(만약 이 메뉴도 못찾아 가면 이 설명을 읽지 말기 바란다. ^^)

2. 로딩 클래스 목록중에서 DB와 연결을하는 getConnection 관련 메소드를 찾는다.
그 메소드의 매개변수까지 꼭 확인해야 한다.

3. w11.conf 나 w12.conf 와 같이 각 WAS 별 설정이 지정되어 있는 설정파일을 연다.
(제니퍼에서 관리도구를 통해서 설정하는 것이 더 낫다. 실시간으로 반영이 되기 때문에...)
거기서
jdbc_connection_get =
이라고 되어 있는 부분을 찾는다.
분명히 #으로 주석이 되어 있을 것이다.
그 주석을 풀고 저 설정값 뒷 부붓에 패키지를 포함하여 클래스와 메소드와 매개변수를 지정한다.
예를 들어 삼성 SDS의 Athena (지금은 Anyframe 인가??)를 사용할 경우에는 다음과 같이 지정하면 된다.

jdbc_connection_get = athena.titan.services.datasource.impl.AbstractDataSourceService.getConnection()
만약 매개변수의 타입이 String이면, ....getConnection(String) 과 같이 지정하면된다.

그리고 나서 conf 파일을 저장하거나 수정 버튼을 클릭해서 변경사항을 반영한다.

그래도 안되면, 제니퍼 소프트에 전화하세요~~~~ ㅋㅋㅋ

Posted by tuning-java

오늘 같이 일하는 분이 오류를 하나 이야기해서....

IBM의 vmstat에 pc와 ec라는 수치가 추가되었나봅니다.
근데, 그 수치가 소숫점이라는 - -;
그래서 정수형만 확인하도록 한 소스를 소숫점 데이터도 확인 가능하도록 변경했습니다.

그리고 기본선택을 10초 단위로 선택되도록 변경하고,
3초 단위도 추가했습니다. ^^;

또 다른 버그가 있다면 말씀해 주세요.
(쓰는 분도 그리 많진 않겠지만...)

참고로 JDK 5.0 이상 사용가능 합니다.
Posted by tuning-java

Tomcat 5.5의 최신 버젼에서는 JConsole 모니터링이 안되도록 지정되어 있다.
이러한 문제를 해결하기 위해서,
Tomcat의 catalina.bat나 .sh 파일의 JAVA_OPTS에 다음과 같은 옵션을 추가해 주어야 한다.
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8086
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

물론 위의 옵션은 한줄에 추가해야만 한다.

Posted by tuning-java

그냥 한번 혹시나 해서 네이버에서 검색을 해봤다.
"자바 성능 튜닝"이라고....



창작동화

근데, 창작동화. - -;

누가 그랬을까?

누가 그랬을까?
Posted by tuning-java
어제 인터넷 서핑하다가 우연히 발견했습니다.

썬 테크 데이에서 여러 최신 책을 책을 50% DC된 가격으로 드립니다.

게다가 글 목록에 있는 제 책도 50%에...

벌써 50%가 될 때가 아니라서 출판사에 문의했더니,
출판사는 제가 이야기 할때 까지 몰랐답니다. - -;

아마도 자체적으로 손해보면서 제공해 주는 행사인듯 합니다.
http://sdnkorea.com/blog/666

제책 말고도 다른 책들도 싸게 드리니 기회되시면 이번에 구매하세요.
Posted by tuning-java
가끔 이 툴을 아는 분들이 써보고는,
JDK 5.0인데 안돌아간다는 분들이 계셔서요...

JDK 5.0 완전 초기 버젼으로 재컴파일 한 버젼을 올려봅니다.


이것도 안된다면, 그냥 JDK 6.0으로 사용하세요.
잘 될겁니다. ^^;

사용법은 이전 글 참조 하세요.
http://www.tuning-java.com/127


Posted by tuning-java
http://www.suntechdays2008.com/

10월 15일~17일에 썬 테크 데이즈가 잠실 롯데 호텔에서 열린다.
사전등록(9월말까지)자는 이보다 약간 싸지만,
10월에 신청한다면
참가비는 11마넌. - -;
회사 단체 5인이상은 9만 9천원
학생은 7만 7천원
이다.

금요일에 하는건 내가 갈 필요는 없을 것 같고...
목요일날 가장 마지막에 하는
"자바 성능 향상" 세션은 무조건 참석해야 겠다.

회사 어딘가에 표가 공짜로 떨어지는 팀이 있을 텐데....
어떻게 찾남???
여기 저기 찔러봐야 겠다.

그나저나 위대하신 분(GGP)께서는 별말 없이 보내주시려나 모르겠다.
그 전주가 신임 과장 교육인데...



 
시 간 내 용
07:30 ~ 09:00 참가 등록
09:00 ~ 09:10
환영 오프닝쇼
09:10 ~ 09:50
기술 데모 : 참여의 시대 내일의 기술
09:50 ~ 10:10
환영사
10:10 ~ 11:00 기조 연설
Rich Green/썬마이크로시스템즈 소프트웨어부문 수석 부사장
11:00 ~ 11:45
점심 식사 및 전시부스 방문
  자바와 클라우드
컴퓨팅
효율적인 개발을
위한 혁신
오픈솔라리스 Hands-on-Lab
(실습)
11:45 ~ 12:35 클라우드 컴퓨팅 :
기술과 사례 연구
JavaSE6U10 무엇이
달라졌나
리눅스의 미래 :
오픈솔라리스
3410 - Metro
12:45 ~ 13:35 GlassFish와
Java EE의 미래
MySQL: Web 2.0을
위한 데이터베이스
C/C++/Fortran
애플리케이션 구축
13:45 ~ 14:45 점심 식사 및 부스 방문
14:45 ~ 15:35 Comet 및 Ajax를
이용한 개발자
웹 애플리케이션
JavaFX로 RIA 쉽게
만들기
오픈솔라리스와
리눅스를 위한
애플리케이션 성능
최적화 기술
시스템 어드민
실습: ZFS를
활용한 간편한
데이터 관리
15:45 -16:45 자바 플랫폼의
신기능
Real Time Java로
예측 가능한
시스템 만들기
오픈솔라리스
개발방법 및
IPS 저장소에의
이용방법
시스템 어드민
실습: 오픈스토리지
16:55 - 17:15 휴식 및 전시 부스 방문
17:15 - 18:05 EJB 3, Spring,
SEAM
JavaFX로 쉽게
만드는 애니메이션과
미디어
오픈솔라리스 시작과
쿨 피쳐
4530 - Jmaki
18:15 - 19:05 (J)Ruby와 Rails Dtrace로 JVM 내부
들여다 보기
오픈솔라리스에서
개발부터 배포까지
19:05 - 19:05 경품 추첨

 
시 간 내 용
09:00 ~ 09:10 환영사
09:10 ~ 09:50
썬 커뮤니티 기조 연설
09:50 ~ 10:40
스폰서 기조연설
10:40 ~ 11:10
개발자 스타킹 대회 - 개발자 스타를 찾아라!
11:10 ~ 11:55
휴식 및 전시 부스 방문
  자바와 Web 2.0 Scripting and
Deployment
오픈솔라리스 Hands-on-Lab
(실습)
11:55 ~ 12:45 REST를 통한
네트워킹
자바 챔피언 세션 오픈솔라리스와
리눅스를 위한 병렬
애플리케이션의 개발
7355 - JavaFX
12:55 ~ 13:25 대화의 시간 대화의 시간 대화의 시간
13:25 ~ 14:25 점심 식사 및 전시 부스 방문
14:25 ~ 15:15 AMD 기술 세션 Java ME SDK
(CLDC with on
device debugging
etc, CDC, blu-ray)
스폰서 세션 9400 - Dtrace
15:25 -16:15 Ajax와 프레임워크 OpenESB와
기업 네트워킹
고가용과 업무
연속성을 위한
아키텍쳐
16:15 - 16:45 휴식 및 전시 부스 방문
16:45 - 17:35 Local Session OpenSSO 및
OpenID를 비롯한
웹보안 강화방안
데스크탑 및 기업을
위한 가상화 기술
ZFS & IPS HOL
17:50 - 18:40 Java 성능 향상 없어서는 안되는
Java Script
- 자바 스크립트
언어의 중요성
안전한 개발부터
배포까지
18:40 - 18:40 경품 추첨


Posted by tuning-java
http://javapathfinder.sourceforge.net/
허광남님 블로그를 통해서 알아낸 툴...
정말 deadlocks 이나 unhandled exceptions 을 알아서 분석해줄까?
나중에 시간나면 확인해 봐야겠다.
Posted by tuning-java
Blog2Book 2nd


드디어 기다리던 Blog2Book 3호점 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기의 2쇄가 나왔습니다.
2쇄가 나오면서 드릴 말씀이 많지만....
그동안 하고 싶었던 몇가지만 말씀드리겠습니다.

드리는 말씀 1
가장 먼저 드리고 싶은 이야기는 저자는 책을 내기 전에는 정신 수양을 미리 해야한다는 사실을 알았습니다. ^^;
책이 잘 팔려서 기분이 좋기는 하지만, 악평들 때문에 기분 나쁜건 어쩔 수 없더군요.

드리는 말씀 2
그래도 이 책을 내면서 기본적인 목적은 이뤘습니다.
- 적어도 2쇄 찍기
  (제 책이 나올 수 있도록 도와 주신분들에게는 2쇄가 나와야 본격적인 이득이 되기 때문에 ...)
- 검색엔진에서 "자바 성능 튜닝"을 치면 제 책이 나오게 하기
  (구글이나 네이버, 야후, 엠파스에서 한번 쳐 보시면 압니다. ^^)

드리는 말씀 3
자바 성능을 결정짓는 코딩 습관과 튜닝 이야기는 제 첫 책입니다. (번역본과 멀티 캠퍼스 교재를 제외한...)
일반 서점이나 온라인 서점에서 팔리는 그런 책은 처음 쓴 셈이죠.
제 책에 대한 좋은 평들도 많이 있습니다. 그런 글을 블로그나 온라인 서점 사이트에 올려주신 분들에게는 이 글을 통해서 정말 고맙다고 말씀 드리고 싶습니다.

드리는 말씀 4
제 책에 대한 악평을 쓰신 분들에게는 아무말도 하지 않겠습니다.
(그와 관련된 글을 몇번 썼다가, 지웠다가 했지만, 똑똑하신 여러분들의 이야기가 다 맞겠지요. ^^; 물론 제가 실수한 부분도 있긴 합니다. ㅋㅋ 2쇄에서 수정된 부분과 오타에 대해서는 조만간 정리 해서 올리겠습니다.)

드리는 말씀 5
제 책을 앞으로 사실 분들에게는 몇 마디만 말씀 드리겠습니다.
(참고로 저는 초급, 중급, 고급 개발자의 기준은 모르겠습니다만 저는 제가 고급은 안되고, 중급 정도는 된다고 생각합니다. 초보는 아니니까 ^^)
본인이 고급이라고 생각하시는 분들중 성능에 대한 정리를 하고 싶은 분만 구매하셨으면 합니다.
절대 제 책은 고급 분들을 위한 책이 아닙니다. 제가 고급이 안되기 때문에 제가 쓴 책을 고급 분들이 보시면 안돼겠지요.
이제 갓 자바를 배우고 실무를 시작하시려는 초보 분들이라던지, 어느 정도 개발 경험이 있는데 자바 성능에 대한 궁금증을 어느 정도 확인하고 싶은 분들이 제 책을 구매하시기 바랍니다.
제가 책을 쓴 이유중 하나가 이겁니다. 매번 프로젝트에 갈때마다 로그 빼라, 스트링 잘써라 등등을 반복하는 것이 너무나 힘들고 싫었습니다. 그런 내용을 쓰다보니 자바 초보 분들을 위해서 기본적인 API에 대한 설명을 넣어야 이해가 쉽겠더군요.

제 책은 웹 시스템에서의 WAS에서 성능에 영향을 주는 부분을 어떻게 코딩해야 하는지를 정리한 책입니다. WAS자체를 개발하고, 코어 부분을 튜닝하는(0.01 ms가 중요한 그런)분들이 읽어야 하는 그런 책이 아닙니다. 그런 분들은 자바 언어 스펙 (번역본이나 원서), 이펙티브 자바, 자바 퍼포먼스 튜닝(한빛에 번역서가 있습니다.)등을 읽으시면 더 도움이 많이 될것 같습니다.

긴 글 읽어 주셔서 감사합니다.

PS : 만약 "자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"의 5쇄가 나온다면,
"자바 성능을 결정짓는 코딩 습관과 튜닝 그 두번째 이야기"로 보다 심도 깊은 이야기를 할까 생각하고 있습니다. ^^;
  
Posted by tuning-java
내용 및 기획 의도 :
IBM 기반의 서버에서 WAS를 운영하거나, 자바 기반의 웹 시스템을 개발할 때 메모리 문제가 발생하면 대부분의 개발자나 서버 운영자들이 많이 난처해 합니다.
그러한 개발자분들의 고생을 조금이라도 덜어주기 위한 Dump analyzer의 설치부터 사용법을 소개함으로써,
문제를 빨리 해결하고 개발에 좀더 집중할 수 있는 기회를 제공해 드리기 위해서 이 가이드를 만들게 되었습니다.

이 가이드는 Dump Analyzer 를 다운로드 하는 방법부터 설치, 사용하는 방법까지 정리해 놓았습니다.
그리고, 음성을 녹음하기엔 좀 쑥스러워서 자막으로 처리했습니다.

첫번째 동영상은 다운로드 방법입니다.

두번째 동영상은 IBM Support Assistant 설치 방법입니다.

세번째 동영상은 덤프 분석기를 IBM Support Assistant 에 설치하는 방법 동영상입니다.
 

네번째 동영상은 덤프 분석기를 수행하는 동영상입니다.
실제 수행시키면 엄청나게 오래 수행됩니다.


마지막 동영상을 통하여 분석된 내용이 어떻게 제공되는지를  확인합니다.


참고 문서 목록 :
Java diagnostics, IBM style, Part 1: Introducing the IBM Diagnostic and Monitoring Tools for Java - Dump Analyzer
http://www.ibm.com/developerworks/java/library/j-ibmtools1/
Memory leak detection and analysis in WebSphere Application Server: Part 1: Overview of memory leaks
http://www.ibm.com/developerworks/websphere/library/techarticles/0606_poddar/0606_poddar.html
WebSphere Application Server에서의 메모리 누수 탐지와 분석: Part 2: WAS에서의 메모리 누수 탐지와 분석 (한글)
http://www.ibm.com/developerworks/kr/library/0608_poddar/0608_poddar.html
Posted by tuning-java
제목 그대로 멀캠에서 진행하기로 한 자바 성능을 거시기 과정의 강의가 취소 되었다.

휴가철에 강의를 계획한거 자체가 실수인듯 하다.

요즘 심신이 편치 않은 상태라서, 오히려 잘 된 듯 하다.

9월달에 강의해 달라고 하고는 있지만,

왜이리 귀찮지???

책이나 열심히 써야지~~~ ㅋㅋ

근데, 대전은 너무 덥다~~~
Posted by tuning-java
8월 11일부터 3일간 삼성 멀티캠퍼스에서 내 책을 교재로 하는 자바 성능 튜닝과 관련된 과정이 개설된다.
분기당 한번씩 저자 직강으로만 하기로 했는데, 이번에 해보지도 못하고 없어지는건 아닌지 모르겠다.

과정 설명은 아래 링크 참조.

http://www.multicampus.co.kr/education/course.do?method=detail&classify_code=000100100000&course_code=39775


근데, 휴가기간이라 신청한 사람이 별로 없는듯...
5명은 넘어야 과정이 개설될텐데... - -;

괜히 과정 만들자고 했나 ???

Posted by tuning-java



2008년 7월 18일 OKJsp 와 함께하는 세미나에서 발표할 자료입니다.

원본을 PDF로 변환하였습니다.

상황에 따라서 내용이 변경될 수 도 있습니다.

여기에 있는 모든 내용은 불펌하시면 안됩니다. ^^;

만약 가져가실 경우 출처를 명시해 주시기 바랍니다.

(뭐 가져가셔도 별 필요는 없겠지만.. ㅋㅋ)

컬러판은
http://www.slideshare.net/javatuning/okjsp-performance-and-java-tuningv20080702/
에서 확인하실 수 있습니다.

Posted by tuning-java

책이 나온지 거의 두달 되어가니 여러분들의 이야기들이 블로그에 올라와 있다.

좋은 리뷰도 있고, 좋지 않은 리뷰도 있네요. 모든 의견이 중요하다고 생각합니다.

단지, 이 책에서 부족하다고 생각들 하시는 튜닝의 기법이라든지, 툴에 대한 자세한 내용은 다음 책을 위해서 아껴 두었다고 너그럽게 생각해 주시면 감사하겠습니다.

이 책을 사려는 분들이나, 다양한 의견을 공유하시려는 분들은 아래의 링크를 클릭해 보시면 됩니다. ^^;

<<<<< Yes24 사이트의 주옥같은 리뷰들 보기 >>>>>

최종 update date : 2008. 05. 10.

Posted by tuning-java

WebLogic Server Performance and Tuning
Weblogic의 성능 관련 세팅과 관련된 정보가 포함되어 있다.
http://edocs.bea.com/wls/docs92/perform/intro.html

참고로 Weblogic 8.X 이상에서 Thread 설정은 다음과 같이 한다.

Weblogic 콘솔에 로그인(보통 http://url/console 로 접근하면됨.)
-> domain 명에서 servers 를 확장후 해당 서버이름을 선택
-> Configuration 의 General tab 선택 -> 화면의 하단에 있는 Advanced의 show를 선택
-> 가장 하단의 Configure Execute Queues 를 선택
하면 Thread 관련 설정 화면으로 이동된다.

혹시 모르실 수도 있으니, DB Connection 관련 설정은 다음과 같이 한다.

Weblogic 콘솔에 로그인
-> Services 의 JDBC의 Connection Pools 에서 설정. (관련 설정이 없으면 새로 맹근다. ㅋㅋ)

Posted by tuning-java

참고로 이 설명은 [Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기] 책을 읽는 독자분들이 부록으로 제공되는 DevPartner for Java를 보다 쉽게 사용할 수 있도록 작성되었으며, 설치시 14일간 기능의 제한이 없는 임시 라이센스가 생성됩니다.

DevPartner 서버 (실제론 톰캣 서버다.)가 제대로 기동되고 있는 상황에서(DevPartner 관리 페이지가 뜨는 상황에서) 프로파일링이 가능하다.

시작하기 전에 앞서 알려드렸던 윈도우즈 서비스 목록에 관련 서비스가 시작되어 있는지 확인하는 것이 좋다.

프로파일링 하는 방법은 크게 두가지 인데, 한가지는 Administrator 툴에서 WAS관련 값을 지정하는 방법이다. 한번 지정하면 다음부터는 클릭만으로 서버를 띄울수 있어 편리하다. 하지만 난 이 기능을 안쓴다. 한 사이트에 가서 있어 봤자 며칠 안되기 때문에...

다른 방법은 nmshell을 사용하는 방법이다. nmshell은 윈도우나 Unix의 커맨드 창에서 이 명령어를 수행하면 이름 그대로 하나의 가상 shell이 추가된다.
(기본적으로 DevPartner를 깔면 nmshell이 있는 DevPartner의 bin 디렉토리가 "Path"에 잡히기 때문에 그냥 아무데서나 실행하면 된다.)
그냥(아무 옵션 없이) nmshell을 수행하면 다음과 같은 결과가 나온다.

C:\Program Files\Compuware\DevPartner Java Edition\bin>nmshell
DevPartner Java Edition Utility that profiles arbitrary commands

  Usage:

      nmshell [DPJ Options] -config <name>
          Launches a new shell from which all Sun(R) Java(tm) apps
          will be profiled by DPJ

      nmshell [DPJ Options] -config <name> -exec <command> [<param>...]
          Runs <command> with specified params under DPJ profiling

  DPJ Options:

      -config <name>    Run under configuration named 'name'
      -perf     Profile CPU performance (default)
      -mem      Profile memory usage
      -cov      Profile code coverage
      -batch    Run in batch mode (do not bring up DPJ UI)
      -nmv      Verbose operation
      -help     Displays this text

C:\Program Files\Compuware\DevPartner Java Edition\bin>

보면 알겠지만, -perf 옵션을 주면 성능 프로파일링을, -mem 옵션을 주면 메모리 프로파일링을, -cov 옵션을 주면 커버리지 프로파일링을 한다. 그리고 가장 중요한 것은 -config를 하고 나서 이름을 지정하는 것이다. 여기서의 이름은 DevPartner 의 UI에서 만든 config 이름이다. (이 config에 대해서는 나중에 시간나면 자세히 설명을 올려놓겠다.)

WAS를 띄우기 전에 다음과 같이 수행을 한다.

nmshell -config Test -perf

이렇게 지정을 하면 성능 측정을 하고 "Test"라고 지정되어 있는 config 조건에 맞는 성능 측정을 한다는 의미가 된다.

그럼 화면이 떴을때 부터 하는 일은 다음에 정리하겠다.

Posted by tuning-java



Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 책에 있는 소스 코드들이다.

혹시 잘못된 부분이 있으면 이야기해 주세요.

수정해서 올리겠습니다.

modified 2008.10.15. Because of StopWatch's Bug
Posted by tuning-java

참고로 이 설명은 [Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기] 책을 읽는 독자분들이 부록으로 제공되는 DevPartner for Java를 보다 쉽게 사용할 수 있도록 작성되었으며, 설치시 14일간 기능의 제한이 없는 임시 라이센스가 생성됩니다.


DevPartner의 화면에 대한 간단한 설명을 해 보고자 한다.
먼저 Welcome 화면이다.

그냥 별 내용은 없는데, 오른쪽에 Java Platform Performance 라는 링크를 누르면 자바의 성능에 대한 관련 책이 링크로 제공된다.

(인터넷이 되는 곳에서만 확인할 수 있다.
다음은 Application Testing 화면이다.

이 화면에서는 WAS 기반의 시스템이 아닌 단독 자바 애플리케이션을 테스트 할 때 사용된다.

이 화면을 사용하기 위해서는 DevPartner의 프로그램 그룹에 있는 Utility의 Administration 이라는 프로그램을 사용해야만 하는데, 나는 설정하기 귀찮아서 이 기능을 사용하지 않는다.

이번 화면은 Application Server Testing 화면이다.

관련 내용은 Application Testing 과 비슷하기 때문에 생략 하겠다.

이제부터 중요한 화면이다.

위의 화면은 Session Files 라는 화면인데, drop down 메뉴에 기본적으로 Default라고 나타날 것이다.
만약 여러분이 config를 다른 이름으로 지정한다면 그 이름도 여기에 나타날 것이다.
config 지정하는 것은 "WAS 모니터링 시작하기"편을 통해서 확인해 보기 바란다.

다음은 현재 프로파일링 중인 어플리케이션 세션의 목록을 보는 화면이다.

여기의 목록에서 프로파일링 중인 대상을 더블 클릭하면, 데이터를 수집할 수 있는 화면으로 이동한다.

마지막 화면은 설정하는 화면인데, 가장 중요한 화면중 하나이다.

이 내용은 영어를 읽으면서 하나 하나 설정해 보면 되는데, 만약 자세한 설명이 필요하다는 분들이 많다면,

자세한 설명을 나중에 추가하도록 하겠다.

Posted by tuning-java

프로파일링 툴을 사용할때,

프로파일한 결과파일의 명명규칙을 정하지 않으면,
나중에 결과정리할 때 곤혹을 치루게 된다.(다 열어봐야 하니까...)

그래서 아래와 같이 하시면 편리하고,
되도록이면 이 표준을 사용하는게 나을듯....

예) DevPartner사용시
01_Login_2nd_10Time.tts

가장 앞의 01은 프로파일한 순서 Login이 아닌 다른 menu를 선택하면 02가 된다.

그리고, 두번째는 해당 업무 명,
세번째는 해당 업무를 프로파일한 횟수(첫번째한건지, 두번째 한건지...)
마지막 10Time은 해당 화면을 10번 클릭한 것을 명시한 것이다.
이렇게 하면 파일명으로 sorting해도 나중에 보기 편리하다.
작업할때는 보통 Date로 sorting해서 작업하면 된다.(필요없는 파일을 삭제하기 위해서.)

Posted by tuning-java

http://www.ibm.com/developerworks/kr/library/j-jtp09275.html

IBM에서 작성한 성능과 관련된 문서.

Java의 성능과 관련된 내부 구성이 어떻게 되는지를 확인할 수 있는 좋은 문서

이 사이트는 한글로 구성되어 있기 때문에,

영어 울렁증이 있는 분들에게도 많은 도움이 될 것이다.

Posted by tuning-java



Java Performance Tuning 웹 사이트 http://www.hp.com/dspp에 가서
“Performance Tuning Java”검색

Java 관련 hp 제품 http://www.hp.com/go/java

Posted by tuning-java
 
이 링크 따라 가면 Sun에서 발표한 자료들과
 
고민하고 있는 내용들을 알 수 있음.
Posted by tuning-java
Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기가 출간되면서 새롭게 시작되는 블로깅.

사용자 삽입 이미지


Posted by tuning-java