Rumah pembangunan bahagian belakang tutorial php 解决CentOS7中php-fpm进程数过多导致服务器内存资源消耗较大的问题

解决CentOS7中php-fpm进程数过多导致服务器内存资源消耗较大的问题

Jan 13, 2020 pm 02:03 PM
php-fpm

前言:

最近服务器内存使用率一直居高不下,检查之后发现可能和php-fpm进程数过多有关。本文记录了我优化php-fpm配置文件的过程并补充了一些和php-fpm有关的知识。

什么是php-fpm:

php-fpm即FastCGI进程管理器,用于控制php的内存和进程等。

操作环境:

CentOS 7

问题检查:

首先查看php进程总数:

pstree|grep php-fpm
Salin selepas log masuk

回显:

|-php-fpm---20*[php-fpm]
Salin selepas log masuk

根据回显信息可知,查询时有20个php-fpm进程。

也可以通过下面的命令列出消耗内存最多的前50个进程:

ps auxw|head -1;ps auxw|sort -rn -k4|head -50
Salin selepas log masuk

解决过程:

下面我们通过修改配置文件来优化php-fpm,以达到降低内存使用率的目的。

我的php-fpm配置文件在 .../server/php/etc/ 目录下,进入该目录。

先备份一下原配置文件:

cp php-fpm.conf php-fpm.conf.bak
Salin selepas log masuk

注:

使用vim打开配置文件后,按Esc键,之后输入”/”, 再输入“xxx”可以查找“xxx”这个字符串。

具体配置参数如下:

pm.max_children = 100改为:pm.max_children = 25
pm.start_servers = 20改为pm.start_servers = 5
pm.min_spare_servers = 5改为pm.min_spare_servers = 2
pm.max_spare_servers = 35改为pm.max_spare_servers = 10
Salin selepas log masuk

重启服务器:

reboot
Salin selepas log masuk

重启后可以发现内存使用率相比于之前降低了。

注:

1.php-fpm.conf中参数作用的说明:

pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
Salin selepas log masuk

2.进行上述设置时,我将php-fpm的执行方式设置成了动态:

pm = dynamic
Salin selepas log masuk

3.php-fpm有两种执行方式:

一种是Static静态,另一种是Dynamic动态。如果设置成静态,那么只有 pm.max_children 这个参数起作用。如果设置成动态则有 pm.start_servers 、 pm.min_spare_servers 和 pm.max_spare_servers 这三个参数起作用。设置成动态后,当php-fpm启动时会按照 pm.start_servers 的参数设置启动相应个数的进程,之后php-fpm的进程数量将维持在 pm.min_spare_servers 和 pm.max_spare_servers 指定的个数之间。

4.如何选择使用php-fpm的静态还是动态执行方式:

动态php-fpm执行方式允许php-fpm释放多余进程,从而节约内存资源。

静态php-fpm执行方式不允许php-fpm释放多于进程,避免了频繁开启或停止php-fpm进程,从而降低了服务器在某些情况下的响应时间。

更多PHP相关知识,请访问PHP教程

Atas ialah kandungan terperinci 解决CentOS7中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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

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

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

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.

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".

See all articles