본문 바로가기

컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

조회 수 1763 추천 수 0 댓글 0

단축키

Prev이전 문서

Next다음 문서

수정 삭제

단축키

Prev이전 문서

Next다음 문서

수정 삭제
Extra Form
# prefork MPM
# StartServers : 시작할 서버 프로세스 수
# MinSpareServers : 여유있게 보관되는 서버 프로세스의 최소 수
# MaxSpareServers : 여유있게 보관되는 서버 프로세스의 최대 수
# ServerLimit : 서버 수명 동안 MaxClients의 최대 값
# MaxClients : 시작할 수있는 최대 서버 프로세스 수
# MaxRequestsPerChild : 서버가 처리하는 최대 요청 수
<IfModule prefork.c>
StartServers 4
MinSpareServers 3
MaxSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 10000
</ IfModule>


 

나는 내 직업에서 높은 교통량을 처리해야했고, 나는 과거에 기억과 많은 어려움을 겪지 않고 다운 타임과 싸웠다. 이 기사에서는 많은 읽기와 시험을 집중적으로 수행하는 apache2 성능 설정에 대한 단계별 가이드를 제공하고자합니다.

내 환경

 

"htop"은 Apache와 PHP-FPM의 정확한 자식 프로세스 수를 표시하지 않습니다.
"ps_mem"과 "htop"을 모두 실행해도 문제가 없지만 "ps_mem"runnig가 더 중요합니다. 기사의 요점은 작업량이 증가함에 따라 Apache 및 PHP-FPM의 하위 프로세스가 증가하도록하는 것입니다.

이게 도움이 되길 바란다. 다른 경험이 있거나 내 공식 / 계산 능력을 향상시킬 수 있다고 생각되면 전화를 끊으십시오. 마찬가지로 설정을 계산하는 간단한 웹 인터페이스를 만들 수도 있습니다 ...하지만 지금은 다시 작동해야합니다 ;-)

평균 메모리 사용량 및 maxclients / max-children의 사전 계산

1. 프로세스 크기 계산

머신에서 실행할 수있는 프로세스의 수를 알아야합니다. 따라서 메인 CPU / 메모리 드라이버의 프로세스 크기를 계산해야합니다.

거기에 몇 가지 계산 방법이 있습니다. 개인적으로 공유 메모리를 고려하여 실제 메모리 사용에 대한 통찰력을 제공하므로이 Python 스크립트를 선호합니다.

cd ~
wget https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py
chmod a+x ps_mem.py
sudo python ps_mem.py

ps_mem.py는 다음과 같은 출력을 생성합니다 :

 

여기에 30 개의 apache2 프로세스가 있으며 총 139MB의 iB 를 사용하므로 각 Apache 프로세스에서 약 5MB의 RAM을 사용하고 있음을 알 수 있습니다. php-fpm5.6 프로세스는 약 50MiB를 사용합니다.

2. 아파치 MaxRequestWorkers를 계산하십시오.

보안을 위해 다른 모든 프로세스 (내 경우 ~ 2,4GiB)에 대해 15 %의 메모리를 예약하고 Apache 프로세스 크기를 5MiB로 반올림합니다.

= (Total RAM - Memory used for Linux, DB, etc.) / process size
= (16384MB - 2400MB) / 5MB = 2800

3. php-fpm max-children 계산

안전을 위해서, 나는 다른 모든 프로세스를 위해 1 GiB를 예약하고 PHP 프로세스 크기를 55MiB로 반올림합니다.

maxclients = (Total RAM - Memory used for Linux, DB, etc.) / process size
maxclients = (16384MB - 2400MB) / 55MB = 256

내 동료 인 Thomas Herweg가 계산을 위해이 Excel 시트를 준비했습니다.https://s3.buckpesch.io/downloads/apache_performance.xlsx

세부 설정

에서 /etc/apache2/mods-enabled/mpm-event.conf또는 /etc/apache2/mods-enabled/mpm-worker.conf파일 :

<IfModule mpm_*_module>
  ServerLimit           (Total RAM - Memory used for Linux, DB, etc.) / process size
  StartServers          (Number of Cores)
  MinSpareThreads       25
  MaxSpareThreads       75
  ThreadLimit           64
  ThreadsPerChild       25
      (Total RAM - Memory used for Linux, DB, etc.) / process size
  MaxConnectionsPerChild   1000
</IfModule>

기본 설정에는 "ServerLimit"이 포함되어 있지 않으므로 여기에 추가했습니다.

에서 /etc/php/7.1/fpm/pool.d/www.conf다음과 같은 설정을 변경 :

pm = dynamic            
pm.max_children         (total RAM - (DB etc) / process size)
pm.start_servers        (cpu cores * 4)
pm.min_spare_servers    (cpu cores * 2)
pm.max_spare_servers    (cpu cores * 4)
pm.max_requests         1000

모든 php-fpm 설정에 대해 알아 보려면 해당 페이지의 비디오를 시청하는 것이 좋습니다. https://serversforhackers.com/c/php-fpm-process-management

마지막 설정

내 서버에는 16GB RAM과 4 CPU ¼ 2,4GHz가 있습니다. 내 avarage apache 프로세스는 5MB, 평균 PHP 프로세스는 55MB가 걸린다.

/etc/apache2/mods-available/mpm_event.conf



2800





2800

/etc/php/7.1/fpm/pool.d/www.conf







설정을 저장하고 아파치와 php-fpm 프로세스를 다시 시작하십시오.


테스트 설정

서버 설정을 테스트하려면 Apache Bench 테스트를 실행하고 서버가 어떻게 작동하는지 확인하십시오 htop .

