Rumah pembangunan bahagian belakang tutorial php 对于PHP-FPM参数的理解

对于PHP-FPM参数的理解

Aug 21, 2019 am 10:01 AM
fpm

process_control_timeout

英文解释

process_control_timeout mixedTime limit for child processes to wait for a reaction on signals from master.
Available units: s(econds), m(inutes), h(ours), or d(ays) Default Unit: seconds. Default value: 0.
Salin selepas log masuk

中文解释

process_control_timeout
 mixed
设置子进程接受主进程复用信号的超时时间。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。
Salin selepas log masuk

中文翻译有个不恰当的地方,英文解释里并没有指明该信号是复用信号。

我的理解:

处理请求

原则上,php-fpm会选择空闲的fastcgi进程去处理请求,在处理之前,php-fpm会给fastcgi发送信号,用来让fastcgi进程准备好接受请求处理。但是fastcgi进程并不总是能够处理请求,也就是不能总是响应该信号(比如出现假死的情况),这时候就需要设定php-fpm留给fastcgi进程响应信号的时间,如果超时了,php-fpm会想其他办法(例如选择其他fastcgi进程),这个就process_control_timeout参数的作用。

php-fpm进行reload

process_control_timeout = 10

<?php 
sleep(50);echo 1;sleep(20);    
//没有这个sleep,reload会立即生效echo 2;
Salin selepas log masuk

当浏览器访问http://localhost时,进行php-fpm平滑reload,fastcgi信号收到关闭进程信号后,第一个sleep函数会直接返回,但是第二个sleep仍在执行。因此,php-fpm会被这一个旧fastcgi进程卡10s,超过后才能完成平滑重启

request_terminate_timeout

php-fpm.conf文件中的描述如下:

; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the &#39;max_execution_time&#39; ini option
; does not stop script execution for some reason. A value of &#39;0&#39; means &#39;off&#39;.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0
Salin selepas log masuk

翻译过来就是:
request_terminate_timeout参数设置了处理单个请求的超时时间,过了之后,该worker进程就会被kill掉。这个选项应该在php.ini文件的max_execution_time选项由于某种原因没有停止脚本的运行下使用。默认值为0,表示该选项为关闭状态。

正如上面所说,request_terminate_timeout设定的是请求的超时时间,而php.ini配置中的max_execution_time根据手册如下的解释,是脚本被允许的最大执行时间。

max_execution_time
 integer
这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。
最大执行时间不会影响系统调用和系统操作等。更多细节参见 set_time_limit()。
在 安全模式 下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini中修改时间限制。
你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。
Salin selepas log masuk

区别如下:

超时后,request_terminate_timeout会返回502Bad Gateway了,而max_execution_time会抛出Fatal Error

max_execution_time不包括诸如使用system()sleep()的系统调用、流操作、数据库操作等的时间,所以比较鸡肋,而request_terminate_timeout会包含程序的完整请求时间。

另外,开启request_terminate_timeout并不会让max_execution_time失效,先到达谁的超时时间谁起作用。

更过相关PHP问题请访问PHP中文网:https://www.php.cn/

Atas ialah kandungan terperinci 对于PHP-FPM参数的理解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kegagalan permulaan PHP7-FPM dalam persekitaran Linux Bagaimana untuk menyelesaikan masalah kegagalan permulaan PHP7-FPM dalam persekitaran Linux Mar 11, 2024 pm 02:12 PM

Kaedah untuk menyelesaikan masalah kegagalan permulaan PHP7-FPM dalam persekitaran Linux Apabila menggunakan pelayan Linux untuk membina tapak web atau aplikasi, PHP7-FPM ialah pengurus proses PHPFastCGI yang biasa digunakan. Walau bagaimanapun, kadangkala anda menghadapi masalah bahawa PHP7-FPM gagal dimulakan, yang mungkin menyebabkan tapak web tidak dapat diakses secara normal. Dalam artikel ini, kami akan membincangkan beberapa penyelesaian biasa dan memberikan contoh kod khusus. Saya harap maklumat ini dapat membantu anda menyelesaikan masalah kegagalan permulaan PHP7-FPM dengan cepat. meneliti

Selesaikan masalah kehilangan PHP-FPM dalam Ubuntu Selesaikan masalah kehilangan PHP-FPM dalam Ubuntu Mar 08, 2024 pm 09:45 PM

Untuk menyelesaikan masalah kekurangan PHP-FPM dalam Ubuntu, contoh kod khusus diperlukan Dalam sistem Ubuntu, memasang dan mengkonfigurasi PHP-FPM adalah operasi biasa, tetapi kadangkala masalah kehilangan PHP-FPM berlaku semasa proses pemasangan. Artikel ini memperincikan cara menyelesaikan masalah ini dan menyediakan contoh kod khusus untuk membantu anda menyelesaikan pemasangan dan konfigurasi. 1. Semak sama ada PHP-FPM telah dipasang Mula-mula, gunakan arahan berikut untuk menyemak sama ada PHP-FPM telah dipasang dalam sistem: dpkg-l|gr

Bagaimana untuk menangani kegagalan permulaan PHP7-FPM di bawah Linux Bagaimana untuk menangani kegagalan permulaan PHP7-FPM di bawah Linux Mar 10, 2024 pm 09:54 PM

PHP7-FPM di bawah Linux ialah pengurus proses PHPFastCGI biasa, yang biasanya digunakan untuk mengendalikan program PHP. Walau bagaimanapun, kadangkala semasa proses konfigurasi atau penggunaan, anda mungkin menghadapi situasi di mana PHP7-FPM gagal dimulakan, menyebabkan tapak web tidak dapat diakses secara normal. Dalam kes ini, kita perlu mengambil beberapa langkah untuk menangani dan menyelesaikan masalah tersebut. 1. Semak log ralat dahulu semak log ralat PHP7-FPM Biasanya log ralat terletak di /var/log/php7-fpm.

