Rumah >pembangunan bahagian belakang >tutorial php >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:
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:
vi /etc/php.ini
;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:
service php-fpm restart
vi /etc/php-fpm.conf
;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!