-
-startup
-
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
-
--launcher.library
-
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-
-product
-
org.eclipse.epp.package.jee.product
-
-vm
-
C:\Program Files\Java\jdk1.6.0_27\bin\javaw.exe
-
--launcher.defaultAction
-
openFile
-
--launcher.XXMaxPermSize
-
256M
-
-showsplash
-
org.eclipse.platform
-
--launcher.XXMaxPermSize
-
256m
-
--launcher.defaultAction
-
openFile
-
-vmargs
-
-Dosgi.requiredJavaVersion=1.5
-
-Xms40m
-
-Xmx512m
Eclipse + SVN PluginEclipse + SVN Plugin
Posted at 2012/03/29 02:05 | Posted in IDE/Eclipsehttp://www.eclipse.org/subversive/index.php
Help - Install New Software
http://download.eclipse.org/technology/subversive/0.7/update-site/
아래 그림 처럼 3개를 선택합니다.
Subversive Revision Graph는 버전 히스토리를 그림으로 쉽게 볼 수 있습니다.
Next
라이센스 동의하고 Finish
설치중...
이클립스 재시작...
재시작 후 커넥터 플러그인을 설치하라고 합니다.
Next
Next
라이센스 동의 후 Finish
설치중...
검증되지 않은 소프트웨어가 설치된다는 경고인듯? OK -_-
다시 재시작합니다.
Perspective 를 추가합니다.
SVN Repository Exploring 을 선택합니다.
이제 여기에서 SVN 등록하고 사용할 수 있습니다.
'IDE > Eclipse' 카테고리의 다른 글
| Eclipse + SVN Plugin (0) | 2012/03/29 |
|---|---|
| Maven Integration for Eclipse (0) | 2012/02/20 |
| Eclipse + TPTP Remote (0) | 2012/01/20 |
| Eclipse + TPTP (Eclipse Test & Performance Tools Platform) (0) | 2012/01/01 |
| Eclipse + MyBatis Generator (0) | 2011/07/04 |
| installation Oracle Enterprise Pack for Eclipse (2) | 2011/05/22 |
| Eclipse + STS (SpringSource Tool Suite) (1) | 2011/01/16 |
| Eclipse Plugins for JBoss technology (1) | 2011/01/11 |
| Properties Editor (1) | 2009/11/17 |
| UTF-8 설정 (0) | 2009/11/16 |
Maven Integration for EclipseMaven Integration for Eclipse
Posted at 2012/02/20 03:30 | Posted in IDE/Eclipse아직까지도 불편하기만 하지만.. 쩝..
http://eclipse.org/m2e/
Eclipse Indigo(3.7)와 JDK 1.6 으로 설치 해보겠습니다.
아래 두개의 사이트에서 업데이르를 받습니다.
Maven Integration for Eclipse Update Site : http://m2eclipse.sonatype.org/sites/m2e/
Maven Integration for Eclipse Extras Update Site : http://m2eclipse.sonatype.org/sites/m2e-extras/
Maven Intergration for Eclipse WTP 플러그인이 웹 어플을 만들 수 있게 해주는 플러그인 입니다.
플러그인이 둘 다 설치되면 이클립스를 재시작 합니다.
이제 이클립스에서 메이븐 프로젝트를 생성할 수 있습니다.
위와 같은 경고 메세지가 보이면 eclipse.ini 파일에 jdk 위치를 직접 지정합니다.
(경로는 각자 다르니 알아서.. -_-+)
이제 웹프로젝트를 만들어서 테스트 해봅시다~
File - New - Other... (Ctrl + N)
Maven Porject 를 선택합니다.
그냥 Next 클릭.
"maven-archetype-webapp" Archetype 을 선택합니다.
Group Id 와 Artifact Id(프로젝트명)를 적습니다.
아래와 같이 프로젝트가 만들어졌습니다.
평소 이클립스에서 하듯이 서버에 배치하고 실행해보면 페이지가 나오는 것을 확인할 수 있습니다.
JDK 버전 맞추기
그나마 우리가 쓰던대로 하려면 아주 조금 더 설정을 해줘야합니다. -_-;;;
만약 JDK 1.6 이상을 쓴다면 아래와 같이 경고가 나는 것을 확인할 수 있습니다.
Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment. first-maven Build path JRE System Library Problem
메이븐 프로젝트는 기본적으로 Java 1.5를 사용하게 설정되어 있네요.
프로젝트에서 마우스 오른쪽 버튼 클릭 - Properties (Alt + Enter) 선택해서 프로젝트 설정으로 들어갑니다.
Java 를 1.6 으로 변경합니다.
Project Explorer 정렬 문제
프로젝트 생성 후에 작업을 하다보면 웹 파일쪽의 뭔가 이상합니다. -_-;;
폴더 a-z , 파일 a-z 였던 정렬이 뒤엉켜 버립니다. ㅠ_ㅠ
그나마 쓸 수 있는 방법은 아래와 같습니다.
Project Explorer 오른쪽의 View Menu(아래쪽 세모)를 클릭 - Customize View 선택.
JavaScript Elements, Web Resources, Resources 를 체크 해제합니다.
이제는 제대로 보이네요 ㅎㅎ
Java Resource 설정
이제 자바 파일을 생성해 보겠습니다.
근데 이상하게 나옵니다 -_-;; 그냥 파일로 인식이 되네요...
수정해봅시다. ㅠㅠ
프로젝트 설정으로 갑니다.
Java Build Path 부분에서 Source 탭으로 이동합니다.
기존에 있던 폴더를 삭제 후 다시 폴더를 추가합니다.
src/main/reources 를 선택합니다.
OK 버튼을 클릭합니다.
이제야 제대로 보이네요 ㅎㅎㅎ
메이븐을 사용하는 가장 큰 이유인 pom.xml 을 이용한 라이브러리 자동 세팅(?)을 이용하기 m2eclipse 플러그인을 설치했습니다.
한발치 떨어져서 보면 열라 좋아 보이지만 막상 쓸려고하니까 기존 Dynamic Web Project 에 익숙해져서 인지 불편하네요..
그나마 두번째 플러그인(WTP를 위한 플러그인)이 없었을 때는 더 불편했었죠... ㅠㅠ
설치 후에 버그(?)들 쉽게 해결할 수 있는 방법 아시는분~
'IDE > Eclipse' 카테고리의 다른 글
| Eclipse + SVN Plugin (0) | 2012/03/29 |
|---|---|
| Maven Integration for Eclipse (0) | 2012/02/20 |
| Eclipse + TPTP Remote (0) | 2012/01/20 |
| Eclipse + TPTP (Eclipse Test & Performance Tools Platform) (0) | 2012/01/01 |
| Eclipse + MyBatis Generator (0) | 2011/07/04 |
| installation Oracle Enterprise Pack for Eclipse (2) | 2011/05/22 |
| Eclipse + STS (SpringSource Tool Suite) (1) | 2011/01/16 |
| Eclipse Plugins for JBoss technology (1) | 2011/01/11 |
| Properties Editor (1) | 2009/11/17 |
| UTF-8 설정 (0) | 2009/11/16 |
Postgresql PartitioningPostgresql Partitioning
Posted at 2012/01/22 17:23 | Posted in Databasehttp://www.postgresql.org/docs/8.4/static/ddl-partitioning.html
Create Partition Table
먼저 파티션 테이블을 적용할 마스터 테이블을 하나 만듭니다.
-
-- drop table log cascade;
-
-
-- master table
-
create table log (
-
-- uuid
-
log_uuid UUID not null default uuid_generate_v4(),
-
-- 인증 아이디
-
athn_id text not null,
-
-- 서비스명
-
svc_nm text not null,
-
-- 오퍼레이션명
-
oprt_nm text not null,
-
-- 요청일시
-
log_rqst_dt timestamp not null,
-
-- 응답일시
-
log_rply_dt timestamp not null,
-
-- 상태 코드
-
log_stat_cd text not null,
-
-- 등록일시
-
log_crtn_dt timestamp not null
-
);
이제 데이터를 월 단위로 나눠서 담게될 파티션 테이블 12개를 만들어줍니다.
-
-- partition table
-
create table log_m01 (
-
check (date_part('month', log_rqst_dt) = 1)
-
) inherits (log);
-
-
create table log_m02 (
-
check (date_part('month', log_rqst_dt) = 2)
-
) inherits (log);
-
-
create table log_m03 (
-
check (date_part('month', log_rqst_dt) = 3)
-
) inherits (log);
-
-
create table log_m04 (
-
check (date_part('month', log_rqst_dt) = 4)
-
) inherits (log);
-
-
create table log_m05 (
-
check (date_part('month', log_rqst_dt) = 5)
-
) inherits (log);
-
-
create table log_m06 (
-
check (date_part('month', log_rqst_dt) = 6)
-
) inherits (log);
-
-
create table log_m07 (
-
check (date_part('month', log_rqst_dt) = 7)
-
) inherits (log);
-
-
create table log_m08 (
-
check (date_part('month', log_rqst_dt) = 8)
-
) inherits (log);
-
-
create table log_m09 (
-
check (date_part('month', log_rqst_dt) = 9)
-
) inherits (log);
-
-
create table log_m10 (
-
check (date_part('month', log_rqst_dt) = 10)
-
) inherits (log);
-
-
create table log_m11 (
-
check (date_part('month', log_rqst_dt) = 11)
-
) inherits (log);
-
-
create table log_m12 (
-
check (date_part('month', log_rqst_dt) = 12)
-
) inherits (log);
기본키를 생성합니다.
-
-- create primary key
-
alter table log add constraint log_pk primary key (log_uuid);
-
alter table log_m01 add constraint log_m01_pk primary key (log_uuid);
-
alter table log_m02 add constraint log_m02_pk primary key (log_uuid);
-
alter table log_m03 add constraint log_m03_pk primary key (log_uuid);
-
alter table log_m04 add constraint log_m04_pk primary key (log_uuid);
-
alter table log_m05 add constraint log_m05_pk primary key (log_uuid);
-
alter table log_m06 add constraint log_m06_pk primary key (log_uuid);
-
alter table log_m07 add constraint log_m07_pk primary key (log_uuid);
-
alter table log_m08 add constraint log_m08_pk primary key (log_uuid);
-
alter table log_m09 add constraint log_m09_pk primary key (log_uuid);
-
alter table log_m10 add constraint log_m10_pk primary key (log_uuid);
-
alter table log_m11 add constraint log_m11_pk primary key (log_uuid);
-
alter table log_m12 add constraint log_m12_pk primary key (log_uuid);
인덱스를 생성합니다. 마스터 테이블은 인덱스를 생성하지 않습니다.
-
-- create index
-
create index log_m01_athn_id_idx on log_m01 (athn_id);
-
create index log_m01_svc_nm on log_m01 (svc_nm);
-
create index log_m01_oprt_nm on log_m01 (oprt_nm);
-
-
create index log_m02_athn_id_idx on log_m02 (athn_id);
-
create index log_m02_svc_nm on log_m02 (svc_nm);
-
create index log_m02_oprt_nm on log_m02 (oprt_nm);
-
-
create index log_m03_athn_id_idx on log_m03 (athn_id);
-
create index log_m03_svc_nm on log_m03 (svc_nm);
-
create index log_m03_oprt_nm on log_m03 (oprt_nm);
-
-
create index log_m04_athn_id_idx on log_m04 (athn_id);
-
create index log_m04_svc_nm on log_m04 (svc_nm);
-
create index log_m04_oprt_nm on log_m04 (oprt_nm);
-
-
create index log_m05_athn_id_idx on log_m05 (athn_id);
-
create index log_m05_svc_nm on log_m05 (svc_nm);
-
create index log_m05_oprt_nm on log_m05 (oprt_nm);
-
-
create index log_m06_athn_id_idx on log_m06 (athn_id);
-
create index log_m06_svc_nm on log_m06 (svc_nm);
-
create index log_m06_oprt_nm on log_m06 (oprt_nm);
-
-
create index log_m07_athn_id_idx on log_m07 (athn_id);
-
create index log_m07_svc_nm on log_m07 (svc_nm);
-
create index log_m07_oprt_nm on log_m07 (oprt_nm);
-
-
create index log_m08_athn_id_idx on log_m08 (athn_id);
-
create index log_m08_svc_nm on log_m08 (svc_nm);
-
create index log_m08_oprt_nm on log_m08 (oprt_nm);
-
-
create index log_m09_athn_id_idx on log_m09 (athn_id);
-
create index log_m09_svc_nm on log_m09 (svc_nm);
-
create index log_m09_oprt_nm on log_m09 (oprt_nm);
-
-
create index log_m10_athn_id_idx on log_m10 (athn_id);
-
create index log_m10_svc_nm on log_m10 (svc_nm);
-
create index log_m10_oprt_nm on log_m10 (oprt_nm);
-
-
create index log_m11_athn_id_idx on log_m11 (athn_id);
-
create index log_m11_svc_nm on log_m11 (svc_nm);
-
create index log_m11_oprt_nm on log_m11 (oprt_nm);
-
-
create index log_m12_athn_id_idx on log_m12 (athn_id);
-
create index log_m12_svc_nm on log_m12 (svc_nm);
-
create index log_m12_oprt_nm on log_m12 (oprt_nm);
마스터 테이블에 인서트가 될 때 각 파티션 테이블로 데이터를 인서트할 트리거를 만듭니다.
룰(RULE), 트리거(TRIGGER) 두가지 방법이 있는데 전 트리거를 사용하겠습니다.
-
create language plpgsql;
-
-
create or replace function log_insert_trigger()
-
returns trigger as $$
-
begin
-
if ( date_part('month', new.log_rqst_dt) = 1 ) then
-
insert into log_m01 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 2 ) then
-
insert into log_m02 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 3 ) then
-
insert into log_m03 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 4 ) then
-
insert into log_m04 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 5 ) then
-
insert into log_m05 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 6 ) then
-
insert into log_m06 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 7 ) then
-
insert into log_m07 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 8 ) then
-
insert into log_m08 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 9 ) then
-
insert into log_m09 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 10 ) then
-
insert into log_m10 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 11 ) then
-
insert into log_m11 values (new.*);
-
elsif ( date_part('month', new.log_rqst_dt) = 12 ) then
-
insert into log_m12 values (new.*);
-
else
-
raise exception 'month out of range. fix the log_insert_trigger() function!';
-
end if;
-
-
-- return null
-
return null;
-
end;
-
$$
-
language plpgsql;
-
-
-- log 마스터 테이블에 트리거 적용
-
create trigger log_insert_trigger
-
before insert on log
-
for each row execute procedure log_insert_trigger();
Select Partition Table
이제 파티션 테이블은 다 만들었습니다.
이렇게 만들어진 파티션 테이블을 관리용(월 단위 삭제라든가..)으로 사용할땐 상관이 없지만, 조회(select)시에 그냥 하면 파티션을 제대로 이용하지 못합니다.
파티션을 만들 때 CHECK 구문에 들어갔던 조건절이 반드시 들어가야 합니다.
이게 뭔 소리냐 하면...
-
select
-
count(*)
-
from
-
log
-
where
-
log_rqst_dt between date '2011-04-11' and date '2011-05-02'
파티션의 기준이 됐던 "log_rqst_dt" 컬럼의 범위로 검색을 했씁니다.
어떻게 검색이 되는지 보면 아래와 같습니다..
월단위로 나눠서 저장했던 12개의 테이블을 다 스캔하게 됩니다. ㅠ_ㅠ
log_m04, log_m05 테이블만 조회 해야 하지요....
아래와 같이 파티션 테이블 만들때의 CHECK 조건을 명시해줘야 합니다.
-
select
-
count(*)
-
from
-
log
-
where
-
log_rqst_dt between date '2011-04-11' and date '2011-05-02'
-
and date_part('month', log_rqst_dt) in (4,5)
7번 라인처럼 하면 두개의 테이블만 스캔합니다.
이번에는 인덱스로 지정한 컬럼으로 검색 해봅시다.
-
select
-
count(*)
-
from
-
log
-
where
-
date_part('month', log_rqst_dt) in (1,2,3)
-
and athn_id = 'athn_02'
-
and log_rqst_dt between date '2011-01-01' and date '2011-03-02'
마찬가지로 파티션을 검색에 적용하려면 조건을 넣어줘야 합니다.
물론 날짜 범위 검색이 필수가 아니게 되면 12개 테이블을 전부 스캔하게 되니 주의!!!
'Database' 카테고리의 다른 글
| Postgresql Partitioning (0) | 2012/01/22 |
|---|
Eclipse + TPTP RemoteEclipse + TPTP Remote
Posted at 2012/01/20 21:23 | Posted in IDE/EclipseUbuntu 11.04 32bit 에서 테스트 하겠습니다.
Linux nerv.kr 2.6.38-8-generic-pae #42-Ubuntu SMP Mon Apr 11 05:17:09 UTC 2011 i686 i686 i386 GNU/Linux
http://dev.eclipse.org/viewcvs/viewvc.cgi/platform/org.eclipse.tptp.platform.agentcontroller/src-native-new/packaging_md/linux/getting_started.html?root=TPTP_Project&view=co
Setting Up Agent Controller
서버에 심어둘 Agent Controller(AC)를 다운로드 합니다.
http://www.eclipse.org/tptp/home/downloads/
다운로드 받아서 압축을 풉니다. (전 "opt/tptpAC" 에 풀었습니다.)
bin 디렉토리의 SetConfig.sh 스크립트를 한번 실행해줍니다.
1. JVM 위치 : 디폴트 값이 맞다면 그냥 엔터로 넘기시면 됩니다.
2. 네트워크 엑세스 : ALL
3. 보안 사용 : 패스
Specify the fully qualified path of "java" (e.g. /usr/java1.4/jre/bin/java):
Default>"/usr/lib/jvm/java-6-sun-1.6.0.26/jre/bin/java" (Press <ENTER> to accept the default value)
New value>/usr/lib/jvm/java-6-sun/bin/java
Network access mode (ALL=allow any host, LOCAL=allow only this host, CUSTOM=list of hosts):
Default>"LOCAL" (Press <ENTER> to accept the default value)
New value>ALL
Security enabled. (true/false):
Default>"FALSE" (Press <ENTER> to accept the default value)
New value>
/opt/tptpAC/bin#
Agent Controller Server 를 실행합니다. (끄는건 ACStop.sh)
Starting Agent Controller.
ACServer started successfully.
Checking Agent Controller Installation
한번 테스트 해봅시다.
Connected to the Agent Controller on "localhost" at port number 10006
The Time Collector Agent ID: 103
Established a data channel with the agent.
Sending 5 Hello messages over data channel to TimeCollector ...
Start the TimeCollector ...
Incoming data: Hello from Time Collector Agent - Count 0
Incoming data: Hello from Time Collector Agent - Count 1
Incoming data: Hello from Time Collector Agent - Count 2
Incoming data: Hello from Time Collector Agent - Count 3
Incoming data: Hello from Time Collector Agent - Count 4
Incoming data: Hello from Time Collector Agent - Count 5
Stop the TimeCollector ...
Incoming data: Hello from Time Collector Agent - Count 6
Incoming data: Hello from Time Collector Agent - Count 7
Incoming data: Hello from Time Collector Agent - Count 8
Incoming data: Hello from Time Collector Agent - Count 9
All finished
Press enter key to exit...
/opt/tptpAC/bin#
포트가 열려 있는지 확인 해봅시다.
tcp6 0 0 :::10002 :::* LISTEN
tcp6 0 0 ***.***.***.***:10002 ***.***.***.***:50412 ESTABLISHED
# netstat -n -a | grep 10005
tcp6 0 0 :::10005 :::* LISTEN
# netstat -n -a | grep 10006
tcp6 0 0 :::10006 :::* LISTEN
tcp6 0 0 ***.***.***.***:10006 ***.***.***.***:50414 ESTABLISHED
Profiling a Java Application
이제 톰켓을 프로파일링 모드로 구동시켜 봅시다.
시작 스크립트 부분에 아래와 같이 환경변수를 세팅해 줍니다.
export TEMP="/tmp"
export TMP="/tmp"
export TPTP_AC_HOME="/opt/tptpAC"
export JAVA_PROFILER_HOME="${TPTP_AC_HOME}/plugins/org.eclipse.tptp.javaprofiler"
export PATH="${JAVA_PROFILER_HOME}:${TPTP_AC_HOME}/bin:${PATH}"
export LD_LIBRARY_PATH="${JAVA_PROFILER_HOME}:${TPTP_AC_HOME}/lib:${LD_LIBRARY_PATH}"
그리고 자바 옵션에 아래와 같이 추가합니다.
프로파일링의 종류는 3가지가 있습니다.
- CGProf : Execution time analysis.
- HeapProf : Object allocation/heap analysis.
- Thread : Thread analysis.
저의 구동 스크립트는 CATALINA_OPTS 변수를 사용하더군요 ㅎㅎ
※ 만약 JPIAgent 를 찾을 수 없다거나 에러가 난다면 앞뒤로 '(쿼터)를 추가해 봅시다.
OS 종류에 따라 좀 틀려서.. ㅠ_ㅠ
옵션이 제대로 박혀 들어가 있는지도 확인 해봅시다.
tomcat6 5899 1 2 20:12 ? 00:01:15 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx512m -agentlib:JPIBootLoader=JPIAgent:server=enabled;HeapProf -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp org.apache.catalina.startup.Bootstrap start
이제 이클립스에서 원격으로 붙어서 상태를 확인 해봅시다.
물론 TPTP 플러그인은 깔려 있어야 합니다. ^^;;
Run - Profile Configurations...
Attach to Agent 를 추가하고 원격으로 볼 주소를 Default Hosts 에 추가합니다.
Agents 탭에 보면 떠있는 프로파일링이 보입니다. (바로 안보이면 Refresh 버튼 한번 클릭!)
선택 후 "Profile" 버튼을 클릭합니다.
"Profiling and Logging" 퍼스펙티브로 이동해서 보면 "Profiling Monitor" 탭에 등록한 호스트가 보일겁니다.
더블클릭해서 보면 프로파일링 결과가 나옵니다. ㅎㅎ
생각보다는 어렵지 않네요...
'IDE > Eclipse' 카테고리의 다른 글
| Eclipse + SVN Plugin (0) | 2012/03/29 |
|---|---|
| Maven Integration for Eclipse (0) | 2012/02/20 |
| Eclipse + TPTP Remote (0) | 2012/01/20 |
| Eclipse + TPTP (Eclipse Test & Performance Tools Platform) (0) | 2012/01/01 |
| Eclipse + MyBatis Generator (0) | 2011/07/04 |
| installation Oracle Enterprise Pack for Eclipse (2) | 2011/05/22 |
| Eclipse + STS (SpringSource Tool Suite) (1) | 2011/01/16 |
| Eclipse Plugins for JBoss technology (1) | 2011/01/11 |
| Properties Editor (1) | 2009/11/17 |
| UTF-8 설정 (0) | 2009/11/16 |
Eclipse + TPTP (Eclipse Test & Performance Tools Platform)Eclipse + TPTP (Eclipse Test & Performance Tools Platform)
Posted at 2012/01/01 21:00 | Posted in IDE/Eclipse프로파일링 툴중 하나로 TPTP 라는 것이 있길래 이것저것 해보았습니다. ^^;;
TPTP 를 이용하여 웹어플(Web Application)을 프로파일링 해보겠습니다!
http://www.eclipse.org/tptp/
http://www.eclipse.org/tptp/home/documents/tutorials/profileOnServer/TPTP-WTP.html
Eclipse 3.6 (Helios) SR2 에서 진행합니다.
Installing TPTP prerequisites
TPTP 설치 전에 필요로 하는 플러그인들이 있습니다.
1. WTP (Web Tools Platform) - http://eclipse.org/webtools/
이클립스를 J2EE 버전으로 설치했다면 포함되어 있습니다.
2. EMF (Eclipse Modeling Framework) - http://www.eclipse.org/modeling/emf/
3. GEF (Graphical Editing Frame work) - http://www.eclipse.org/gef/
Installing TPTP
이클립스를 이용하여 다운로드 하면 다운로드 진행이 안되서 전 플러그인을 다운로드 받아서 설치했습니다.
4.7.2 - http://www.eclipse.org/downloads/download.php?file=/tptp/4.7.2/TPTP-4.7.2/tptp.sdk-TPTP-4.7.2.zip
Downloading and installing the Agent Controller
TPTP 를 사용하기 위해선 AC(Agent Controller)라는 것을 심어놔야 하는데 로컬 서버는 필요 없습니다.
Setting up a Server
그냥 톰켓 7.0 으로 테스트 하겠습니다.
Profile a Server
이제 준비는 끝났습니다.
서버(WAS)를 시작할 때 프로파일 모드(?)로 실행하면 됩니다.
아래와 같이 팝업이 뜹니다.
실행시간(Execuion Time), 메모리(Memory), 쓰래드(Thread)를 분석Analysis할 수 있습니다.
3개중 하나를 선택 하고 "Finish" 버튼을 클릭 하면 WAS 가 기동됩니다.
기동된 후 아래와 같이 창이 뜹니다.
퍼스펙티브(Perspective)를 변경할 거냐고 물어보는데 어차피 상세내역을 보려면 변경해서 봐야하므로 아무거나 선택 ^^;;
웹어플을 이것저것 테스트한 후에 "Profilling Monitor" 뷰에서 더블클릭 하거나 "Profiling and Logging" 퍼스펙티브를 선택하여 이동합니다.
그러면 아래와 같이 각 메소드마다 처리 시간을 볼 수 있네요~
나머지 두가지(메모리, 쓰래드)는 각자 해보시면 되겠습니다. -_-;;
오른쪽 상단의 아이콘이나 컨텍스트 메뉴를 이용하면 이런저런 기능들이 많네요~
자기 로컬에서 하는 것은개발할 때 잠깐 켜놓는 것이기 때문에 아주 눈에 띄게 잘못된 부분이 아니면 찾아내기는 힘들 것 같습니다.
통합테스트나 할 때 개발(운영) 서버에 띄워놓고 장기간 관찰해야 진짜로 효과가 있을듯 합니다.
이제 원격지에 AC(Agent Controller)를 심어놓고 하는 방법을 공부해봐야 겠습니다. ㅠ_ㅠ
'IDE > Eclipse' 카테고리의 다른 글
| Eclipse + SVN Plugin (0) | 2012/03/29 |
|---|---|
| Maven Integration for Eclipse (0) | 2012/02/20 |
| Eclipse + TPTP Remote (0) | 2012/01/20 |
| Eclipse + TPTP (Eclipse Test & Performance Tools Platform) (0) | 2012/01/01 |
| Eclipse + MyBatis Generator (0) | 2011/07/04 |
| installation Oracle Enterprise Pack for Eclipse (2) | 2011/05/22 |
| Eclipse + STS (SpringSource Tool Suite) (1) | 2011/01/16 |
| Eclipse Plugins for JBoss technology (1) | 2011/01/11 |
| Properties Editor (1) | 2009/11/17 |
| UTF-8 설정 (0) | 2009/11/16 |
http://antop.tistory.com/trackback/135
- Eclipse TPTP setup // 그런지's Ltd. 2012/03/12 15:54 [Delete]
