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

PHPz
リリース: 2023-10-12 08:24:01
オリジナル
720 人が閲覧しました

使用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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!