2 개의 터미널과 다음 명령을 실행하여 100 개의 병렬 요청으로 동시성이있는 5000 개의 요청을 테스트합니다.

아파치 벤치를 이용한 부하 테스트

시뮬레이션 프로세스 개선 (zzzplayer 제안)

내가 할 수있는 한 가지 제안은 시뮬레이션 된 아파치 벤치 (* 후에 프로세스가 유휴 상태의 자식 프로세스를 제거하기 때문에 *) 후에 * 및 * 빨리 ps_mem을 실행하도록 독자들에게 알려주는 것이다. Apache와 PHP-FPM 모두에 대해 시뮬레이션 된 작업 부하 전후의 자식 프로세스의 정확한 수를 표시합니다.

 


컴퓨터/노트북/인터넷

IT 컴퓨터 기기를 좋아하는 사람들의 모임방

List of Articles
번호 분류 제목 조회 수 날짜
공지 뉴스 구글 최신 뉴스 file 1452 2024.12.12
HOT글 일반 샤오미 BE6500 라우터 실사용 후기 (Wi-Fi 7 + 2.5G 스위치 기능까지 ㄷㄷ) 4 1012 2025.06.28
공지 🚨(뉴비필독) 전체공지 & 포인트안내 20 28635 2024.11.04
공지 URL만 붙여넣으면 끝! 임베드 기능 22744 2025.01.21
10641 정보 `보안` 차별성 강조하는 애플…이번엔 M1 맥에 보안 최강 - 매일경제 - 매일경제 726 2021.02.21
10640 일반 ? 페어폰? file 63 2022.03.03
10639 일반 ???: RTX 50이 전작보다 전기를 더먹는다고..? file 73 2024.09.07
10638 일반 ???: 핫딜 올려봐~~~ 108 2022.02.09
10637 .2Ghz에 도달한 AMD Ryzen 7 2700X 샘플 포착 126 2018.04.02
10636 일반 .Android 8.0 오레오의 신기술은 어떤것이 있을까 81 2017.08.24
10635 일반 .Android 8.0 오레오의 신기술은 어떤것이 있을까 94 2017.08.24
10634 .exe 파일을 추출 하는 프로그램 2 487 2019.01.25
10633 일반 .exe 파일을 추출 하는 프로그램 495 2023.03.27
10632 정보 'LG V30' 출시 색상 암시? LG전자, 새로운 티저 공개(영상) 99 2017.08.23
10631 일반 '지원 종료' 윈도 서버 2003 사용 기업을 위한 2가지 조언 747 2015.07.20
10630 정보 ‘180억 매출’ 용산 전자업체 (컴퓨리) 파산 file 215 2024.10.21
10629 일반 ‘30TB 벽’ 깬 32TB 하드 등장…소비자용 디스크 시대 저무는 이유 207 2024.10.21
10628 정보 ‘갤럭시S21’을 3만원에?…통신3사, 최대 61만원 불법 지원 - 조선비즈 749 2021.03.01
10627 정보 ‘굿바이 인텔’, 애플 자체 칩셋 탑재 맥북 첫 선 - 국민일보 773 2021.02.21
10626 정보 ‘도둑 시청’ 새 누누티비 문 열었다…OTT 업계 '한숨' 446 2023.06.24
10625 정보 ‘삼성폰 언박싱’ 유튜버의 한탄 “정말 열심히 만들었는데…” [IT선빵!] - 헤럴드경제 뉴스 - 헤럴드경제 1036 2021.03.17
10624 정보 ‘아이폰 위탁생산’ 대만 폭스콘, 전기차 생산 추진 - 동아일보 735 2021.02.22
10623 정보 ‘아이폰12 15만원→갤S21 17만원’ 구매 가격 낮아진다 [IT선빵!] - 헤럴드경제 뉴스 - 헤럴드경제 771 2021.03.17
10622 정보 ‘아이폰12’ 8천만대 공급한다는 애플... 中 만리장성 무사히 넘을까 - 조선비즈 775 2021.02.21
10621 정보 ‘아이폰12’ 분해하니 한국 부품 27%…미국·일본 제치고 1위 - 조선비즈 736 2021.02.21
10620 정보 ‘아이폰13’, ‘노치 디자인·충전 케이블’ 모두 없어질까? 주사율은? - 아주경제 733 2021.03.01
10619 정보 ‘음성SNS’ 인기에 ‘아이폰’ 수요 늘어 - 경향신문 745 2021.02.21
10618 ‘카트라이더 러쉬플러스’, 포르쉐코리아와 e스포츠 제휴 이벤트 진행 19 2021.02.03
10617 정보 ‘클럽하우스’에 ‘번개장터’ 효과?…중고 아이폰8 값 오히려 올랐다 - 중앙일보 - 중앙일보 786 2021.03.01
10616 일반 ‘테라’ 권도형 “싱가포르 있다”더니…현지 사무실 폐쇄 750 2022.12.31
10615 정보 ‘하입비스트’가 확인해본 애플 '맥세이프 듀오 충전기' & '신형 맥북 에어'의 성능은? - HYPEBEAST 720 2021.02.21
10614 일반 "갤럭시S6엣지 플러스, 3000mAh 대용량 배터리 탑재"… 왜? 1083 2015.07.20
10613 정보 “5G는 갤럭시”… 美 다운로드 속도 측정서 아이폰 압도 - 머니S - Money S 993 2021.03.17
10612 정보 “ARM 기반 13인치 맥북 프로·아이맥, 올해 말 나온다” - ZD넷 코리아 734 2021.02.21
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 355 Next
/ 355