'분류 전체보기'에 해당되는 글 125건

  1. 2014.08.04 오라클 Parallel Hint
  2. 2014.08.01 DisableExplicitGC, ParallelGCThreads,
  3. 2014.07.30 wc -l
  4. 2014.07.28 Apache Configuration
  5. 2014.07.28 Apache Sticky Session
  6. 2014.07.23 lsof
  7. 2014.07.23 Tool
  8. 2014.07.23 Apache Prefork MPM vs Worker MPM
  9. 2014.07.09 Shell Script
  10. 2014.07.09 VMSTAT, SAR, MPSTAT, iostat 명령어를 이용한 서버 모니터링
2014. 8. 4. 12:04

PARALLEL Hint

/* PARALLEL(table_name, degree) */

1) 정의

   항상 데이터가 균일하게 분산되었다고 가정

   최신 통계정보 수집이 필수

   옵티마이저의 실행계획을 개발자가 부여하는 실행 계획을 바꿔서 실행할 때 사용하는 방법

2) 효과

   Disk I/O 가 많은 테이블에 Disk I/O 작업을 분산시켜 속도를 향상시켜 준다.

   Sorting 작업이 많은 경우 Sorting 작업을 분산시켜 작업 속도를 향상 시킬 수 있다.

3) 실행되는 sql에만 명령질의 옵션

  select  /*+ hint */

  update /*+ parallel(테이블명, 범위)*/ set 설정값 where 조건절

  delete  /*+  parallel(테이블명, 범위)*/ 테이블명

  insert   /*+  parallel(테이블명, 범위)*/ into 테이블명 valuse(값1, 값2...)

4) 병렬옵션

  병렬 질의 (parallel query) : 대용량 테이블을 참조한다면 서버 프로세스는 테이블의 처음부터 마지막까지 순차적으로 읽어야하는데에 성능문제를 가져온다, 이 경우 병렬 질의 옵션을 사용하면 여러개의 병렬 프로세스들은 읽어야 할 테이블 데이터를 균등하게 배분하여 각각 읽기 작업을 동시 수행하게 되므로, 전체를 순차적으로 읽는 것보다 빠르게 데이터를 읽을 수 있다. 또한 병렬 프로세스들이 각각의 CPU에서 작업이 진행될 수 있게 해줌으로써 CPU간에 로드밸런싱을 유지할 수 있다는 장점을 가지고 있다 

  병렬 인덱스 (parallel index creation)

  병렬 데이터 로딩 (parallel data load)

  병렬 복구 (parallel recovery)

  병렬 옵션이 설치되어 있는 지 확인

  SQL > select * from v$option;

            where parameter like '%Parallel%';

cf) http://androiddev.tistory.com/entry/오라클-PARALLEL-힌트

-----------------------------------------------------------------------------

SELECT /* + PARALLEL(A 8) */ count(*)

FROM cube_instance A

WHERE A.CREATION_date BETWEEN ....

'Database' 카테고리의 다른 글

TABLESPACE USAGE  (0) 2014.08.14
SQL 튜닝 가이드  (0) 2014.08.04
Index full scan, table full scan  (0) 2014.08.04
Database 용어  (0) 2012.10.11
Oracle DB(User 생성) & 시작/정지  (0) 2012.10.04
Posted by 아도니우스
2014. 8. 1. 20:12
-XX:+DisableExplicitGC 옵션은 System.gc() 메소드를 호출해도 아무 일이 일어나지 않도록 한다.

이 때문에 분산 gc가 제대로 수행되지 않아서 ClassLoader가 gc되지 못하였고, 결국 perm area가 full이 났던 것이다.

-XX:+ParallelGCThreads

If you turn on ParallelGC for your application and do not set –XX:ParallelGCThreads, then the JVM will set number of parallel GC threads based on number of processors (cores) available on a machine where your application is running.

The JVM will create one parallel GC thread per processor (core) for young generation.

-XX:+ParallelRefProcEnabled

