>  기사  >  백엔드 개발  >  Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 성능 조정

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 성능 조정

PHPz
PHPz원래의
2023-10-12 08:14:39819검색

使用Docker Compose、Nginx和MariaDB优化PHP应用程序的性能调优

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션 성능 조정

인용문:
최신 웹 애플리케이션 개발에서는 성능이 중요한 고려 사항입니다. 애플리케이션 성능을 최적화하면 많은 수의 동시 요청을 처리할 때 사용자 경험을 크게 향상시키고 서버 리소스 소비를 줄일 수 있습니다. 이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 성능 조정을 최적화하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. Docker Compose 사용
Docker Compose는 Docker에서 공식적으로 제공하는 도구로, 여러 컨테이너를 정의하고 관리하여 여러 서비스를 실행할 수 있습니다. Docker Compose를 사용하여 애플리케이션 배포 및 관리 프로세스를 단순화하세요.

다음은 Docker Compose 구성 파일의 예입니다.

version: '3'
services:
  app:
    build: .
    ports:
      - 8000:80
    depends_on:
      - db
  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=root
    volumes:
      - ./data:/var/lib/mysql

위 구성 파일에서는 app과 db라는 두 가지 서비스를 정의했습니다. 앱 서비스는 Nginx를 웹 서버로 사용하는 PHP 애플리케이션입니다. db 서비스는 MariaDB를 사용하는 데이터베이스입니다.

2. Nginx 성능 튜닝
Nginx는 PHP 애플리케이션의 프런트 엔드 서버로 사용할 수 있는 고성능 웹 서버입니다.

다음은 Nginx 구성 파일의 예입니다.

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 1024;
    multi_accept on;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    server_tokens off;

    server_names_hash_bucket_size 64;
    client_max_body_size 32M;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

위 구성 파일에서 여러 성능 최적화 구성을 만들었습니다.

  • 멀티 코어 CPU의 성능을 활용하려면 작업자_프로세스를 늘립니다.
  • 동시 연결 수를 늘리려면 작업자 연결을 설정하세요.
  • sendfile, tcp_nopush 및 tcp_nodelay를 사용하여 데이터 전송 성능을 최적화하세요.
  • 긴 연결을 유지하려면 keepalive_timeout을 설정하세요.
  • Nginx 버전 번호를 숨기려면 server_tokens를 끄세요.
  • 가상 호스트의 성능을 향상하려면 server_names_hash_bucket_size를 늘리세요.

3. MariaDB 성능 튜닝
MariaDB는 더 나은 성능과 더 많은 기능을 갖춘 MySQL의 한 분야입니다.

다음은 샘플 MariaDB 구성 파일입니다.

[mysqld]
innodb_buffer_pool_size = 128M
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
max_connections = 1000
key_buffer_size = 128M

[mysql]
default-character-set=utf8mb4

위 구성 파일에서는 여러 가지 성능 최적화 구성을 수행했습니다.

  • InnoDB 스토리지 엔진의 성능을 향상하려면 innodb_buffer_pool_size를 늘리세요.
  • 쓰기 성능을 향상하려면 innodb_log_file_size를 늘리세요.
  • 트랜잭션 커밋 성능을 향상하려면 innodb_flush_log_at_trx_commit를 2로 설정하세요.
  • 최대 연결 수를 늘리려면 max_connections를 늘리세요.
  • 쿼리 성능을 향상하려면 key_buffer_size를 늘리세요.

IV. 결론
Docker Compose, Nginx 및 MariaDB를 사용하면 PHP 애플리케이션의 성능을 쉽게 최적화할 수 있습니다. Docker Compose는 애플리케이션 배포 및 관리 프로세스를 단순화할 수 있고, Nginx는 고성능 프런트 엔드 서버 역할을 할 수 있으며, MariaDB는 더 나은 데이터베이스 성능을 제공할 수 있습니다. 또한 성능 조정을 수행하는 방법을 더 잘 이해할 수 있도록 특정 구성 파일 예제도 제공합니다.

이 문서에서는 일부 기본 성능 조정 구성만 제공하지만 특정 요구 사항에 따라 추가로 최적화할 수 있습니다. 하드웨어 리소스를 적절하게 할당하고 애플리케이션 설정을 조정하면 PHP 애플리케이션의 성능을 더욱 향상시킬 수 있습니다. 이 기사가 도움이 되기를 바랍니다. 감사합니다!

위 내용은 Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 애플리케이션의 성능 조정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.