Where The Streets Have No Name

WebtoB / JEUS 간단 운영법 본문

Developement/Java

WebtoB / JEUS 간단 운영법

highheat 2006. 4. 13. 15:34
WebtoB / JEUS 간단 운영법
===================================================
WebtoB 설치 디렉토리 : /user2/handyr5/webtob
       환경설정파일 : /user2/handyr5/webtob/config/http.m
JEUS 설치 디렉토리   : /user2/handyr5/jeus
  JEUS 환경설정파일 : /user2/handyr5/jeus/config/incheon/JEUSMain.xml (엔진구성 설정)
                      /user2/handyr5/jeus/config/incheon/incheon_servlet_engineX/WEBMain.xml (서블릿 엔진 설정)


WebtoB 기동 : $ wsboot
WebtoB 종료 : $ wsdown  (wsdown -i)
* WebtoB는 80포트로 기동되므로 반드시 root로 기동/종료 하여야 한다(현재 8090포트).

JEUS 기동   : $ jboot
JEUS 종료   : $ jdown
* JEUS는 반드시 handyr5로 기동/종료 하여야 한다.



**** 모니터링 ****

WebtoB(Web Server)
-------------------------------------------
$ wsadmin
> ci -s         동시 접속자 수(browser)
Total Connected Clients = 357
 
> st -s         서비스 상태(수행속도, 요청횟수, 큐잉 등..)
 
 
 
JEUS(WAS)
-------------------------------------------
* jeusadmin
$ jeusadmin hostname -Uadministrator -Pjeusadmin
형식 : jeusadmin 호스트명 -U<계정> -P<암호>
 
handy1>pidlist              pid 조회
handy1_container1 : 13722
 

* webadmin
$ webadmin hostname_servlet_engine1 -U administrator -P jeusadmin
> st            엔진 상태
< memory information >
VM Total Memory    = 535691264 Bytes
VM Free Memory     = 460284912 Bytes


> ti            thread info
-- Thread State [MyGroup-hth1(112.100.10.2:19901)] --
[MyGroup-hth1(112.100.10.2:19901)-w0][waiting, wt=2482 ms]
[MyGroup-hth1(112.100.10.2:19901)-w1][active , rt=28322 ms, uri=/servlet/HIServlet]
[MyGroup-hth1(112.100.10.2:19901)-w2][waiting, wt=2128 ms]
....
   wt : waiting time(ms)
   rt : running time(ms)
   uri : 요청 url


로그
$WEBTOBDIR/log/ access log가 날짜별로 생성됨
$JEUS_HOME/logs/JeusServer/ JEUS system log가 날짜별로 생성됨. 날짜별 로그.log
              /엔진별로그/... / accesslog / JEUS servlet engine 의 accesslog(수행시간)


###### alias #####
alias jcfg 'cd $JEUS_HOME/config/hostname'                            JEUSMain.xml이 있는 위치로 이동
alias scfg 'cd $JEUS_HOME/config/hostname/hostname_servlet_engine1' WEBMain.xml이 있는 위치로 이동
alias scfg1 'cd $JEUS_HOME/config/hostname/hostname_servlet_engine1'
alias scfg2 'cd $JEUS_HOME/config/hostname/hostname_servlet_engine2'
alias wcfg 'cd $WEBTOBDIR/config'                                       http.m이 있는 위치로 이동
alias jlog 'cd $JEUS_HOME/logs/JeusServer'                              JEUS system log가 있는 위치로 이동
alias logs 'cd $JEUS_HOME/logs'                                         JEUS 의 로그 디렉토리로 이동
alias vlog 'tail -f $JEUS_HOME/logs/JeusServer/JeusServer_date +%m%d%Y.log'   tail -f JEUS_system_log



###### thread dump 뜨는 법 #####
ti 정보를 조회할 때 수행시간이 너무 오래 걸리는 것이 있거나
모든 thread가 full 되어서 서비스가 너무 느려지는 경우
현재 thread의 상태를 조회해서 thread가 어떤 상태인지 조회해 볼수 있다.
java process에 kill -3을 수행하면 해당 jvm 내의 모든 thread의 정보가
JEUS system log에 남겨진다.
위의 pid 조회 방법을 참고로 하여 java process의 pid를 조회한 후

$ kill -3 [java_pid]

를 수행하면 된다.
즉시 조회하고 싶으면 다른 telnet 창에서 vlog를 수행한 후
kill -3을 수행하면 된다.

운영중 문제가 발생하는 경우 thread dump와 로그는 아주 유용한 정보가 되므로
장애발생시 반드시 3~5초 간격으로 3번 정도 thread dump를 남겨서  
엔지니어에게 전달하도록 한다.