OpenLiteSpeed 동적 확장 설정 방법과 PHP 프로세스 최적화

사이트 방문자가 많지 않은데도 페이지 생성 속도가 느려지는 경우가 있습니다. CPU 사용률은 높지 않은데 워드프레스 관리자 화면이 버벅거리거나 특정 시간대에만 응답이 늦어지는 현상이 나타날 수 있습니다.

저 역시 OpenLiteSpeed 서버를 운영하면서 이런 문제를 경험했습니다. 처음에는 VPS 성능 부족으로 생각했지만 로그와 프로세스 상태를 확인하는 과정에서 PHP 요청 처리 수가 제한되어 있다는 점을 발견했습니다. 그 이후 적용한 것이 OpenLiteSpeed 동적 확장 설정입니다.

OpenLiteSpeed 동적 확장이 필요한 상황

워드프레스는 방문자가 페이지를 요청할 때 PHP 프로세스를 사용합니다. 트래픽이 순간적으로 증가하면 준비된 PHP 프로세스 수보다 요청이 많아질 수 있습니다.

이 경우 다음과 같은 증상이 발생할 수 있습니다.

  • 페이지 로딩 속도 저하
  • 관리자 화면 지연
  • WooCommerce 응답 속도 저하
  • CPU 사용률은 낮지만 체감 속도 감소
  • 동시 접속 시 응답 대기 증가

이러한 상황에서 OpenLiteSpeed 동적 확장 설정을 조정하면 PHP 프로세스를 보다 유연하게 운영할 수 있습니다.

External App에서 설정을 변경했습니다

OpenLiteSpeed 동적 확장 설정 방법
OpenLiteSpeed External App 편집 화면

OpenLiteSpeed WebAdmin에 접속한 뒤 Server Configuration → External App 메뉴로 이동했습니다. LiteSpeed SAPI App 항목 우측의 편집 버튼을 선택하면 PHP 관련 설정을 수정할 수 있습니다.

OpenLiteSpeed 동적 확장 설정값

테스트 과정에서 적용했던 값은 아래와 같습니다.

Max Connections = 45
PHP_LSAPI_CHILDREN=30
LSAPI_AVOID_FORK=1

설정 위치는 Max Connections 항목과 Environment 항목입니다.

OpenLiteSpeed LiteSpeed SAPI App 설정 화면에서 Max Connections와 PHP_LSAPI_CHILDREN 값을 입력한 모습
Max Connections 및 Environment 설정

설정을 저장한 뒤 서버를 재시작하면 새로운 값이 적용됩니다.

각 설정이 어떤 역할을 하는지 확인

OpenLiteSpeed 동적 확장의 핵심인 PHP_LSAPI_CHILDREN

PHP_LSAPI_CHILDREN=30

최대 30개의 PHP 프로세스를 동시에 실행할 수 있도록 지정합니다.

값이 너무 낮으면 동시 요청 처리량이 줄어들고, 반대로 너무 높으면 메모리 사용량이 증가합니다.

서버 사양에 따라 적절한 수치를 찾는 과정이 필요했습니다.

Max Connections 값

Max Connections=45

PHP 프로세스가 처리할 수 있는 연결 수입니다.

일반적으로 PHP_LSAPI_CHILDREN 값보다 크게 설정하는 편이 안정적이었습니다.

30개의 프로세스를 사용할 경우 45 정도를 적용했을 때 큰 문제 없이 운영할 수 있었습니다.

LSAPI_AVOID_FORK 설정

LSAPI_AVOID_FORK=1

필요할 때만 프로세스를 생성하도록 하는 옵션입니다.

워드프레스처럼 짧은 PHP 요청이 반복되는 환경에서는 메모리 관리 측면에서 도움이 될 수 있습니다.

서버 사양별 참고했던 수치

OpenLiteSpeed 동적 확장을 적용하면서 여러 값을 테스트해본 결과 아래 범위가 비교적 안정적이었습니다.

2코어 / 4GB RAM

PHP_LSAPI_CHILDREN=30
Max Connections=45

4코어 / 8GB RAM

PHP_LSAPI_CHILDREN=50
Max Connections=75

트래픽이 적은 사이트

PHP_LSAPI_CHILDREN=10
Max Connections=15

다만 정답은 없습니다.

플러그인 수, 캐시 상태, 데이터베이스 부하에 따라 결과가 달라질 수 있습니다.

Virtual Host 설정도 동일하게 맞췄습니다

설정을 적용한 뒤 확인해 보니 글로벌 설정과 Virtual Host 설정이 서로 다르게 유지되는 경우가 있었습니다.

그래서 동일한 값을 Virtual Host 쪽에도 적용했습니다.

OpenLiteSpeed Virtual Host 메뉴에서 External App 편집 화면
Virtual Host External App 설정 위치

Virtual Host 내부에서도 Max Connections와 Environment 값을 같은 수치로 맞췄습니다.

Virtual Host External App에서 PHP_LSAPI_CHILDREN과 Max Connections 값을 수정한 화면
Virtual Host 동적 확장 설정 적용

적용 후 체감했던 변화

OpenLiteSpeed 동적 확장을 적용한 뒤 가장 먼저 느낀 변화는 동시 접속이 발생할 때의 응답 속도였습니다.

CPU 사용률 자체가 크게 감소한 것은 아니었지만 페이지 생성 대기 시간이 줄어들었습니다.

특히 관리자 화면에서 다음과 같은 변화가 있었습니다.

  • 글 저장 속도 개선
  • 관리자 메뉴 이동 속도 개선
  • LiteSpeed Cache 갱신 지연 감소
  • 트래픽 증가 시 응답 안정화

며칠 동안 모니터링했을 때도 별다른 오류 없이 정상적으로 운영되었습니다.

주의했던 부분

OpenLiteSpeed 동적 확장이 항상 성능을 높여주는 것은 아닙니다. PHP_LSAPI_CHILDREN 값을 과도하게 높이면 메모리 사용량이 급증할 수 있습니다. 실제로 한 번은 테스트 과정에서 필요 이상으로 수치를 올렸다가 RAM 사용량이 증가하는 현상을 확인했습니다.

그래서 설정을 변경한 뒤에는 다음 항목을 함께 확인하는 것이 좋습니다.

  • htop
  • top
  • CyberPanel 리소스 모니터
  • OpenLiteSpeed 로그
  • 서버 RAM 사용량

FAQ

OpenLiteSpeed 동적 확장은 모든 서버에 필요한가요?

아닙니다. 현재 성능에 문제가 없다면 기본 설정만으로도 충분할 수 있습니다.

OpenLiteSpeed 동적 확장 적용 후 CPU 사용량이 늘어날 수 있나요?

가능합니다. PHP 프로세스 수를 너무 크게 설정하면 CPU와 RAM 사용량이 함께 증가할 수 있습니다.

Virtual Host 설정도 수정해야 하나요?

글로벌 설정과 Virtual Host 설정이 다르면 예상하지 못한 결과가 나타날 수 있습니다. 동일한 값으로 유지하는 편이 관리하기 수월했습니다.

관련 글 추천

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