Enable parallel reference processing whenever possible

'Study' 카테고리의 다른 글

-XX:CMSInitiatingOccupancyFraction  (0) 2014.08.11
Oracle Opensource site  (0) 2014.08.07
wc -l  (0) 2014.07.30
Apache Configuration  (0) 2014.07.28
lsof  (0) 2014.07.23
Posted by 아도니우스
2014. 7. 30. 17:01

grep 2013:11:01 acess_20140730.log | wc -l

netstat -na | grep EST | grep 8443(PORT) | wc -l

'Study' 카테고리의 다른 글

Oracle Opensource site  (0) 2014.08.07
DisableExplicitGC, ParallelGCThreads,  (0) 2014.08.01
Apache Configuration  (0) 2014.07.28
lsof  (0) 2014.07.23
Tool  (0) 2014.07.23
Posted by 아도니우스
2014. 7. 28. 13:14

httpd.conf 파일은 크게 세부분으로 나누어져 있다.

Section 1: Global Environment : 아파치 전체적인 영향이 미치는 설정
Section 2: 'Main' server configuration : 주 서버에 대한 설정
Section 3: Virtual Hosts : 가상 호스트에 대한 설정

자, 그럼 이제부터 이 아파치웹서버의 모든 환경을 설정하는 아파치환경파일 httpd.conf파일의 설정방법에 대해서 상세히 알아보도록 하자.

 

### Section 1: Global Environment

전제환경설정 파트로 Section 1에서 설정하는 것들은 아파치 웹서버에
전반적인 영향을 미친다.

ServerType standalone

서버의 구동방법으로는 standalone과 inetd방식이 있는데, standalone
방식은 하나의 웹데몬(아파치서버)이 클라이언트의 접속을 모두 처리하는
방식으로 응답속도가 빠른 방법으로 주로 이방식을 사용한다. inetd 방식은
inetd라는 시스템의 /etc디렉토리 끝에 존재하는 inetd라는 슈퍼데몬이
클라이언트의 접속요구가 있을 때마다 웹서버를 구동하는 방식이다.
일반적으로 응답속도가 빠르고 효율적인 standalone으로 설정하여 사용한다.


ServerRoot "/usr/local/apache"

아파치서버의 홈디렉토리를 지정하며 절대경로로 지정한다. 이후로 나오는
대부분의 패스들은 이 경로에 대한 상대경로로 지정이 된다. 예를 들어
환경설정파일, 에러로그파일등의 상대경로의 기준이 되는 위치이다.


LockFile logs/accept.lock

아파치 컴파일시 USE_FCNTL_SERIALIZED_ACCEPT나
USE_FLOCK_SERIALIZED_ACCEPT으로 컴파일 했을 때 사용되는
LockFile의 경로지정시에 사용된다. 가급적 기본값으로 사용한다.


PidFile logs/httpd.pid

PidFile 설정은 ServerType을 Standalone으로 설정했을때만 유효한
것으로 아파치 서버의 프로세스가 생성되어 있을 때 그 프로세서ID(PID)를
기록하는 파일을 지정한다. 당연히 아파치서버가 재시작되거나 과부하로
인해 PID가 바뀌게 될 경우에는 이 파일의 PID값도 바뀌게 된다. 즉
다시말해서 여기서 지정된 파일(httpd.pid)에 실행되고 있는 아파치서버의
프로세스번호(PID)값이 기록된다고 하면 정답이다. ServerRoot를 기준으로한
상대경로로 지정된다. 절대경로로 지정하려면 "/"로 시작하는 절대경로를
적어주면 된다.

 


ResourceConfig conf/srm.conf
AccessConfig conf/access.conf

