Panduan Penalaan Prestasi PHP-FPM
Ikhtisar:
Dengan pembangunan berterusan tapak web dan aplikasi, PHP-FPM telah menjadi peranan yang sangat penting dalam keupayaan untuk menyediakan kandungan dinamik. Walau bagaimanapun, apabila bilangan lawatan meningkat, PHP-FPM mungkin menghadapi kesesakan prestasi. Dalam panduan ini, kami akan merangkumi beberapa amalan dan strategi terbaik untuk penalaan prestasi PHP-FPM untuk membantu anda merealisasikan potensi prestasi penuhnya.
pm.max_children: Ini ialah bilangan maksimum proses anak yang boleh diproses secara serentak dalam kumpulan proses PHP-FPM. Anda boleh menentukan nilai ini dengan melihat jumlah memori pelayan, bilangan teras CPU dan beban sebenar. Menetapkannya terlalu tinggi boleh mengakibatkan beban pelayan yang tinggi, dan menetapkannya terlalu rendah boleh mengakibatkan sumber terbuang dan permintaan dibatalkan. Sebagai contoh, nilai biasa boleh menjadi jumlah memori dibahagikan dengan purata penggunaan memori setiap proses PHP.
Contoh:
pm.max_children = 50
pm.start_servers: Parameter ini menetapkan bilangan proses anak yang dibuat apabila PHP-FPM bermula. Nilai ini boleh dilaraskan mengikut keadaan sebenar untuk memastikan tiada kelewatan selepas permulaan.
Contoh:
pm.start_servers = 5
pm.min_spare_servers dan pm.max_spare_servers: Mereka masing-masing menetapkan bilangan minimum dan maksimum proses anak yang tersedia dalam kumpulan proses PHP-FPM untuk mengendalikan permintaan terbiar. Laraskan kedua-dua nilai ini berdasarkan keadaan beban sebenar untuk memastikan terdapat proses yang mencukupi untuk mengendalikan permintaan sambil menghalang pembaziran sumber.
Contoh:
pm.min_spare_servers = 2 pm.max_spare_servers = 10
Elakkan menggunakan terlalu banyak sumber: Mengurangkan penggunaan memori, mengoptimumkan pertanyaan dan mengelak menggunakan terlalu banyak gelung semuanya boleh mengurangkan masa pelaksanaan skrip PHP dan dengan itu meningkatkan prestasi.
Contoh:
// 减少内存使用 $variable = "This is a long string"; // 优化查询 $query = "SELECT * FROM table WHERE column = :value"; // 避免过度循环 for ($i = 0; $i < 1000; $i++) { //... }
Gunakan caching: Menggunakan teknologi caching yang sesuai, seperti Redis atau Memcached, boleh meningkatkan prestasi dengan mengurangkan akses kerap kepada pangkalan data atau sumber lain.
Contoh:
// 从缓存中获取数据 $data = $redis->get('key'); if (!$data) { // 访问数据库并将数据缓存起来 $data = $db->query('SELECT * FROM table'); $redis->set('key', $data); }
[opcache] opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=4000 opcache.validate_timestamps=0
Ini adalah beberapa prinsip dan kaedah asas untuk mengoptimumkan prestasi PHP-FPM. Ingat, penalaan prestasi ialah proses berterusan yang boleh dilaraskan dan dipertingkatkan berdasarkan senario aplikasi sebenar. Dengan mengkonfigurasi PHP-FPM dengan betul dan mengoptimumkan kod PHP, anda akan dapat menggunakan sepenuhnya potensi prestasi PHP-FPM dan meningkatkan kelajuan tindak balas serta prestasi tapak web dan aplikasi.
Atas ialah kandungan terperinci panduan penalaan prestasi php-fpm. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!