Rumah pembangunan bahagian belakang tutorial php 了解php-fpm中max_children的配置

了解php-fpm中max_children的配置

Jul 30, 2020 pm 05:32 PM
php-fpm

了解php-fpm中max_children的配置

现在nginx + fpm 基本成为主流的配置,其中我们比较关注的是pm.max_chindren的配置

首先,我们关注一个设置: pm = static/dynamic。

相关学习推荐:PHP编程从入门到精通

这个选项是标识fpm子进程的产生模式:

static :表示在fpm运行时直接fork出pm.max_chindren个worker进程

dynamic:表示,运行时fork出start_servers个进程,随着负载的情况,动态的调整,最多不超过max_children个进程。

一般推荐用static,优点是不用动态的判断负载情况,提升性能,缺点是多占用些系统内存资源。

上面的告诉我们max_chindren代表的worker的进程数。普遍认为,这个配置越多能同时处理的并发也就越多,这是一个比较大的误区:

  • 1) 其实进程多了,增加进程切换的开销,更核心的是,能并发执行的fpm进程不会超过cpu个数。通过多开worker的个数来提升qps, 是错误的理解,不会说你多开了几个进程,就多出几个cpu来处理。
  • 2) worker进程开少了,如果server比较繁忙的话,会导到nginx把数据打到fpm的时候,发现所有的woker都在工作中,没有空闲的worker来接受请求,从而导致502。
  • 3) 在实际业务中,由于我们有很多的i/o操作,比如读取数据库,或者内部rpc调用这类在等待i/o的过程中,进程会被系统sleep, 而不占用cpu,如果配置worker少了,也会导致cpu利用不上

那worker数到底该怎么配置呢?

理论上woker进程数=cpu的个数是最合理的,但由于第2点,可能每个worker都没处理完请求,这样,就会频现502了。但多开进程,只是说避免502,暂时把请求hang住,但这只是缓解之道,实际上这不但不会增加系统的并发,而且会加重系统的负荷,所以,基于2,3 ,设置一个合理的worker数就比较重要了。

天下武功,唯快不破,只有尽可能的提升程序的效率,把单个请求的时间压缩到最低,这样,单个worker的处理时间变短了,那在单位时间里能处理的请求自然就多了。

那么可以通过每个worker在单位时间内处理的请求数来预估max_children的个数。假如最大的一个请求的处理时间(xhprof里看cpu时间)是100ms内,而在100ms之内同时有100个请求过来,那了理论上就需要配置100个worker进程,先把请求给hang住。

但最大的请求耗时可能会受很多外在的情况影响,不太好预估,尤其是网络i/o也算在里面,我们可以借用第三方的profile工具,比如xhprof, 这类工具可以统计cpu的耗时,通过这个时间来计算真正的worker数量,比总时间来计算要合理很多,其实这里有一个捷径,来配置你的max_children数, 就是你前期先把max_childnren设置成一个比较大的值,稳定运行一段时间后,观察fpm的status里的 max active processes 是多少,然后把max_children配置比他大一些就ok了。

Atas ialah kandungan terperinci 了解php-fpm中max_children的配置. 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
4 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)

Cara menggunakan php-fpm untuk penalaan berprestasi tinggi Cara menggunakan php-fpm untuk penalaan berprestasi tinggi Jul 08, 2023 am 11:30 AM

Cara menggunakan php-fpm untuk penalaan berprestasi tinggi PHP ialah bahasa skrip sebelah pelayan yang sangat popular yang digunakan secara meluas untuk membangunkan aplikasi web dan tapak web dinamik. Walau bagaimanapun, apabila trafik meningkat, prestasi aplikasi PHP anda mungkin terjejas. Untuk menyelesaikan masalah ini, kita boleh menggunakan php-fpm (FastCGIProcessManager) untuk penalaan berprestasi tinggi. Artikel ini akan memperkenalkan cara menggunakan php-fpm untuk meningkatkan prestasi aplikasi PHP dan menyediakan contoh kod. satu,

Cara menggunakan pengoptimuman PHP-FPM untuk meningkatkan prestasi aplikasi PrestaShop Cara menggunakan pengoptimuman PHP-FPM untuk meningkatkan prestasi aplikasi PrestaShop Oct 05, 2023 pm 12:33 PM