아파치 서버의 환경설정파일은 3개이au httpd.conf, srm.conf, access.conf
가 그것이다. 그러나 하나의 설정파일로 하는 것이 효율적이기 때문에
지금은 httpd.conf파일안에 3개의 파트(Section)로 나누어서 하나의
파일안에서 설정을 하고 있다. srm.conf와 access.conf파일의 내용은 현재
비어있는 상태이지만, 필요하다면 이 파일 내에도 설정을 할 수 있다.
아파치 서버가 실행이 될 때는 httpd.conf, srm.conf, access.conf 순으로
언제나 이 3개의 파일을 모두 읽고 난뒤에 실행이 되기 때문이다. 만약 이
두 개의 파일을 서버가 무시하도록 하려면 다음과 같이 하거나 "#"으로 붙여
두면 주석처리되어 무시된다.

ResourceConfig /dev/null
AccessConfig /dev/null


Timeout 300

클라이언트의 요청에 의해 서버와 연결이 되었을 때 클라이언트와
서버간에 아무런 메시지가 발생하지 않았을 때 오류로 처리될 시간을
초단위로 설정한다. 초기값은 1200이며 보통은 300초로 지정을 한다.
네트웍의 속도가 나쁠수록 수치값은 높게 설정하는 것이 좋다.

KeepAlive on

접속한 채로 특별한 요청없이 지속적인 연결을 허용할 것인지를 설정한다.
허용하지 않으려면 off

MaxKeepAliveRequests 100

클라이언트가 접속된 시간동안 아파치서버에 요청할 수 있는 최대의
개수를 지정한다. 0을 지정하면 제한없음을 의미하며, 서버의 성능향상을
위하여 가능한 높은 값이 좋다.

KeepAliveTimeout 15

아파치 서버는 같은 접속상태의 클라이언트에서 여기서 지정한 초만큼의
요청이 없었을 때 접속을 끊게 된다.

MinSpareServers 5
MaxSpareServers 10

아파치 웹서버는 성능향상과 빠른 응답속도를 위해 유휴서버(현재
서비스대기 중인 프로세스)를 만들게 되는데 이 유휴서버의 개수는 시스템의
상황에 따라 달라지게 된다. 유휴서버가 MinSpareServers의 개수(5) 보다
적게되면 추가로 생성을 하게 되며 MaxSpareServers의 개수(10)보다 많게
되면 죽이게 된다. 즉, 유휴서버의 개수를 적절히 조절하기 위한 것이라
생각하면 된다.


StartServers 5

아파치 웹데몬이 구동될 때 자식프로세스를 몇 개로 할 것인가를
지정한다. 시작할 때 동시에 띄우게 될 웹데몬의 개수이다. 그러나 웹데몬이
구동되고 난 뒤엔 시스템의 상황(부하율등)에 따라 대부분 합리적인
개수만큼 동적으로 생성되었다가 죽기도 하므로 큰 의미를 가지는 것은
아니다.

MaxClients 150

아파치웹서버에 접근할 수 있는 클라이언트의 최대갯수는 이 상한값으로
제한한다. 여기서 지정한 개수이상의 클라이언트의 요청이 생긴다면
아파치는 응답하지 않고 이 요청을 무시한다. 이를 제한하는 이유는
시스템의 자원을 아파치 웹서버가 무한정 차지하는 것을 방지하기 위한
것이다.

MaxRequestsPerChild 30

아파치 웹서버의 자식프로세스들이 클라이언트의 요청 개수를 지정한다.
만약 자식프로세스가 이 값만큼의 클라이언트요청을 받았다면 이
자식프로세스는 자동으로 죽게된다. 이 값이 0으로 설정이 된다면
자식프로세스가 자동으로 죽는일은 없을 것이다. 그러나 0아닌 다른 값으로
설정함으로서 프로세스의 수를 적절히 조절하여 시스템의 부하조절과
자원낭비를 어느정도 방지 할 수 있다.

Listen 3000
Listen 12.34.56.78:80

시스템의 기본값이외에 다른 IP Address와 포트에 대해서도 연결할 수
있도록 해 준다. 환경설정파일(httpd.conf) 맨뒤에 나오는 가상호스트(Virtual
Host)부분에서 설정되는 가상호스트를 설정하기 위해 필요하다.


