Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kunci untuk meningkatkan prestasi laman web: Panduan praktikal pengoptimuman PHP-FPM

Kunci untuk meningkatkan prestasi laman web: Panduan praktikal pengoptimuman PHP-FPM

王林
王林asal
2023-10-05 09:28:411057semak imbas

Kunci untuk meningkatkan prestasi laman web: Panduan praktikal pengoptimuman PHP-FPM

Kunci untuk meningkatkan prestasi tapak web: Panduan praktikal pengoptimuman PHP-FPM

Dengan perkembangan pesat Internet, tapak web memainkan peranan yang semakin penting. Bagi pengendali laman web, meningkatkan prestasi laman web adalah penting, bukan sahaja untuk meningkatkan pengalaman pengguna, tetapi juga untuk meningkatkan kedudukan enjin carian. PHP-FPM (Pengurus Proses FastCGI), sebagai pengurus proses untuk PHP berjalan, memainkan peranan penting dalam meningkatkan prestasi laman web. Artikel ini akan memberi anda panduan praktikal untuk pengoptimuman PHP-FPM, termasuk contoh kod khusus.

1. Pasang dan konfigurasikan PHP-FPM

Pertama sekali, anda perlu memastikan bahawa PHP telah dipasang pada pelayan. Anda boleh menyemaknya dengan arahan berikut:

php -v

Jika PHP tidak dipasang, sila gunakan arahan berikut untuk memasangnya (mengambil CentOS sebagai contoh):

yum install php

Selepas pemasangan selesai, anda perlu mengubah suai php. ini untuk membolehkan sokongan PHP-FPM. Cari dua baris kod berikut dan ubah suainya:

cgi.fix_pathinfo=0
; FastCGI dynamic process spawning
; Set to 0 if you're not having permission errors when running PHP as a CGI.
; http://php.net/cgi.fix-pathinfo

Ubah suai baris pertama kod kepada:

cgi.fix_pathinfo=1

Ubah suai baris kedua kod kepada:

;cgi.fix_pathinfo=0

Selepas menyimpan pengubahsuaian, mulakan semula perkhidmatan PHP-FPM untuk membuat pengubahsuaian berkesan.

service php-fpm restart

2 Laraskan parameter konfigurasi PHP-FPM

Sebelum mengoptimumkan PHP-FPM, kita perlu memahami beberapa parameter penting PHP-FPM:

  • pm.max_children: Tentukan bilangan maksimum proses, juga Ini adalah. bilangan maksimum proses PHP yang PHP-FPM boleh buat. Apabila nilai ini melebihi, sambungan baharu akan beratur.
  • pm.start_servers: Tentukan bilangan proses PHP yang dibuat semasa permulaan.
  • pm.min_spare_servers: Tentukan bilangan minimum proses terbiar yang PHP-FPM perlu kekalkan.
  • pm.max_spare_servers: Tentukan bilangan maksimum proses melahu yang PHP-FPM perlu kekalkan.
  • pm.max_requests: Menentukan bilangan maksimum permintaan yang dikendalikan oleh setiap proses PHP. Selepas melebihi nilai ini, proses akan dimulakan semula.

Mengikut konfigurasi pelayan dan trafik tapak web, parameter ini boleh dilaraskan dengan sewajarnya untuk meningkatkan prestasi PHP-FPM. Contohnya, jika konfigurasi pelayan rendah, anda boleh menetapkan pm.max_children kepada nilai yang lebih kecil, seperti 20. Jika trafik tapak web tidak tinggi, anda boleh menetapkan pm.min_spare_servers dan pm.max_spare_servers kepada nilai yang lebih kecil, seperti 5.

Anda boleh mengubah suai parameter ini dengan mengedit fail php-fpm.conf:

vi /etc/php-fpm.conf

Cari baris kod berikut untuk diubah suai:

pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500

Selepas menyimpan pengubahsuaian, mulakan semula perkhidmatan PHP-FPM untuk membuat pengubahsuaian berkuat kuasa.

