'IT 이야기' 카테고리의 글 목록 (24 Page)
본문 바로가기

IT 이야기532

[Apache] Web 서버 부하분산 시스템을 We서버 WAS 서버 각각 2대씩 이중화하여 구성했다고 가정하겠습니다. Web 서버로 사용자의 요청이 오게 되면 그 요청에 따라 Web 서버에서 처리할지 WAS 서버에서 처리할지 Web 서버 부하분산 설정에 따라 효율적인 서비스가 제공될지 여부가 결정이 됩니다. Web 서버가 여러 대로 구성된 경우 특정 서버로 처리가 집중되지 않도록 각 Web 서버별 로드 밸런싱 설정을 교차하여 지정합니다. 여기서 말하는 로드 밸런싱(load balancing, 부하분산)이란 작업 부하를 여러 대의 서버에 분배하는 것으로 가용성을 높이고, 서비스 속도를 최적화 하는 효과가 있습니다. 그렇다면 Web 서버에서 부하분산 설정은 어떻게 하는 것일까요? Web서버에서 WAS 서버로 요청을 전송하기 위해서는 웹 서버 커.. 2020. 10. 20.
[Apache] Apache 로그 파일 크기의 비대화 Web 서버를 운영하다보면 매일 매일 로그 정보가 파일에쌓이게 됩니다. 만약 로그 로테이션이 제대로 설정되어 있지 않으면 파일 하나에 로그 내용이 계속 쌓이게 되고 파일의 비대화를 초래하게 됩니다. 파일이 비대화되면 장애 발생 시 로그 분석에 어려움이 발생합니다. 여기서 로그 로테이션(Log Rotation)이란 로그 파일이 비대해지는 것을 방지하기 위해 주기적으로 또는 특정 크기 단위로 로그 파일을 분리하는 기능을 말합니다. Apache는 자체에서 rotatelogs를 기본으로 제공하고 있어 이를 이용해 웹 로그를 분리 저장하며 대표적인 동작은 다음과 같습니다. 특정 시간간격(일, 주, 월)으로 로그 분리 : 대부분 1일 기준으로 설정 특정 크기 단위로 로그 분리 로그 로테이션 설정 중 86400(24.. 2020. 10. 19.
[RHEL 공통] Messages 로그에서 sendmail 관련 에러 로그가 발생 /var/log/messages 로그에서 sendmail 관련 설정 파일이 없어 해당 파일을 찾을 수 없다는 에러 로그가 매 시간마다 발생하는 경우가 있습니다. 다음과 같은 에러 메시지가 나타날 수 있습니다. Feb 8 19:02:04 hostname crond: /etc/mail/sendmail.cf: line 0: cannot open: No such file or directory Feb 8 20:02:03 hostname crond: /etc/mail/sendmail.cf: line 0: cannot open: No such file or directory Feb 8 21:02:04 hostname crond: /etc/mail/sendmail.cf: line 0: cannot open: No s.. 2020. 10. 19.
[RHEL 공통] OS 파라미터 TCP_FRTO 1. TCP_FRTO 파라미터란? FRTO(Forward Retransmission TomeOut)로 네트워크에서 데이터 전송이 불안정한 경우 TCP 재전송 시작 시간을 늘려(200ms 단위 재전송 요청) 안정적으로 처리될 수 있도록 하는 기능을 말합니다. FRTO는 안정적이지 않은 네트워크(무선)에서 패킷 재전송 요청을 받은 송신자가 재전송 시작 시간을 지연하는 기능으로 10G 망에서 2로 설정할 경우 전송 효율성이 떨어져 오히려 역화과가 발생할 수 있습니다. Wifi, 블루투스 등 무선 네트워크가 연결된 랩탑 또는 데스크탑 시스템을 사용하지 않고 서버로 사용할 경우 FRTO값을 0으로 설정하길 권장드립니다. 참고사항으로 FRTP값 0과 2로 설정 후 TCP Dump 분석 결과는 아래와 같습니다. FR.. 2020. 10. 19.
[RHEL 공통] 네트워크 디바이스(NAS) 사용 시 마운트 옵션 네트워크 디바이스(NAS)를 사용할 경우 OS에서 마운트를 하여 사용할 것입니다. 이때 I/O 버퍼 크기가 작을 경우 데이터 I/O가 많이 발생 시 지연되애 행(Hang) 현상이 발생할 수 있습니다. 네트워크 파일시스템의 I/O 버퍼 크기의 기본값은 다음과 같습니다. rsize(읽기 버퍼 크기) : 131072(128KB) wsize(쓰기 버퍼 크기) : 524288(512KB) 이를 해결하기 위해서는 적절한 읽기/쓰기 버퍼 사이즈를 1MB 이상으로 설정하는 것을 권장합니다. 1. 설정 파일 /etc/nfsmount.conf 2. 설정 내용(예시) IP주소:/data/abc_nas /DATA nfs rw,relatime,vers=3,rsize=131072,wsize=54288,namlen=255,hard.. 2020. 10. 19.
JBoss EAP 6과 친해지기 11탄 - 웹 서브시스템 1. 웹 서브시스템이란? JBoss EAP 6의 웹 서브시스템에서는 jboss.org 커뮤니티의 JBoss Web 프로젝트를 사용하여 개발된 웹 컨테이너를 사용하고 있습니다. JBoss Web 자체는 원래 Tomcat을 기반으로 작성되어 있어 Tomcat에서 보아보아왔던 익숙한 항목도 많이 찾아볼 수 있습니다. 웹 서브시스템에서 필요한 extension 웹 서브시스템에 대한 기본 설정 웹 서브시스템에서 설정 가능한 항목은 크게 다음 3개 카테고리로 나눌 수 있습니다. 커넥터 : 외부 통신을 위해 사용 JSP 설정 : JSP 컨테이너의 동작 방법을 설정하기 위해서 사용 가상 서버 : 가상 호스팅을 위해 사용 HTTP의 헤더 사이즈, POST 파라미터의 최대값 등 웹 서브시스템의 동작을 상세히 설정하려면 미.. 2020. 9. 29.
JBoss EAP 6과 친해지기 10탄 - JBoss EAP 6 서브시스템 개요 및 프로파일 1. 서브시스템 개요 JBoss EAP 6는 도메인 모드나 스탠드얼론 모드에서 하나의 설정 파일을 사용하여 단순한 관리 방법을 제공합니다. 설정 파일인 XML을 직접 수정하여 변경할 필요 없이 관리 콘솔이나 CLI를 사용하면 자동으로 변경사항이 XML에 반영됩니다. 또한, 설정관리 API를 통해 각종 설정 정보를 업데이트할 수도 있습니다. 커맨드 라인 기반 관리방법인 CLI 및 웹 기반 관리 콘솔을 통해 JBoss EAP의 여러 가지 설정 정보를 변경할 수 있습니다. Java EE 표준의 구현 및 기타 JBoss EAP 6가 제공하는 기능을 서브시스템이라는 기능 단위로 제공하고 있습니다. JBoss EAP 6는 모듈 기반의 클래스 로딩을 기반으로 하고 있습니다. JBoss EAP 6 자체도 모듈입니다. .. 2020. 9. 28.
JBoss EAP 6과 친해지기 9탄 - JBoss EAP 6 모듈 아키텍처 1. JBoss EAP 6 아키텍처 JBoss EAP 5에서는 JBoss Microcontainer를 이용한 아키텍처를 사용하고 있었습니다. JBoss EAP 5의 각 서비스는 POJO나 JMX MBean로 구현된 모듈로 제공되며 이것들을 Microcontainer가 로드합니다. HTTP나 JMS 등의 여러 가지 기능을 제공하거나 각 서비스를 유연하게 추가하거나 제거하는 것이 가능했습니다. JBoss EAP 6에서 각각의 모듈에 대하여 기능을 설정하는 서브시스템은 Java EE의 표준을 제공하는 모듈로 JBoss 시작 시 코어 기능을 제공하는 핵심 서브시스템(Core Subsystem), 클러스터 기능을 제공하는 것 등 여러 가지 기능을 제공하는 모듈입니다. 어느 서브시스템을 이용할지는 프로파일로 불리는.. 2020. 9. 24.
JBoss EAP 6과 친해지기 8탄 - JBoss EAP 6 도메인 모드 1. 스탠드얼론 모드와 도메인 모드 JBoss EAP 6에는 두 가지 운영 방식이 있습니다. 하나는 스탠드얼론 모드이고 다른 하나는 도메인 모드로 서버 운영의 유구사항에 따라 선택하여 이용할 수 있습니다. 스탠드얼론 모드는 이전의 버전과 같이 서버 인스턴스(노드)마다 관리 기능을 제공하는 방식이지만, 도메인 모드에서는 여러 개의 서버 인스턴스(노드)를 그룹으로 묶어 관리하는 방식이어서 설정 변경이나 애플리케이션 배포를 중앙에서 한번에 관리할 수 있습니다. JBoss EAP 5 버전가지 인스턴스 관리 방법은 개별적으로 관리해야 하는 스탠드얼로 모드였습니다. 지금까지 대부분의 JBoss 도입 사례가 스탠드얼론 모드로 구축되었으며 JBoss EAP 6 인스턴스(노드)도 스탠드얼론 모드로 실행할 수 있습니다. .. 2020. 9. 22.
JBoss EAP 6과 친해지기 7탄 - JBoss EAP 6 주요 용어 정리 #3 23. JBoss LogManager JBoss LogManager는 JBoss EAP 6 서브시스템 애플리케이션 및 JBoss EAP 6 다른 서브시스템에서 송신된 로그 메시지를 수신합니다. JBoss LogManager는 여러 종류의 애플리케이션 로깅 프레임워크를 지원합니다. 23. 리소스 어댑터 리소스 어댑터는 Java 커넥터 아키텍처(JCA) 표준을 사용하여 Java EE 애플리케이션과 엔터프라이즈 정보 시스템(EIS) 간의 통신을 제공하는데 사용하는 Java EE 컴포넌트입니다. 일반적으로 리소스 어댑터는 EIS 벤더가 제공하며 이를 사용하면 벤더의 제품과 Java EE 애플리케이션 간의 통합이 쉬워집니다. 24. 컨텍스트 및 의존성 삽입 (CDI) 컨텍스트 및 의존성 삽입(Contexts an.. 2020. 9. 22.