BindAddress *

서버가 응답할 수 있는 IP Address를 설정하는 것이다. 하나의 시스템에
있는 아파치웹서버 하나로 여러 웹서버처럼 관리하는 웹호스팅서비스등에서
많이 이용하는 것으로 여러 IP Address를 인식할 수 있게 한다. "*"으로
설정이 되었다면 모든 IP Address에 대해 응답할 수 있으며, IP Address를
지정한다면 지정한 IP Address에 대해서만 응답할 수 있게 된다. 여러개의
IP Address를 ISP로부터 할당받아서 웹호스팅서비스를 하고자 한다면
이부분에서 지정해 주면된다. 이 설정파일의 맨 뒷부분에 나오는
~부분의 IP bind 가상호스트부분에서 아파치
웹서버가 응답할 수 있도록 하려면 여기서 IP Address를 지정해 줘야 한다.

ExtendedStatus on

server-status로 아파치웹서버의 상태를 상태를 모니터링 할 때
"자세한상태정보"기능을 제공할 것인지(On) 아닌지(Off)를 설정하는 것이다.

### Section 2: 'Main' server configuration

Section 2에서 설정하는 항목들은 아파치의 주된서버가 사용할 값들을
지정한다. 에 정의된 가상호스트들에서 지정하지 않는 것은
여기서 지정된 값이 기본값으로 적용된다. 또한 여기서 지정하는 값을 각
내에도 지정할 수 있으며 이경우엔 각내에서
지정한 값이 우선적용된다.

Port 80

아파치웹서버의 기본포트를 지정한다. 특별하게 사용하는 것이 아니라면
80번으로 해둬야 한다. 사용가능한 포트는 0 ~ 65535이며 1024이하의
포트번호는 시스템에서 특별하게 예약되어 있으므로 80번 이외의 다른
포트를 사용하려면 1024이상의 포트번호를 지정해서 사용해야 할 것이다.
특별한 지정이 없다면 에 정의된 각각의 가상호스트들의
기본포트가 된다. 만약 내에서 Port가 지정이 된다면 그
포트번호가 우선한다.