service php-fpm restart

3. Dayakan sambungan OPcache PHP

OPcache ialah pemecut yang diperkenalkan selepas versi PHP 5.5 Ia boleh menyimpan skrip PHP yang dikompilasi ke dalam memori untuk mengurangkan masa penyusunan berulang. Sambungan OPcache boleh didayakan dengan mengikuti langkah-langkah berikut:

  1. Buka fail php.ini:
vi /etc/php.ini
  1. Cari kod berikut:
rreee
  1. Alih keluar "&ops.opt_;" sebelum ini ;" Menentukan laluan sambungan OPcache tertentu, biasanya /usr/lib64/php/modules/opcache.so.
  2. Selepas menyimpan perubahan, mulakan semula perkhidmatan PHP-FPM untuk menjadikan OPcache berkuat kuasa.
;zend_extension = <path_to_opcache.so>

4 Hidupkan fungsi Log Lambat PHP-FPM

Fungsi Log Lambat PHP-FPM boleh merekod permintaan yang masa pelaksanaannya melebihi ambang yang ditentukan ke dalam fail log untuk analisis dan pengoptimuman seterusnya. Anda boleh menghidupkan fungsi Slow Log melalui langkah berikut:

  1. Buka fail php-fpm.conf:
service php-fpm restart
  1. Cari kod berikut:
vi /etc/php-fpm.conf
  1. Alih keluar "_request_" dan ubah suai sebelumnya " kepada Ambang yang diperlukan, dalam beberapa saat. Sebagai contoh, mengubah suainya kepada 1 bermakna permintaan yang mengambil masa lebih daripada 1 saat untuk dilaksanakan akan direkodkan.
  2. Selepas menyimpan perubahan, mulakan semula perkhidmatan PHP-FPM untuk menjadikan fungsi Log Perlahan berkuat kuasa.
;slowlog = /var/log/php-fpm/www-slow.log
;request_slowlog_timeout = 0

5. Gunakan pelayan proksi terbalik seperti Nginx

Menggunakan pelayan proksi terbalik seperti Nginx boleh memajukan permintaan sumber statik kepada Nginx untuk diproses, dengan itu mengurangkan beban PHP-FPM dan meningkatkan prestasi tapak web.

Dalam fail konfigurasi Nginx, anda boleh memajukan permintaan untuk sumber statik kepada Nginx melalui kod berikut:

service php-fpm restart

Kod di atas memajukan permintaan untuk jpg, jpeg, png, gif, ico, css, js dan akhiran lain ke http: Diproses pada //domainanda.com.

6. Gunakan mekanisme caching

Dalam logik perniagaan laman web, mekanisme caching boleh digunakan untuk mengurangkan akses pangkalan data dan penjanaan halaman dinamik, seterusnya meningkatkan prestasi laman web. Ini boleh dicapai menggunakan teknologi caching seperti Redis dan Memcached.

Redis cache boleh digunakan melalui contoh kod berikut:

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
    proxy_pass http://yourdomain.com;
    proxy_set_header Host $host;
}

Kod di atas terlebih dahulu menyemak sama ada maklumat pengguna wujud dalam cache Jika ia wujud, ia diperoleh terus daripada cache, jika ia tidak wujud maklumat pengguna daripada pangkalan data dan menyimpannya dalam cache dan tetapkan masa tamat tempoh kepada 3600 saat.

Ringkasan:

Dengan mengoptimumkan PHP-FPM, kami boleh meningkatkan prestasi tapak web dan meningkatkan pengalaman pengguna. Artikel ini menyediakan panduan praktikal untuk pengoptimuman PHP-FPM dan memberikan contoh kod khusus untuk rujukan anda. Dalam aplikasi sebenar, ia juga boleh dilaraskan dan dioptimumkan mengikut keperluan khusus untuk mencapai prestasi terbaik.

Atas ialah kandungan terperinci Kunci untuk meningkatkan prestasi laman web: Panduan praktikal pengoptimuman PHP-FPM. 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