张贴到php-fpm会增加磁盘I / O写入 [英] POST-ing to php-fpm increases disk i/o writes

查看:107
本文介绍了张贴到php-fpm会增加磁盘I / O写入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在向应用程序发送大约100KB的POST数据,这会导致php-pfm进程创建许多管道并写入磁盘。

I'm sending POST data about 100KB to my application and it causes php-pfm process to create many pipes and write to disk.

我想知道如何


  PID USERNAME     VCSW  IVCSW   READ  WRITE  FAULT  TOTAL PERCENT COMMAND
 3915 www          6773    298      0     38      0     38   8.86% php-fpm
 3932 www          4744    177      0     10      0     10   2.33% php-fpm
 3753 www          4522    157      0     52      0     52  12.12% php-fpm
 3910 www          3551    166      0     51      0     51  11.89% php-fpm
 3934 www          4169    207      0     45      0     45  10.49% php-fpm
 3989 www          3183    152      0     13      0     13   3.03% php-fpm
 3844 www          4176    134      0     47      0     47  10.96% php-fpm
 3925 www          3533    123      0     13      0     13   3.03% php-fpm
 3935 www          3315    169      0     21      0     21   4.90% php-fpm
 3933 www          3164    144      0     17      0     17   3.96% php-fpm
 3931 www          3313    129      0     13      0     13   3.03% php-fpm
 3917 www          2846    169      0     48      0     48  11.19% php-fpm
 3845 www          2634    178      0     34      0     34   7.93% php-fpm
 3913 www          2660    119      0     26      0     26   6.06% php-fpm

来自fstat的数据


www      php-fpm     5266    1* pipe fffff80e7ef52460  fffff80e7ef522f8      0 rw
www      php-fpm     5266    2* pipe fffff81c75730a50  fffff81c757308e8      0 rw
www      php-fpm     5265    1* pipe fffff801430b6168  fffff801430b6000      0 rw
www      php-fpm     5265    2* pipe fffff801432c4a50  fffff801432c48e8      0 rw
...
root     php-fpm    72450   10* pipe fffff816b3ca72f8  fffff816b3ca7460      0 rw
root     php-fpm    72450   11* pipe fffff801430cdbe0  fffff801430cdd48      0 rw
root     php-fpm    72450   12* pipe fffff80143318be0  fffff80143318d48      0 rw
root     php-fpm    72450   13* pipe fffff8018a5b65f0  fffff8018a5b6758      0 rw
root     php-fpm    72450   14* pipe fffff81b7e6595f0  fffff81b7e659758      0 rw
root     php-fpm    72450   15* pipe fffff816b33ef000  fffff816b33ef168      0 rw
root     php-fpm    72450   16* pipe fffff814569a32f8  fffff814569a3460      0 rw
root     php-fpm    72450   17* pipe fffff81b5384a000  fffff81b5384a168      0 rw
root     php-fpm    72450   18* pipe fffff81b5336bbe0  fffff81b5336bd48      0 rw
root     php-fpm    72450   19* pipe fffff80e7ef532f8  fffff80e7ef53460      0 rw
root     php-fpm    72450   20* pipe fffff81b53a548e8  fffff81b53a54a50      0 rw
root     php-fpm    72450   21* pipe fffff8018a77a5f0  fffff8018a77a758      0 rw
...

PHP应用程序为:

<?php exit; ?>

日志中没有错误。

PID 72450 is php-fpm: master process

几乎每个子进程都有2个打开的管道。

Almost each child process has 2 pipes open.

谢谢!

推荐答案

php-fpm主进程将启动许多子进程,具体取决于您的/ etc / php-fpm.conf文件(配置文件的通常位置)。每个子进程都有通向STDOUT和STDERR的管道,因此在fstat中列出了这些参数。



要更改/每周更改此行为,您需要熟悉特定的配置文件,并可能减小默认情况下创建的php-fpm池的大小?显然,该池旨在启动并可以立即处理任何后续查询,因此合适的配置值将取决于您预期的站点使用情况等。



HTH

The php-fpm master process will 'spin up' a number of child processes, as determined in your /etc/php-fpm.conf file (usual location for the config file). Each child process has pipes open for STDOUT and STDERR, hence the parameters listed in fstat.

To change/tweek this behaviuour you would need to familiarise yourself with your particlar config file, and maybe reduce the size of the php-fpm pool created by default? The pool is obviously intended to be spun up and ready to handle any subsequent queries without delay, so suitable config values will depend upon your intended site usage etc.

HTH

这篇关于张贴到php-fpm会增加磁盘I / O写入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