저사양 저가형 VPS 서버에서 웹서버 운영시 PHP 서버 설정
페이지 정보

본문
저사양 저가형 VPS 서버에서 웹서버 운영시 PHP 서버 설정
# 기본 서버 프로그램
Rocky Linux 8.x
Nginx 1.24
PHP 8.x
디비서버는 분리
# 목적
저사양 서버에서는 속도가 느린 것은 그렇다 치더라도, 서버가 아예 죽어버리는 경우가 종종 발생한다.
그래서, 느린 것은 느리더라도 죽지 않는 서버를 만드는 것이 목적이다.
nginx 보다는 php 의 성능에 밀접한 관련이 있다고 판단하고, php 설정 위주로 설명한다.
# php-fpm 설정
pm = dynamic
pm.max_children = 15
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500
request_snowlog_timeout = 10
request_terminate_timeout = 20
# 설명
우선
pm.start_servers 는 설정하지 않아도 된다. 기본값으로 정해진다.
pm.process_idle_timeout 는 ondemand 일때만 사용된다.
기본적인 설정으로 들어가 보면,
1. spare_servers 를 최대한 적게 설정한다.
안쓰는 process 는 빨리빨리 내리고, 서버 메모리도 확보한다.
2. max_children 을 서버 사양에 비해서 조금 여유롭게 잡는다.
트래픽 순간 폭주시에 받아줄수 있는 여유를 준다. 이게 작으면 금방 php 가 뻗어 버린다.
여기서도 마찬가지로 폭주 후에 process 를 다 내려버려야 하므로 spare_servers 를 적게 설정해야 한다.
3. max_requests 는 적당히 500 정도 준다.
4. timeout 을 준다.
스크립트 실행이 너무 오래 걸리는 것들은 그냥 kill 시켜 버린다.
오래 걸리는 프로세스들은 자원을 계속 잡아 먹게 되고, 쌓이면 서비스 중단을 가져온다.
어차피 웹페이지 로딩 속도가 10초가 넘어간다면 기다려 주는 사람도 없다.
실행시간이 많이 걸리는 부분을 모니터링하기 위해 slowlog 를 기록해 둔다.
오래 걸리는 것을 찾아 내는 등 디버깅 할때 필요하다.
# 기본 서버 프로그램
Rocky Linux 8.x
Nginx 1.24
PHP 8.x
디비서버는 분리
# 목적
저사양 서버에서는 속도가 느린 것은 그렇다 치더라도, 서버가 아예 죽어버리는 경우가 종종 발생한다.
그래서, 느린 것은 느리더라도 죽지 않는 서버를 만드는 것이 목적이다.
nginx 보다는 php 의 성능에 밀접한 관련이 있다고 판단하고, php 설정 위주로 설명한다.
# php-fpm 설정
pm = dynamic
pm.max_children = 15
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500
request_snowlog_timeout = 10
request_terminate_timeout = 20
# 설명
우선
pm.start_servers 는 설정하지 않아도 된다. 기본값으로 정해진다.
pm.process_idle_timeout 는 ondemand 일때만 사용된다.
기본적인 설정으로 들어가 보면,
1. spare_servers 를 최대한 적게 설정한다.
안쓰는 process 는 빨리빨리 내리고, 서버 메모리도 확보한다.
2. max_children 을 서버 사양에 비해서 조금 여유롭게 잡는다.
트래픽 순간 폭주시에 받아줄수 있는 여유를 준다. 이게 작으면 금방 php 가 뻗어 버린다.
여기서도 마찬가지로 폭주 후에 process 를 다 내려버려야 하므로 spare_servers 를 적게 설정해야 한다.
3. max_requests 는 적당히 500 정도 준다.
4. timeout 을 준다.
스크립트 실행이 너무 오래 걸리는 것들은 그냥 kill 시켜 버린다.
오래 걸리는 프로세스들은 자원을 계속 잡아 먹게 되고, 쌓이면 서비스 중단을 가져온다.
어차피 웹페이지 로딩 속도가 10초가 넘어간다면 기다려 주는 사람도 없다.
실행시간이 많이 걸리는 부분을 모니터링하기 위해 slowlog 를 기록해 둔다.
오래 걸리는 것을 찾아 내는 등 디버깅 할때 필요하다.
추천0
댓글목록
등록된 댓글이 없습니다.