(특별히 PORT를 따로 지정해 줄 필요가 있을 때는 따로 지정해 주며,
이때는 웹서버로 접근할 때 반드시 따로지정한 PORT번호로 접근해야 한다.
예를들어 Port 1234로 지정했다면, 접근시 : http://www.domain.co.kr:1234
로 접속해야한다. 단, 80번은 default이므로 Port번호를 입력하지 않아도
도메인만으로 그냥 접근할 수 있다. 예: http://www.domain.co.kr )

User nobody
Group nobody

아파치 웹데몬이 요청을 받았을 때 여기서 지정한 user와 group으로
응답을 하게된다. 이 설정은 ServerType이 Standalone방식이며, 아파치의
실행이 root권한으로 실행이 되었을 때 유효한 것이다. 많은
웹서버관리자들이 nobody로 설정을 해 두고 있으며, 만약 시스템에 nobody
user가 없다면 새로생성(useradd)을 해야 할 것이다. 단, root로 설정하는
것은 절대로 있어서는 안되며 nobody이외의 다른 시스템사용자 id로 지정을
한다면 정말 신중히 모든면(시스템 보안 및 자원사용등)에서 깊게 고려를
해봐야 한다.

ServerAdmin webmaster@www.domain.co.kr

여기서 지정하는 email address는 웹문서 로딩에러등의 문제에서
클라이언트측으로 보내질 메일주소값이다. 대부분
웹서버관리자의 email address로 설정을 한다.

ServerName new.host.name

클라이언트에게 보여주는 호스트이름을 지정한다. www를 쓰지않는
호스트에서 www를 쓰는 것처럼 보이게 할 수 있다. 예를 들어
bbs.manualand.co.kr을 www.manualand.co.kr로 지정해서 쓸 수 있다.
이곳에 IP Address를 적게 되면 클라이언트에는 Ip Address를 보여준다.

DocumentRoot "/usr/local/apache/htdocs"

아파치 웹서버의 웹문서가 있는 경로를 지정한다. 예를 들어
"http://www.manualand.co.kr/index.html"의 초기 문서라면 이 초기문서의
절대 경로는 여기서 지정된 "/usr/local/apache/htdocs/index.html"이 된다.
경로의 맨 마지막에 "/"를 추가해서는 안된다. Alias를 사용하여 다른 위치를
지정할 수도 있다.


Options FollowSymLinks
AllowOverride None

에서 지정되는 값에 대한 옵션은 다음과 같은 의미를 가지고
있다.
None : 일단 모든허용을 하지 않는다.
All : 모든허용을 한다.
Indexes :
Includes :
FollowSymlinks :
ExeCGI :
MultiViews :


UserDir public_html

하나의 아파치 웹서버에서 여러 사용자의 홈페이지를 별도로 만들어
관리할 때 필요한 개별 가입자의 홈페이지 디렉토리이름이다. 예를 들어
sspark이란 계정가입자의홈페이지는 "http://manualand.co.kr/~sspark"라는
홈페이지를 가지고 있을 때 sspark의 계정에서 "public_html"이란
디렉토리가 홈디렉토리가 되어 이 디렉토리에 있는 초기문서 index.html을
불러서 보여주게 된다.


AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch
IncludesNoExec

Order allow,deny
Allow from all

MOVE LOCK UNLOCK>
Order deny,allow
Deny from all

계정사용자의 홈페이지(public_html)의 접근에 대한 옵션을 지정한 것이다.


DirectoryIndex index.html

디렉토리만을 지정했을 경우에 그 디렉토리에서 찾게될 문서의 순서를
지정해 준다. 즉, 디렉토리 이름만을 지정하더라도 여기서 지정한
index.html을 찾아서 웹브라우즈에 보여준다. 여러개의 파일을 지정할 수
있으며, 이런 경우에는 순서대로 찾아서 보여준다. 예를 들어
"DirectoryIndex index.html index.htm"로 지정했다면 먼저 "index.html"을
찾아서 있다면 이 파일을 로딩하고, "index.html"이 없다면 "index.htm"을
찾아서 로딩해 준다.

AccessFileName .htaccess

디렉토리별로 접근제어할 정보(ID, Password)를 담고 있는 파일을
지정한다. 디렉토리별로 인증을 거쳐서 접근할 수 있는 설정을 하기위한
것이다. 예를 든다면 어떤 홈페이지의 전부나 혹은 일부에로 접근하려고 할
때 ID, Password를 묻는 창이 뜨면서 맞게 입력한 경우에만 접근허용하는
것이다. 보안상의 이유로 이 파일의 이름을 다른 이름으로 바꾸로 싶다면
".htaccess"대신에 다름이름을 적어주면 된다.


Order allow,deny
Deny from all

바로위에서 설정한 파일(".htaccess")의 내용을 볼 수 없게 할 때 사용하는
옵션이다. 보안상의 이유로 이 옵션은 설정해 두는 것이 좋다. 만약 이
옵션을 주석처리해 둔다면 ".htaccess"파일에 대한 보안은 누구도 장담할 수
없을 것이다.


UseCanonicalName on

 

TypesConfig conf/mime.types

웹서버의 mime type을 지정한 파일을 지정한다. mime.types파일은 서버에
의해 리턴될 수 있는 파일명과 mime형식을 기술해 놓은 파일이다.

DefaultType text/plain

mime.types 파일에 정의 되어있지 않은 파일형식에 대한 요청을 받았을 때
알 수 없는 문서타입에 대하여 사용할 기본적인 mime 타입을 정해둔다.


HostnameLookups Off

웹서버의 로그(access_log)를 지정하는 Format에서 "DNS Lookup"으로
지정하였을 때, domain으로 남길 것인가, IP Address로 남길 것인가를
지정한다. Default로 Off는 IP Address로 남기는 것이며, Domain으로 변경할
필요가 없으므로 on으로 설정한 것보다는 속도가 조금빠르다.on으로 하게
되면 IP address를 IP Domain으로 변환해야 하므로 속도가 조금 느릴 수
있다.

ErrorLog logs/error_log

아파치 웹서버의 에러로그 기록파일을 지정한다. 참고할 사항은 맨
마지막에 설정하는 부분에서 각서버에 대한 에러파일을
지정해 두지 않으면 그에 대한 에러로그도 여기에 기록되며, 지정해 두게
되면 그에 해당하는 로그는 이 파일에 기록되지 않는다.

LogLevel warn

바로위에서 설정한 에러로그 파일에 얼마나 자세하게 적을 것인지를
결정한다. 다음에 해당하는 순서대로 중요도가 정해진다. " debug → info →
notice → warn → error → crit → alert → emerg "

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combind
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

바로 아래에서 사용할 CustomLog에서 사용할 몇가지 로그형식의 별명을
정한 곳이다.
웹서버의 관리자나 서버관리자는 이 부분을 특히 유심히 봐둬야 한다.
웹서버의 로그를 어떤 식으로 남길 것인가를 결정하는 Format을 지정하는
곳이다. 원하는 정보를 지정해서 볼 수 있으므로, 관리자에게 필요한
Format으로 설정해야 하며, 또한 접속통계를 내기에 적당한 Format으로
설정해 둬야 한다.

CustomLog logs/access_log common

위에서 정한 로그형식(여기선 common)대로 로그를 남기게 된다.
맨마지막에서 지정하는 부분에서도 아파치 1.3.9버전 부터는
CustomLog를 가상호스트별로 지정할수 있도록 CustomLog를 제공한다.
에서 CustomLog를 지정하지 않으면 여기서 지정한 형식대로
로그를 남기게 되며 부분에서 CustomLog를 지정했을
경우에는 여기서 지정한 로그형식은 무시된다.

#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
#CustomLog logs/access_log combined

위에서 지정한 4가지의 로그형식(combind, common, referer, agent)중에서
원하는 부분의 #(주석행)을 제거하면 지정된다.

ServerSignature on

서버가 생성하는 문서(error documents, FTP directory listings,
mod_status and mod_info output etc., but not CGI generated documents)의
trailing footer line의 설정을 가능하게 한다.

Alias /icons/ "/usr/local/apache/icons/"

필요한 만큼의 디렉토리 별칭을 만들어 쓸 수 있다. 사용하는 형식은
다음과 같다.
Alias fakename(가상이름) realname(진짜이름)

ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

ScriptAlias는 서버스크립트를 포함한다. ScriptAlias는 실제디렉토리 안에
들어있는 문서를 서버에 의해 응용프로그램으로 취급되어 실행되는 것을
제외하고는 근본적으로 Aliases와 같다.


IndexOptions FancyIndexing

IndexOPtions는 디렉토리목록을 표시할 때 사용할 옵션을 지정한다.
Standard는 표준적인 디렉토리를 나타내며, FancyIndexing은 좀더 예쁜
디렉토리목록을 표시해 준다.

 

아래에서 지정하는 AddIcon으로 시작하는 설정은 바로위에서 설정한
디렉토리인덱싱 옵션을 FancyIndexing으로 한 경우에 해당하며 디렉토리
목록을 표시할 때 각 파일 확장자에 따라서 어떤 아이콘을 선택하여 보여줄
것인지를 지정한다.

'Study' 카테고리의 다른 글

DisableExplicitGC, ParallelGCThreads,  (0) 2014.08.01
wc -l  (0) 2014.07.30
lsof  (0) 2014.07.23
Tool  (0) 2014.07.23
Apache Prefork MPM vs Worker MPM  (0) 2014.07.23
Posted by 아도니우스
2014. 7. 28. 10:57

1. Apache-WebLogic간의 연결

- AJP를 사용하지 않고 직접 WebLogic module을 httpd.conf 에 설정한다 (참조)

- 환경설정 예

LoadModule weblogic_module modules/mod_wl_22.so


<Location /services>
SetHandler weblogic-handler
</Location>

<IfModule mod_weblogic.c>
WebLogicCluster 127.0.0.1:8881,127.0.0.1:8882
MatchExpression *.jsp
Idempotent OFF
DynamicServerList OFF
KeepAliveEnabled OFF
ConnectTimeoutSecs 16
ConnectRetrySecs 2
FileCaching OFF
</IfModule>

 


2. Apache Timeout 설정

- ajp 연결이 아니므로 workers.properties의 socket_timeout 또는 reply_timeout과 관련이 없다

- apache/httpd/conf/extra/httpd-default.conf의 Timeout 과 관련 (참조)

Timeout 300
클라이언트의 요청에 의해 서버와 연결이 되었을 때 클라이언트와 서버간에 아무런 메시지가 발생하지 않았을 때 오류로 처리될 시간을 초단위로 설정. 초기값은 1200초(20분)이며 보통은 300초(5분)로 지정한다. 네트워크의 속도가 나쁠수록 수치값은 높게 설정하는 것이 좋다.



3. WebLogic Timeout 설정

- httpd.conf에 timeout 관련 설정을 한다

- WebLogic안에서 request<->response에 대한 직접적인 처리 - WLIOTimeoutSecs 설정 (참조1, 참조2)

WLIOTimeoutSecs 300

- default : 300 초

- 웹로직으로 request를 보내고 response를 받기 위해서 대기하는 시간

- post 방식으로 대량의 데이터를 WebLogic으로 보낼 때 timeout이 발생하면 plug-ins에 "POST_TIMEOUT"에러가 발생한다


- WebLogic을 클러스터링 환경으로 구성하였을 경우는 idempotent 환경에 대하여 고려한다. (참조)

Idempotent OFF

- WebLogic서버로 부터 request전송시 에러가 발생하거나, 서버로부터 결과를 기다리는 중에
위에 정의된 WLIOTimeoutSecs 시간 초과되어서 에러 발생시 요청을 다시 보낼 것인가를 지정.
- 서버와 연결은 되었는데 그 이후에 에러가 발생 하였을 경우 해당 옵션이 ON이면 다시 연결을 시도하고
요청을 보내게 되므로 중복 요청의 가능성이 있다. OFF권장.

'Apache' 카테고리의 다른 글

Apache 중단과 재시작  (0) 2015.06.19
SSL 인증서 비밀번호 제거하는 방법  (0) 2015.06.03
apache 로그 관리  (0) 2014.10.02
httpd-mpm.conf  (0) 2014.08.27
Apache 버전 및 MPM 확인 방법, Graceful  (0) 2014.08.26
Posted by 아도니우스
2014. 7. 23. 15:58

1. lsof 사용법


LSOF 는 List Open File 의 약자로 해당 System에서 구동되고 있는 프로세스들에 의해서 열려진 파일들을

확인 할수있는 툴입니다. 즉 프로세스의 파일핸들을 조사해 볼 수 있는 유용한 툴

 

특정 프로세스가 오픈한 파일 리스트 확인

lsof -p 포트번호


특정호스트에 대한 접속 확인

lsof -i@특정아이피


특정 사용자가 오픈한 프로세스 확인

lsof -u 유저명


특정 파일이 사용하는 프로세스 확인

lsof /etc/passwd

'Study' 카테고리의 다른 글

wc -l  (0) 2014.07.30
Apache Configuration  (0) 2014.07.28
Tool  (0) 2014.07.23
Apache Prefork MPM vs Worker MPM  (0) 2014.07.23
Shell Script  (0) 2014.07.09
Posted by 아도니우스
2014. 7. 23. 15:32

1. Thread Dump tool : Thread logic, Samurai

2. Heap Dump tool : MAT, IBM HeapAnalyzer

3. GC Tool : IBMSoftware-ga439.jar

4. Linux Core dump : gdb

'Study' 카테고리의 다른 글

Apache Configuration  (0) 2014.07.28
lsof  (0) 2014.07.23
Apache Prefork MPM vs Worker MPM  (0) 2014.07.23
Shell Script  (0) 2014.07.09
VMSTAT, SAR, MPSTAT, iostat 명령어를 이용한 서버 모니터링  (0) 2014.07.09
Posted by 아도니우스
2014. 7. 23. 15:28

1. thread 개념과 수 차이

2. JBoss EWS 설치

 

 KeepAlive On

 MaxKeepAliveRequest 1000

<IfModule worker.c>

StartServers                3

ServerLimit                  64

MaxClient

 

'Study' 카테고리의 다른 글

lsof  (0) 2014.07.23
Tool  (0) 2014.07.23
Shell Script  (0) 2014.07.09
VMSTAT, SAR, MPSTAT, iostat 명령어를 이용한 서버 모니터링  (0) 2014.07.09
[LINUX] OS bit 수 확인 방법, ulimit  (0) 2014.07.09
Posted by 아도니우스
2014. 7. 9. 19:25

1. if 문

(1) 기본 사용법

 if [ 조건식 ]; then           // if문 시작

 elif

 else

 fi                                // if문 종료

(2) 테스트 연산자

 

(3) 논리 연산자


(4) 예제


2. while 문

(1) 기본 사용법 및 예제

 while [ 조건식 ]; do        // while 문 시작

 ~

 done                           // while 문 종료

(2) 테스트 연산자

 

cf ) ktdsoss.tistory.com

