ホームページ >バックエンド開発 >PHPチュートリアル >Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス チューニング

Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス チューニング

PHPz
PHPzオリジナル
2023-10-12 08:14:39834ブラウズ

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

Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス チューニング

はじめに:
現代の Web アプリケーション開発では、パフォーマンスが重要な考慮事項です。アプリケーションのパフォーマンスを最適化すると、ユーザー エクスペリエンスが大幅に向上し、大量の同時リクエストを処理する際のサーバー リソースの消費を削減できます。この記事では、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 という 2 つのサービスを定義します。アプリ サービスは、Web サーバーとして Nginx を使用する PHP アプリケーションです。 db サービスは、MariaDB を使用するデータベースです。

2. Nginx のパフォーマンス チューニング
Nginx は、PHP アプリケーションのフロントエンド サーバーとして使用できる高性能 Web サーバーです。

以下は 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/*;
}

上記の構成ファイルでは、いくつかのパフォーマンス最適化構成を作成しました:

  • Multi を利用するためにワーカープロセスを追加します。 -コアCPUのパフォーマンス。
  • worker_connections を設定して同時接続数を増やします。
  • sendfile、tcp_nopush、および tcp_nolay を使用して、データ転送パフォーマンスを最適化します。
  • 接続を長時間維持するには、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_buffer_pool_size を増やします。 InnoDB ストレージ エンジンの。
  • 書き込みパフォーマンスを向上させるには、innodb_log_file_size を増やします。
  • トランザクション送信のパフォーマンスを向上させるには、innodb_flush_log_at_trx_commit を 2 に設定します。
  • max_connections を増やして、最大接続数を増やします。
  • key_buffer_size を増やしてクエリのパフォーマンスを向上させます。

4. 結論
Docker Compose、Nginx、MariaDB を使用すると、PHP アプリケーションのパフォーマンスを簡単に最適化できます。 Docker Compose はアプリケーションの展開と管理プロセスを簡素化し、Nginx は高性能のフロントエンド サーバーとして機能し、MariaDB はより優れたデータベース パフォーマンスを提供できます。また、パフォーマンス チューニングの実行方法をより深く理解できるように、具体的な構成ファイルの例も提供します。

この記事ではいくつかの基本的なパフォーマンス チューニング構成のみを説明しますが、特定のニーズに応じてさらに最適化することができます。ハードウェア リソースを適切に割り当て、アプリケーション設定を調整することで、PHP アプリケーションのパフォーマンスをさらに向上させることができます。この記事がお役に立てば幸いです、ありがとうございます!

以上がDocker Compose、Nginx、MariaDB を使用した PHP アプリケーションのパフォーマンス チューニングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。