목록전체 글 (2241)
♥️7분 빠른 소식 전달해 드립니다♥️
설정에 대한 튜닝은 반드시 해야 합니다. 대체로 기본값으로 최대한의 성능을 낼 수 있는 것은 없습니다. 웹 개반 시스템도 정상적으로 작동하게 하려면 세팅이 대단히 중요합니다. 프로그램에 문제가 없는데 세팅값 하나 때문에 애플리케이션의 성능이 안 좋아지는 경우가 굉장히 많기 때문입니다. DB서버를 제외한 서버 세팅에 대해 알아보겠습니다. 세팅해야 하는 대상 개발하는 것만큼 중요한 것이 서버의 세팅입니다. 개발된 프로그램이 0.1초 걸린다고 해도 서버 세팅을 잘못하면 1초가 걸릴 수도 있고, 10초가 걸릴 수 있습니다. 이러한 문제를 진단하는 가장 좋은 방법은 성능 테스트를 통해서 병목 지점을 미리 파악하는 것입니다. 무조건 애플리케이션 위주로 병목을 찾는 것보다, 일단 문제가 될 만한 세팅값을 먼저 진단하..

인바운드 트래픽(inbound traffic) 외부에서 가상서버 내부로 데이터가 유입될때 발생하는 트래픽을 말합니다. 예를들어, 클라이언트가 웹사이트에 접속했을 경우 클라이언트의 접속정보가 가상서버 내의 DB에 저장된다거나 클라이언트가 웹사이트에서 어떠한 정보가 필요하여 가상서버에 요청데이터를 보냈을때 발생하기도 합니다. 그리고 FTP나 웹사이트 첨부파일 등으로 가상서버내로 파일을 전송하여 저장하는 것도 인바운드 트래픽이 발생됩니다. 아웃바운드 트래픽(outbound traffic) 인바운드 트래픽과는 반대로, 가상서버 내에서 외부로 데이터가 전송되었을때의 트래픽을 발합니다. 아웃바운드의 경우 클라이언트가 웹사이트에서 어떤 정보를 요청하였을 때 해당 정보에 대한 데이터를 다시 클라이언트로 전송시 발생된 ..

개발서버에서 애플리케이션 서버 2대에 버전관리서버, CI서버까지 동시에 구동하다 보니 간혹 버전관리서버에 소스코드가 업로드 될때나 CI서버에서 메모리 점유율이 높은 작업이 진행될때 우선순위가 낮은 작업이 중단되는 현상이 가끔 일어나곤 했습니다. 에러메시지를 가지고 원인을 찾다보니 할당된 SWAP 메모리가 부족할 경우, 그러한 현상이 일어난다고 합니다. 그럼 앞으로 이러한 문제가 다시 생기지 않도록 swap 메모리를 추가할당하는 방법을 알아보도록 하겠습니다. [root@localhost ~]# dd if=/dev/zero of=/home/swapfile bs=1024 count=1000000 1000000+0 records in 1000000+0 records out 1024000000 bytes (1.0..

일반적으로 환경 설정 파일은 관리자가 편집하거나 프로그램으로 분석할 수 있는 텍스트 파일로, 여러 가지 값을 지정해 프로그램의 작동 방법을 결정합니다. 리눅스 기반 운영체제에서는 애플리케이션의 상당 부분이 크고 복잡한 환경 설정 파일에 의존해 수행됩니다. 엔진엑스의 장점 중 하나는 환경 설정이 비교적 간단하다는 점입니다. 습득해야할 원리도 지시어, 블록, 전체 논리 구조 등 몇 개 되지 않습니다. 실제의 환경 설정 과정은 대부분 지시어 값을 정하는 일로 이뤄집니다. 지시어 설정 엔진엑스 환경 설정 파일은 논리적으로 돼 있는 지시어 목록이라 할 수 있습니다. 애플리케이션 전체가 지시어에 부여하는 값에 의해 작동합니다. 기본적인 경로는 /usr/local/nginx/conf/nginx.conf 입니다. #u..
엔진엑스 기본 빌드에는 프록시 모듈이 포함돼 있어 클라이언트로부터의 HTTP 요청을 백엔드 서버에 전달합니다. 여러 관점에서 모듈환경을 설정해봅시다. - 백엔드 서버의 기본 주소와 포트 정보 - 캐싱, 버퍼링, 임시 파일 옵션 - 한계치, 제한시간, 에러 처리 주요 지시어 이 부류의 지시어는 백엔드 서버의 위치, 전달되는 정보, 전달 방법 등과 같은 기본 환경을 설정합니다. 1. proxy_pass (문맥: location, if) 자신의 위치를 표시함으로써 요청이 백엔드 서버로 전달되게 지정합니다. # TCP 소켓을 사용할 때의 구문 proxy_pass http://hostname:port; # 유닉스 도메인 소켓을 사용할 때의 구문 proxy_pass http://unx:/path/to/file.so..
Nginx_with_lua https://yos.io/2016/01/28/building-an-api-gateway-with-lua-and-nginx/ API_Gateway_Pattern https://microservices.io/patterns/apigateway.html lua-nginx-module https://github.com/openresty/lua-nginx-module Lua 5.1 Reference http://www.lua.org/manual/5.1/manual.html The various *_by_lua, *_by_lua_block and *_by_lua_file configuration directives serve as gateways to the Lua API within ..
Shutdown 포트를 제외한 HTTP, HTTPS, AJP 포트는 Connector 속성에 의해 관리된다. address, port 한 호스트 내에서 여러 IP address를 사용하고 있다면 address 속성을 통해 특정 IP address만 listen하도록 설정할 수 있다. 기본 설정 값은 0.0.0.0으로 모든 IP address가 listen한다. o.a.tomcat.util.net.JIoEndpoint 클래스의 bind 메서드를 통해 BIO 방식 Connector의 소켓 생성에 대해 알아본다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @Override public void bind() throws Exception { ... 생략 ... if (serverSocket..
Apache HTTP Server를 배치하는 경우 Tomcat Connector(mod_jk)를 통해 연결하는 것을 전제로 한다. nginx와 같은 웹서버 제품과 연결하여 구성할 수도 있다. Tomcat은 웹 애플리케이션 서버이면서 하나의 자바 애플리케이션이다. Tomcat을 기동하기 위해서는 JRE(Java Runtime Environment)환경에서 JVM상 o.a.catalina.startup.Bootstrap 클래스를 실행해야 한다. 컨트롤러 기기란? yum(Yellowdog updater, Modified): 레드햇 계열 리눅스 패키지 관리 도구 apt(Advanced Packaging Tool): BSD 계열 리눅스 등에 포팅된 패키징 툴 32bit 자바의 최대 사용 가능 메모리를 2^32(4..