Apakah itu nginx smooth restart dan FPM smooth restart? Apakah itu nginx smooth restart dan FPM smooth restart? May 23, 2023 pm 09:08 PM

Graceful restart GR ialah singkatan dari Graceful Restart Ia adalah satu mekanisme untuk memastikan perkhidmatan pemajuan tidak terganggu apabila protokol dimulakan semula. Teras mekanisme GR ialah apabila peranti memulakan semula protokol, ia boleh memberitahu peranti sekelilingnya untuk mengekalkan hubungan jiran yang stabil dan laluan ke peranti dalam tempoh masa tertentu. Selepas protokol dimulakan semula, peranti persisian membantunya menyegerakkan maklumat (termasuk pelbagai topologi, penghalaan dan maklumat sesi yang diselenggarakan oleh penghalaan/protokol berkaitan MPLS yang menyokong GR), memulihkan peranti kepada keadaan sebelum dimulakan semula dalam masa yang sesingkat mungkin. negeri. Tiada laluan mengepak semasa keseluruhan proses mulakan semula protokol, dan tidak akan ada perubahan dalam laluan pemajuan paket Keseluruhan sistem boleh memajukan data tanpa gangguan. Proses ini dipanggil permulaan semula yang lancar.

Bagaimana untuk menyelesaikan kod status HTTP perkhidmatan nginx+php-fpm 502 Bagaimana untuk menyelesaikan kod status HTTP perkhidmatan nginx+php-fpm 502 May 21, 2023 am 08:07 AM

Untuk salah satu projek web kami, disebabkan peningkatan dalam bandar baharu, bilangan lawatan telah meningkat dan tekanan terhadap DB telah meningkat Sebagai pihak perniagaan yang menyediakan antara muka, sejumlah besar permintaan "502" telah dilaporkan baru-baru ini melalui maklum balas hiliran. 502, badgateway, biasanya ralat di hulu (ini adalah PHP, sebab biasa 502 ialah pelaksanaan skrip melebihi masa tetapan tamat masa, atau tetapan tamat masa terlalu besar, mengakibatkan proses PHP tidak menjadi). dikeluarkan untuk masa yang lama, dan tidak ada pekerja terbiar untuk mengambil tetamu. Projek kami disebabkan oleh tetapan masa pelaksanaan PHP yang terlalu singkat Dalam kes ini, anda boleh terlebih dahulu meningkatkan masa pelaksanaan PHP dengan sewajarnya dan memastikan bahawa 502 dikosongkan terlebih dahulu.

Menyelesaikan Cabaran Kehilangan PHP-FPM dalam Sistem Ubuntu Menyelesaikan Cabaran Kehilangan PHP-FPM dalam Sistem Ubuntu Mar 08, 2024 pm 02:48 PM

Apabila menyelesaikan cabaran kehilangan PHP-FPM dalam sistem Ubuntu anda, anda perlu mengikuti satu siri langkah untuk memasang dan mengkonfigurasi PHP-FPM. PHP-FPM (FastCGIProcessManager) ialah pengurus proses yang mengendalikan permintaan halaman dinamik dan boleh meningkatkan prestasi dan kestabilan aplikasi PHP. Butiran berikut cara memasang dan mengkonfigurasi PHP-FPM pada sistem Ubuntu dan menyediakan contoh kod khusus untuk membantu menyelesaikan cabaran ini. Langkah 1: Pengemaskinian sistem sedang dijalankan

Bagaimana untuk mengkonfigurasi log ralat PHP apabila menggunakan PHP-FPM dalam Nginx Bagaimana untuk mengkonfigurasi log ralat PHP apabila menggunakan PHP-FPM dalam Nginx May 15, 2023 am 08:58 AM

nginx berbeza daripada apache Dalam apache, anda boleh menentukan log ralat php secara langsung, supaya maklumat ralat semasa pelaksanaan php dimasukkan terus ke dalam log ralat php, yang boleh ditanya dengan mudah. Dalam nginx, perkara menjadi seperti ini: nginx hanya merekodkan log akses untuk lawatan halaman. Tidak akan ada maklumat log ralat php. nginx menghantar permintaan untuk php ke proses php-fpmfastcgi untuk pemprosesan php-fpm lalai hanya akan mengeluarkan mesej ralat php-fpm, dan log ralat php tidak dapat dilihat dalam log ralat php-fpm. Sebabnya ialah fail konfigurasi php php-fpm

Petua untuk mengendalikan pengecualian permulaan PHP7-FPM pada pelayan Linux Petua untuk mengendalikan pengecualian permulaan PHP7-FPM pada pelayan Linux Mar 11, 2024 am 11:09 AM

Ia adalah amalan biasa untuk menggunakan PHP7-FPM sebagai persekitaran berjalan skrip sebelah pelayan pada pelayan Linux, tetapi kadangkala anda mungkin menghadapi pengecualian permulaan. Artikel ini akan memperkenalkan beberapa teknik untuk menangani pengecualian permulaan PHP7-FPM dan menyediakan beberapa contoh kod khusus untuk membantu pembaca menyelesaikan masalah dengan lebih baik. 1. Semak fail konfigurasi. Fail konfigurasi PHP7-FPM biasanya terletak dalam direktori /etc/php/7.x/fpm/pool.d/ untuk memastikan bahawa konfigurasi dalam fail konfigurasi adalah betul. Boleh membuat

See all articles