Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penalaan prestasi aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB

Penalaan prestasi aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB

PHPz
PHPzasal
2023-10-12 08:14:39750semak imbas

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

Penalaan prestasi aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB

Petikan:
Dalam pembangunan aplikasi web moden, prestasi adalah pertimbangan yang penting. Mengoptimumkan prestasi aplikasi anda boleh meningkatkan pengalaman pengguna dengan ketara dan mengurangkan penggunaan sumber pelayan apabila mengendalikan sejumlah besar permintaan serentak. Artikel ini memperkenalkan cara menggunakan Docker Compose, Nginx dan MariaDB untuk mengoptimumkan penalaan prestasi aplikasi PHP dan menyediakan contoh kod khusus.

1. Penggunaan Docker Compose
Docker Compose ialah alat yang disediakan secara rasmi oleh Docker, yang boleh menjalankan berbilang perkhidmatan dengan mentakrifkan dan mengurus berbilang bekas. Gunakan Docker Compose untuk memudahkan proses penggunaan dan pengurusan aplikasi.

Berikut ialah contoh fail konfigurasi 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

Dalam fail konfigurasi di atas, kami telah menentukan dua perkhidmatan: app dan db. Perkhidmatan aplikasi adalah aplikasi PHP kami, menggunakan Nginx sebagai pelayan web. Perkhidmatan db ialah pangkalan data kami, menggunakan MariaDB.

2. Penalaan prestasi Nginx
Nginx ialah pelayan web berprestasi tinggi yang boleh digunakan sebagai pelayan hadapan untuk aplikasi PHP.

Berikut ialah contoh fail konfigurasi 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/*;
}

Dalam fail konfigurasi di atas, kami telah membuat beberapa konfigurasi pengoptimuman prestasi:

  • Tingkatkan proses_pekerja untuk memanfaatkan prestasi CPU berbilang teras.
  • Tetapkan sambungan_pekerja untuk meningkatkan bilangan sambungan serentak.
  • Gunakan sendfile, tcp_nopush dan tcp_nodelay untuk mengoptimumkan prestasi pemindahan data.
  • Tetapkan keepalive_timeout untuk mengekalkan sambungan yang lama.
  • Matikan server_tokens untuk menyembunyikan nombor versi Nginx.
  • Tingkatkan server_names_hash_bucket_size untuk meningkatkan prestasi hos maya.

3. Penalaan prestasi MariaDB
MariaDB ialah cabang MySQL dengan prestasi yang lebih baik dan lebih banyak fungsi.

Berikut ialah contoh fail konfigurasi 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

Dalam fail konfigurasi di atas, kami telah membuat beberapa konfigurasi pengoptimuman prestasi:

  • Tingkatkan innodb_buffer_pool_size untuk meningkatkan prestasi enjin storan InnoDB.
  • Tingkatkan innodb_log_file_size untuk meningkatkan prestasi penulisan.
  • Tetapkan innodb_flush_log_at_trx_commit kepada 2 untuk meningkatkan prestasi komitmen transaksi.
  • Tingkatkan max_connections untuk meningkatkan bilangan maksimum sambungan.
  • Tingkatkan key_buffer_size untuk meningkatkan prestasi pertanyaan.

IV Kesimpulan
Dengan menggunakan Docker Compose, Nginx dan MariaDB, kami boleh mengoptimumkan prestasi aplikasi PHP dengan mudah. Docker Compose boleh memudahkan proses penggunaan dan pengurusan aplikasi, Nginx boleh berfungsi sebagai pelayan hadapan berprestasi tinggi, dan MariaDB boleh memberikan prestasi pangkalan data yang lebih baik. Kami juga menyediakan contoh fail konfigurasi khusus untuk membantu anda memahami dengan lebih baik cara melakukan penalaan prestasi.

Walaupun artikel ini hanya menyediakan beberapa konfigurasi penalaan prestasi asas, anda boleh terus mengoptimumkan mengikut keperluan khusus anda. Dengan memperuntukkan sumber perkakasan dengan betul dan melaraskan tetapan aplikasi, anda boleh meningkatkan lagi prestasi aplikasi PHP anda. Semoga artikel ini bermanfaat kepada anda, terima kasih!

Atas ialah kandungan terperinci Penalaan prestasi aplikasi PHP menggunakan Docker Compose, Nginx dan MariaDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn