Rumah >pembangunan bahagian belakang >PHP7 >Tiga mod FPM yang kurang dikenali

Tiga mod FPM yang kurang dikenali

醉折花枝作酒筹
醉折花枝作酒筹ke hadapan
2021-07-21 09:39:462227semak imbas

Kami sering menggunakan php-fpm, tetapi tidak semua orang tahu bahawa fpm mempunyai tiga mod Hari ini Xiaonian akan membawa anda memahami tiga mod fpm anda boleh merujuknya jika anda memerlukannya.

Tiga mod FPM yang kurang dikenali

; Choose how the process manager will control the number of child processes.
; Possible Values:
;   static  - a fixed number (pm.max_children) of child processes;
;   dynamic - the number of child processes are set dynamically based on the
;             following directives. With this process management, there will be
;             always at least 1 children.
;             pm.max_children      - the maximum number of children that can
;                                    be alive at the same time.
;             pm.start_servers     - the number of children created on startup.
;             pm.min_spare_servers - the minimum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is less than this
;                                    number then some children will be created.
;             pm.max_spare_servers - the maximum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is greater than this
;                                    number then some children will be killed.
;  ondemand - no children are created at startup. Children will be forked when
;             new requests will connect. The following parameter are used:
;             pm.max_children           - the maximum number of children that
;                                         can be alive at the same time.
;             pm.process_idle_timeout   - The number of seconds after which
;                                         an idle process will be killed.
; Note: This value is mandatory.

pm mempunyai tiga mod: statik, dinamik dan ondemand

statik

Dengan cara ini adalah agak mudah. ​​Pada permulaan, induk mengeluarkan bilangan proses pekerja yang sepadan mengikut konfigurasi pm.max_children, iaitu bilangan proses pekerja ditetapkan.

dinamik

Pengurusan proses dinamik, mula-mula mulakan bilangan pekerja tertentu mengikut pm.start_servers apabila fpm bermula.

Semasa operasi, jika tuan mendapati bahawa bilangan pekerja terbiar adalah lebih rendah daripada bilangan pm.min_spare_servers yang dikonfigurasikan (menunjukkan bahawa terdapat terlalu banyak permintaan dan pekerja tidak dapat mengendalikannya), ia akan menghentikan pekerja proses, tetapi jumlah pekerja tidak boleh melebihi pm.max_children.

Jika tuan mendapati bahawa bilangan pekerja terbiar melebihi pm.max_spare_servers (menunjukkan bahawa terdapat terlalu ramai pekerja terbiar), ia akan membunuh beberapa pekerja untuk mengelak daripada menduduki terlalu banyak sumber melalui 4 nilai ini.

ondemand

Kaedah ini biasanya jarang digunakan Proses pekerja tidak diperuntukkan pada permulaan, dan proses induk dimaklumkan untuk menghentikan proses pekerja selepas terdapat permintaan pekerja tidak melebihi pm. max_children, proses pekerja tidak akan keluar serta-merta selepas pemprosesan selesai, dan akan keluar apabila masa melahu melebihi pm.process_idle_timeout.

pm.max_children: Bilangan proses php-fpm dibuka dalam mod statik.

pm.start_servers: Bilangan permulaan proses php-fpm dalam mod dinamik.

pm.min_spare_servers: Bilangan minimum proses php-fpm dalam mod dinamik.

pm.max_spare_servers: Bilangan maksimum proses php-fpm dalam mod dinamik.

Pemprosesan isyarat FPM

php-fpm reload

php-fpm stop

kill SIGUSR1 php-fpm Gunakan semula fail baharu untuk melengkapkan pemotongan log

kill SIGUSR2 php-fpm Mulakan semula proses kerja dan muat semula fail konfigurasi

S1: Selepas memulakan proses php-fpm, matikan nombor proses induk php-fpm Bolehkah perkhidmatan diteruskan? J: Tidak (semua proses php-fpm ditutup)

S2: Selepas memulakan proses php-fpm, matikan -9 nombor proses induk php-fpm, bolehkah perkhidmatan diteruskan? J: Ya (hanya proses induk dimatikan, proses kerja masih berfungsi)

S2: Selepas memulakan proses php-fpm, bolehkah perkhidmatan diteruskan selepas mematikan nombor proses kerja php-fpm? J: Ya (selepas proses kerja dimatikan, proses kerja baharu dimulakan)

Kitaran hayat FPM

php_module_startup()

fcgi_accept_request()

php_request_startup()

fmp_request_executing()

php_execute_script()

fpm_requset_end()

php_request_shutdown()

Kerana fpm adalah proses pemastautin, jadi selepas

ia akan mula bergelung dari php_request_shutdown(). fcgi_accept_request()

Pembelajaran yang disyorkan:

tutorial video php

Atas ialah kandungan terperinci Tiga mod FPM yang kurang dikenali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam