본문 바로가기

컴퓨터/노트북/인터넷

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 1384 2024.12.12
공지 사랑LOVE 포인트 만렙! 도전 4608 2025.03.19
공지 🚨(뉴비필독) 전체공지 & 포인트안내 2 25843 2024.11.04
공지 URL만 붙여넣으면 끝! 임베드 기능 20425 2025.01.21
10639 일반 "갤럭시S6엣지 플러스, 3000mAh 대용량 배터리 탑재"… 왜? 1082 2015.07.20
10638 정보 # TAKIS 서버용 my.cnf... 830 2023.11.06
10637 ' 크래시 밴디쿳 4: 이츠 어바웃 타임', PS5, Xbox Series X, Switch판의 발매가 3월 12일로 결정. PC판은 금년 후반을 예정. 51 2021.02.11
10636 일반 ' 크래시 밴디쿳 4: 이츠 어바웃 타임', PS5, Xbox Series X, Switch판의 발매가 3월 12일로 결정. PC판은 금년 후반을 예정. 497 2023.03.27
10635 일반 '10배 빠른' 5G 지하철 와이파이…다음달부터 중단 1245 2023.11.24
10634 정보 '11시간 쓸 수 있다' 광고한 300만 원대 맥북 배터리 5시간이면 '아웃'...6개월째 수리도 못받아 - 소비자가 만드는 신문 786 2021.02.21
10633 정보 '5G 아이폰12'는 4종으로…애플, 제품군 다변화 나섰다 - 한겨레 749 2021.02.21
10632 일반 'LG G8 씽큐' 배터리 수명 늘어날까…3400~3500mAh 배터리 탑재 전망 191 2019.02.08
10631 일반 'LG G8 씽큐' 배터리 수명 늘어날까…3400~3500mAh 배터리 탑재 전망 1784 2023.03.27
10630 정보 'LG 롤러블폰 개발 중단 우려' 中BOE, 아이폰13 물량 공략 - 이데일리 694 2021.02.24
10629 정보 'M1 맥북 에어 vs. M1 맥북 프로' 어떤 제품을 어떤 구성으로 구매해야 할까 - ITWorld Korea 735 2021.03.06
10628 정보 'M자 탈모' 사라지는 아이폰… "갤럭시 닮아간다" - 머니S - Money S 747 2021.03.06
10627 정보 '美-中 대립' 최고조에도...中서 애플 아이폰만 유일한 성장 - 뉴데일리경제 771 2021.02.21
10626 정보 '갤럭시 vs 아이폰' 12만 LG 임직원 선택은 - IT조선 777 2021.02.21
10625 정보 '갤럭시S21 울트라' 국내모델 엑시노스2100·12GB램 탑재 69 2020.12.26
10624 정보 '국대폰' 갤럭시S21 및 아이폰12 미니 포함한 기존 기종 프로모션 진행 - 잡포스트 763 2021.02.21
10623 정보 '국대폰' 아이폰12 미니· 갤럭시S21 특가 판매 및 무료 나눔 이벤트 진행 - 에너지경제신문 751 2021.02.24
10622 정보 '국대폰' 최신 스마트폰 갤럭시S21 및 아이폰12 미니 특가 판매 프로모션 진행 - ITBizNews 775 2021.02.22
10621 정보 '국대폰', 갤럭시S21·아이폰12 특가 판매 진행 - 이투뉴스 768 2021.03.06
10620 정보 '극딜나라' 갤럭시S20, 아이폰12 PRO 35만원 이상 할인 - 아이티비즈 767 2021.03.01
10619 일반 '눈에 띄게 얇아진' Apple Watch Series 10, 결국 수면 무호흡증 감지 기능 탑재 file 137 2024.09.06
10618 일반 '모토로라폰’ LG헬로비전 통해 재상륙 544 2022.12.31
10617 일반 '모토로라폰’ LG헬로비전 통해 재상륙 1795 2023.03.27
10616 '미르4' 희귀 강화석 어디서 얻어요? 86 2021.02.03
10615 일반 '미르4' 희귀 강화석 어디서 얻어요? 404 2023.03.27
10614 정보 '배신자 삼성 무너뜨리는게 목표'…혐한에 빠진 세계 최대 제조대행 [뉴스人사이드] - 아시아경제 782 2021.03.01
10613 정보 '비트코인 인기 상당하네'...업비트, 구글·애플 앱마켓 1위 석권 734 2021.02.22
10612 정보 '빨간색이 주황색으로'…아이폰12서 '색빠짐 현상' 나타나 - 이데일리 783 2021.03.17
10611 정보 '빵집폰' 갤럭시노트10 및 갤럭시S10 5G, LG V50s ThinQ 재고정리 - 아이티비즈 718 2021.03.06
10610 일반 '신학기 시즌 시작'…유통업계 할인 大戰 - 아시아경제 53 2023.03.27
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 355 Next
/ 355