1. 미들웨어이야기 139

L4의 부하 분산 방법

L4의 부하 분산 방식은 제조사에 조금씩 차이가 있지만 가장 보편적으로 많이 쓰이는 방식을 소개한다. L4 부하 분산 방법에 대해서 알아보자. 1. Round Robin - 연결되어 있는 모든 서버에 동일한 세션을 라우팅 - 모든 서버의 연결 세션 갯수가 거의 비슷하게 됨 2. Hashing - 해쉬 연결 방식은 클라이언트의 IP:PORT를 조합하여 hash 함수를 통해 라우팅 - 세션의 유지가 가능하지만 서버의 연결 세션 갯수에 불균형이 발생 할 수 있음 3. Least Connection - 리스트 커넥션 연결 방식은 Active Connection이 적은 서버로 세션을 라우팅 - 모든 서버의 Active 연결 세션이 거의 비슷하게 됨 4. Weighted Round Robin - 특정 서버에 가중치..

jmap 명령어를 이용항 heap dump 파일 생성하기

JVM의 Heap 메모리 정보 확인 및 Heap dump를 생성하는 명령어Unix/Linux의 경우 kill -3 명령어를 이용하여 JVM의 Heap dump 생성이 가능하지만 Windows의 경우 서비스로 기동되어 있을 경우 command console이 없어 thread dump 및 Heap dump 생성이 어려움이럴 경우 jmap 명령어를 활용하여 Heap dump를 생성할 수 있다. - 필요한 환경 1. UNIX / Linux / Windows : JAVA 6 이상 - 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함) $JAVA_HOME/bin/jmap.exe - 명령어 사용법 > jps -v ... JVM의 PID를 확인 ...heapdump 파일 생성 > jmap -dump:fo..

jinfo 명령어를 활용한 JVM 상세 정보보기

JVM의 상세정보를 확인하는 명령어JVM의 버전(마이너), 컴파일 버전, 경로, os 타입, 인코딩 정보 등의 상세 내용을 확인할 수 있는 jinfo 명령어에 대해서 알아보자 - 필요한 환경 1. UNIX / Linux / Windows: JAVA 5 이상 - 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함) $JAVA_HOME/bin/jinfo.exe - 명령어 사용법 > jps -v ... JVM의 PID를 확인 ... > jinfo > JVMINFO.txt 예시) > jps -v 1640 jar -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -XX:NewSize=128m > jinfo.exe 1640 > JINFO.txt JINFO.txt 파..

jstack 명령어를 활용한 Thread dump 생성하기

JVM의 thread dump를 생성하는 명령어.Unix/Linux의 경우 kill -3 명령어를 이용하여 JVM의 thread dump 생성이 가능하지만 Windows의 경우 서비스로 기동되어 있을 경우 command console이 없어 thread dump의 생성이 어려움이럴 경우 jstack 명령어를 활용하여 thread dump를 생성할 수 있다. - 필요한 환경 1. UNIX / Linux : JAVA 5 이상 2. Windows : JAVA 6 이상 - 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함) $JAVA_HOME/bin/jstack.exe - 명령어 사용법 > jps -v ... JVM의 PID를 확인 ... > jstack > threadump.txt 예시) > jp..

JPS 명령어를 활용한 JVM PID, 파라미터 확인하기

JVM의 Process ID를 확인하는 명령어.Windows에서 "windows 작업관리자"를 이용하여 JVM의 Process ID를 확인하기는 어렵다. 이럴 경우 ProcessExplorer 툴을 설치하여 확인하거나 jps 명령어를 이용하여 확인할 수 있다. - 필요한 환경 1. UNIX/Linux/Windows : JAVA 5 이상 - 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함) $JAVA_HOME/bin/jstack.exe - 명령어 사용법 > jps ... JVM의 PID와 프로그램 명 확인 .. > jps -v ... JVM의 PID, 프로그램, 옵션 확인 .. 예시) > jps 1640 Jmeter 3336 Jps > jps -v 7204 Jps -Denv.class.pat..

http to https redirect (tomcat/jboss)

JBoss만 사용하는 시스템인데, http로 들어온 요청을 모두 https로 변경하는 방법은 다음과 같습니다.여러가지 방법이 있는데 앞단에 웹서버가 없는 경우 다음과 같이 설정하시면 됩니다. 1. deploy/jboss-web.deployer/conf/web.xml 에 다음의 설정 security-constraint설정 추가. App_nmae /* GET POST CONFIDENTIAL 2. deploy/jboss-web.deployer/server.xml에 80 포트에 대해서 https로 redirect 하도록 설정- 기본적으로 redirectPort=8443과 같이 설정이 되어 있습니다. 별도로 수정을 안하셔도 됩니다. by hyeons (12월)

apache에서 file cache

사용자가 많이 몰려 이미지 등의 다운로드로 서버 부하가 우려될 경우잦은 변경이 없는 파일들에 대해 cache할 수 있도록 설정 할 수 있습니다.cache하는 시간(초단위)도 설정할 수 있으며,FileEtag옵션을 이용하여 파일의 MTIME, Size의 변경이 있을 경우엔 cache되어 있더라도다시 다운로드 받을 수 있도록 설정할 수 있습니다.(아래 예)다만, mod_headers.so 모듈의 load가 전제로 적용 가능한 옵션입니다. Header set Cache-Control "max-age=36000, public, must-revalidate" FileETag MTime Size LoadModule headers_module modules/mod_headers.so

SSL인증서 정상 설치 여부 확인

SSL인증서를 갱신 하였는데,제대로 갱신 인증서가 설치되었는지 확인코자 할 때 openssl을 이용하면 됩니다. 인증서를 갱신한 서버 telnet에서 아래와 같이 명령어 수행openssl s_client -connect 10.10.10.10:443 ip에 해당하는 서버에 설치 인증서가 화면에 출렵됩니다.신규 인증서와 동일한지 확인 인증서 맨 마지막 라인에Verify return code: 0 (ok)=> 출력되면 정상 Verify return code: 10 (certificate has expired)=> 만료된 인증서 상태 시 expired 출력됨

JBoss와 DB(RAC) 연결

Jboss와 RAC구성된 DB를 연결하며,load balance, fail-over등의 옵션을 주고 싶을 때 아래와 같은 내용을 해당 jdbc.xml에 삽입하면 됩니다.(port, ip 수정하기) jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.10)(PORT=****))(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.10)(PORT=****)))(CONNECT_DATA=(SERVICE_NAME=******)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))))

Disable Weak SSL Cipher Suites in Tomcat/JBoss

약한 SSL 암호 스위트 지원 조치하는 방법은 다음과 같습니다. 1. 설정 파일 위치 Tomcat: \conf\server.xml JBOSS: \server\all\deploy\jbossweb.sar\server.xml SSL connector에 다음의 설정을 추가합니다. ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DE..