Cara menggunakan pengoptimuman PHP-FPM untuk meningkatkan prestasi aplikasi PrestaShop Dengan perkembangan pesat industri e-dagang, PrestaShop telah menjadi platform e-dagang yang dipilih oleh ramai peniaga. Walau bagaimanapun, apabila saiz kedai bertambah dan bilangan lawatan bertambah, aplikasi PrestaShop mungkin menghadapi kesesakan prestasi. Untuk meningkatkan prestasi aplikasi PrestaShop, kaedah biasa ialah menggunakan PHP-FPM untuk mengoptimumkan dan meningkatkan keupayaan pemprosesan aplikasi. PHP-FPM (FastCGI

Bagaimana untuk meningkatkan prestasi aplikasi WooCommerce anda menggunakan pengoptimuman PHP-FPM Bagaimana untuk meningkatkan prestasi aplikasi WooCommerce anda menggunakan pengoptimuman PHP-FPM Oct 05, 2023 am 08:24 AM

Cara Meningkatkan Prestasi Aplikasi WooCommerce Menggunakan Gambaran Keseluruhan Pengoptimuman PHP-FPM WooCommerce ialah pemalam e-dagang yang sangat popular untuk mencipta dan mengurus kedai dalam talian di laman web WordPress. Walau bagaimanapun, apabila kedai anda berkembang dan trafik meningkat, apl WooCommerce boleh menjadi perlahan dan tidak stabil. Untuk menyelesaikan masalah ini, kami boleh menggunakan PHP-FPM untuk mengoptimumkan dan meningkatkan prestasi aplikasi WooCommerce. Apakah itu PHP-FP

Gunakan kumpulan sambungan php-fpm untuk meningkatkan prestasi capaian pangkalan data Gunakan kumpulan sambungan php-fpm untuk meningkatkan prestasi capaian pangkalan data Jul 07, 2023 am 09:24 AM

Gambaran keseluruhan penggunaan kumpulan sambungan php-fpm untuk meningkatkan prestasi capaian pangkalan data: Dalam pembangunan web, capaian pangkalan data ialah salah satu operasi yang paling kerap dan memakan masa. Kaedah tradisional adalah untuk mencipta sambungan pangkalan data baharu untuk setiap operasi pangkalan data dan kemudian menutup sambungan selepas digunakan. Kaedah ini akan menyebabkan penubuhan dan penutupan sambungan pangkalan data yang kerap, meningkatkan overhed sistem. Untuk menyelesaikan masalah ini, anda boleh menggunakan teknologi kolam sambungan php-fpm untuk meningkatkan prestasi capaian pangkalan data. Prinsip kumpulan sambungan: Kolam sambungan ialah teknologi caching yang menggabungkan beberapa pangkalan data tertentu

Penjelasan terperinci kaedah penalaan php-fpm Penjelasan terperinci kaedah penalaan php-fpm Jul 08, 2023 pm 04:31 PM

PHP-FPM ialah pengurus proses PHP yang biasa digunakan untuk menyediakan prestasi dan kestabilan PHP yang lebih baik. Walau bagaimanapun, dalam persekitaran beban tinggi, konfigurasi lalai PHP-FPM mungkin tidak memenuhi keperluan, jadi kami perlu menalanya. Artikel ini akan memperkenalkan kaedah penalaan PHP-FPM secara terperinci dan memberikan beberapa contoh kod. 1. Tingkatkan bilangan proses Secara lalai, PHP-FPM hanya memulakan sebilangan kecil proses untuk mengendalikan permintaan. Dalam persekitaran beban tinggi, kami boleh menambah baik keselarasan PHP-FPM dengan menambah bilangan proses

Cara menggunakan pengoptimuman PHP-FPM untuk meningkatkan prestasi aplikasi Phalcon Cara menggunakan pengoptimuman PHP-FPM untuk meningkatkan prestasi aplikasi Phalcon Oct 05, 2023 pm 01:54 PM

Cara menggunakan PHP-FPM untuk mengoptimumkan dan meningkatkan prestasi aplikasi Phalcon Pengenalan: Phalcon ialah rangka kerja PHP berprestasi tinggi, yang boleh meningkatkan lagi prestasi aplikasi apabila digabungkan dengan PHP-FPM. Artikel ini akan memperkenalkan cara menggunakan PHP-FPM untuk mengoptimumkan prestasi aplikasi Phalcon dan menyediakan contoh kod khusus. 1. Apakah itu PHP-FMPPHP-FPM (PHPFastCGIProcessManager) ialah proses PHP yang bebas daripada pelayan web

Apa yang perlu dilakukan jika ubuntu tidak mempunyai php-fpm Apa yang perlu dilakukan jika ubuntu tidak mempunyai php-fpm Feb 03, 2023 am 10:51 AM

Penyelesaian untuk Ubuntu tanpa php-fpm: 1. Tambah alamat sumber PHP dengan melaksanakan perintah "sudo apt-get" 2. Semak sama ada terdapat pakej php7 3. Pasang PHP dengan melaksanakan "sudo apt-get perintah install"; 4. , ubah suai konfigurasi untuk mendengar pada port 9000 untuk mengendalikan permintaan nginx; 5. Mulakan "php7.2-fpm" melalui "perkhidmatan sudo php7.2-fpm mula".

Apakah php-fpm? Bagaimana untuk mengoptimumkan untuk meningkatkan prestasi? Apakah php-fpm? Bagaimana untuk mengoptimumkan untuk meningkatkan prestasi? May 13, 2022 pm 07:56 PM

Apakah php-fpm? Artikel berikut akan membawa anda memahami php-fpm dan memperkenalkan perkara yang kami perlukan untuk mengoptimumkan apabila mengoptimumkan php-fpm saya harap ia akan membantu semua orang.

See all articles