공유할 서비스 선택

TECH


TECH

Middleware (오픈소스 활용-20) apache, nginx (prefork & worker) 방식에 따른 MaxClient 적용방법

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 832회 좋아요 0회 작성일 23-05-23 17:17

본문

안녕하세요. 미들웨어 입니다.

 

Nginx, Apache 을 사용하다 보면 서비스가 느려지는 경우가 종종 발생합니다.

WAS 상태일경우는 모니터링Tool이 워낙 잘되있어서 scouter, jennifer등으로 확인 하면 되지만, 

WEB Server 경우는 모니터링 하기가 좀 까다롭긴 합니다.

 

apache, nginx에서 default 로 설치하면 누락되는 부분이 바로 MaxClient 부분 입니다.

이 내용은 WEB Server 에서 MaxClient 설정을 재대로 안잡아줘서 리소스가 충분한데도 사용을 못하는 경우 참고하시면 좋은 내용으로 작성해봤습니다.

실제로 얼마전에도 해당 옵션으로 서비스 지연부분을 해결했습니다. 

 

 

- Apache worker 내용링크



apache 에서 MaxClient 를 증가해서 사용할 경우가 많습니다.

사용량이 많을때나, 아니면 부하테스트를 할때... MaxClient 의 값을 조절하는데요.

그럴때 apache 에서는 두가지 방식으로 ./configure 을 수행합니다.

defailt... 값은 ./configure 할때 아무것도 안넣어 주면 profork 방식으로 진행이 됩니다.

허나 cpu가 많고 서버사양이 좋으면 보통.. worker 방식을 선호하긴 합니다.

 

이번에 알려드리는 방법은 profork 방식일때 MaxClient 를 조절하는 방법과 worker방식일때 조절하는 방법에 대해 정리해 드리겠습니다.

profork 일경우와 worker 경우일때 적용방법의 차이가 있으며 apache 의 default 설정값은 prefork입니다. 

worker 방식을 사용하고자 할경우 ./configure 수행시 --with-mpm=worker 옵션 삽입하면 됩니다. 

 

 

1번... 자신의 apache 가 prefork 방식인지 worker 방식인지 확인하는 방법

위 처럼 설정을 하시고 /bin/ ./httpd -V 로 확인해보시면 아래의 사향이 나옵니다.

 

[preorderweb5:/apache/apache-2.2.21/bin]# ./httpd -V

.....

Architecture:   64-bit

Server MPM:     Prefork

  threaded:     no

    forked:     yes (variable process count)

Server compiled with....

 -D APACHE_MPM_DIR="server/mpm/prefork"                     <-- 이걸로 자신의 apache 의 설정값 확인가능.

... 생략

 

 

  

1) prefork 방식 (안전성이 뛰어남)

자식프로세스   <--->  스레드

자식프로세스   <--->  스레드

자식프로세스   <--->  스레드

 

 

2) worker 방식 (다중방식으로 처리가 가능)

                       <--- 스레드 (1)

자식프로세스       <--- 스레드 (2)

                       <--- 스레드 (3)

 

 

 

###########################

 (DEFAULT_SERVER_LIMIT 설정)

###########################

경로 : /server/mpm/prefork/prefork.c 

파일 : prefork.c 

#define DEFAULT_SERVER_LIMIT 256 <-- 1024 or 2048로 변경

 

경로 : server/mpm/worker/worker.c

파일 : worker.c

#define DEFAULT_SERVER_LIMIT 16 <-- 128 로 변경

(server/mpm/prefork/prefork.c 의 SERVER_LIMIT 값을 1024로 변경한경우)

 

#define DEFAULT_SERVER_LIMIT 16 <-- 256 로 변경

(server/mpm/prefork/prefork.c 의 SERVER_LIMIT 값을 2048로 변경한경우)

 


###############

 (MaxClient 설정)

###############

아파치 컴파일

1) /conf/httpd.conf 

Include conf/extra/httpd-mpm.conf

 

2) /conf/extra/httpd-mem.conf 파일 수정

=> prefork 일때 ..

<IfModule mpm_prefork_module>

    StartServers         16

    MinSpareServers      256

    MaxSpareServers      1024

    MaxClients          2048

    MaxRequestsPerChild   0

</IfModule>

 

 

=> worker 일때 .. (MaxClients  2048 ~ 4096 지원가능)

<IfModule mpm_worker_module>

    StartServers          16

    MaxClients          2048

    MinSpareThreads      256

    MaxSpareThreads      1024

    ThreadsPerChild      64

    MaxRequestsPerChild   0

</IfModule>


위 처럼 수정하신뒤 ./apachectl restart 하실때 에러없이 기동되면 정상적으로 설정이 됩니다. 
그럼... 열공하세요~

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
106 Middleware 미들웨어 아이디로 검색 전체게시물 04-22 16
(오픈소스 활용-28) was에서 T4CConnection (Locked) 발생시 해결방법

카테고리 : Middleware

16 0
작성자 : 미들웨어 24/04/22
105 Middleware 미들웨어 아이디로 검색 전체게시물 04-08 48
(오픈소스 활용-28) Java Flight Recorder 이란? Java 모니터링을 구현가능

카테고리 : Middleware

48 0
작성자 : 미들웨어 24/04/08
104 Middleware 미들웨어 아이디로 검색 전체게시물 03-21 112
(오픈소스 활용-27) Redis Cache 란? 활용방법과 다운로드

카테고리 : Middleware

112 0
작성자 : 미들웨어 24/03/21
103 Middleware 미들웨어 아이디로 검색 전체게시물 03-07 147
(weblogic 활용) WebLogic Kubernetes Toolkit-UI (무료) 설치 및 구성가이드

카테고리 : Middleware

147 0
작성자 : 미들웨어 24/03/07
102 Middleware 미들웨어 아이디로 검색 전체게시물 02-20 365
(AI-2) Chat-GPT 4All - 허깅페이스 & LLM 국내 인기순위 (Open Ko-LLM LeaderBoard)

카테고리 : Middleware

365 0
작성자 : 미들웨어 24/02/20
101 Middleware 미들웨어 아이디로 검색 전체게시물 02-06 392
(AI-1) Chat-GPT 4All - PC 설치 방법

카테고리 : Middleware

392 0
작성자 : 미들웨어 24/02/06
100 Middleware 미들웨어 아이디로 검색 전체게시물 01-19 197
(오픈소스 활용-26) scouter 2.22 에서 Weblogic14 모니터링 등록 중 이슈 조치방법

카테고리 : Middleware

197 0
작성자 : 미들웨어 24/01/19
99 Middleware 미들웨어 아이디로 검색 전체게시물 01-06 300
(오픈소스 활용-25) scouter 2.22 에서 JEUS8 모니터링 등록 하는 방법

카테고리 : Middleware

300 0
작성자 : 미들웨어 24/01/06
98 Middleware 미들웨어 아이디로 검색 전체게시물 12-22 273
(오픈소스 활용-24) 리눅스 java, python 우선순위 설정방법 - (update-alternatives 명령어)

카테고리 : Middleware

273 0
작성자 : 미들웨어 23/12/22
97 Middleware 미들웨어 아이디로 검색 전체게시물 12-07 523
(Apache) Apache 2.4.37 & Weblogic-14 연동방법 (mod_wl_24.so 활용)

카테고리 : Middleware

523 0
작성자 : 미들웨어 23/12/07
Total 106건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top