'Study' 카테고리의 다른 글

Tool  (0) 2014.07.23
Apache Prefork MPM vs Worker MPM  (0) 2014.07.23
VMSTAT, SAR, MPSTAT, iostat 명령어를 이용한 서버 모니터링  (0) 2014.07.09
[LINUX] OS bit 수 확인 방법, ulimit  (0) 2014.07.09
File I/O java  (0) 2014.05.15
Posted by 아도니우스
2014. 7. 9. 16:12

VMSTAT (CPU 사용량 모니터링)

in : 커널 인터럽트 횟수

cs : 커널에 대한 컨텍스트 스위치

id : Idle 퍼센트

us : 사용자 프로세스 CPU 사용 퍼센트

sy : 커널 프로세스 CPU 사용 퍼센트

wa : CPU와 관련된 I/O 대기 시간

-----------------------------------------------------------------------

1. 서버 성능 모니터링을 위한 옵션

1) CPU 사용율 :

    # sar -u 1 120 : 매 1초 간격으로 120초 동안 서버 CPU 사용율 표시

2) 메모리 사용율 :

    # sar -r 1 120 : 매 1초 간격으로 120초 동안 서버 메모리 사용율 표시

3) load average :

    # sar -q 1 120 : 매 1초 간격으로 120초 동안 서버 load average 사용율 표시 


2. 스크립트를 통한 성능 모니터링 수행 (예제)

      1) 일자별로 sar 파일 저장

      #!/bin/bash

      HOME_DIR=/home/monitor

      

      if [ ! -d $HOME_DIR ]

      then

mkdir -o $HOME_DIR

fi


sar -u -r -q -S -n DEV 1 86400 -o $HOME_DIR/monitor_`hostname`_`date + %Y%m%d` > /dev/null 2>&1 &

'Study' 카테고리의 다른 글

Apache Prefork MPM vs Worker MPM  (0) 2014.07.23
Shell Script  (0) 2014.07.09
[LINUX] OS bit 수 확인 방법, ulimit  (0) 2014.07.09
File I/O java  (0) 2014.05.15
Springframework  (0) 2012.11.28
Posted by 아도니우스