Điểm:0

Php-fpm is generating too many proccesses

lá cờ in

I am using a VPS with 2 GB of RAM on a 1 core CPU. (Ubuntu 20.04 + nginx1.21.6 + php7.4 + Mariadb10.5)

And run 3 WordPress websites, and the average number of concurrent users is around 10.

But I recently saw the following error in the log of PHP-FPM.

[pool www] server reached pm.max_children setting (20), consider raising it

And I thought there was something wrong with the server, so I checked several parts.

Because I don't think there's any reason to get a max_children error with this number of visitors.

But no matter how much I check, I don't know why Php-fpm creates so many processors.

Here's the memory usage I checked with ps_mem:

  1.1 MiB + 145.5 KiB =   1.2 MiB       dbus-daemon
812.0 KiB + 488.5 KiB =   1.3 MiB       udisksd
  1.2 MiB + 110.5 KiB =   1.3 MiB       htop
  1.2 MiB + 138.0 KiB =   1.3 MiB       sftp-server (2)
  2.4 MiB +  82.5 KiB =   2.5 MiB       bash
  3.5 MiB + 786.5 KiB =   4.2 MiB       systemd (3)
  4.9 MiB +   1.4 MiB =   6.3 MiB       sshd (4)
 13.3 MiB + 369.5 KiB =  13.6 MiB       multipathd
 14.7 MiB +   3.0 MiB =  17.7 MiB       systemd-journald
 31.1 MiB +   5.8 MiB =  36.9 MiB       nginx (3)
 40.3 MiB +  39.5 KiB =  40.3 MiB       redis-server
 65.0 MiB +   1.2 MiB =  66.2 MiB       fwupd
189.6 MiB + 181.5 KiB = 189.7 MiB       mariadbd
639.8 MiB + 276.8 MiB = 916.5 MiB       php-fpm7.4 (21)

I also checked the access logs, but only a handful of visitors and bots were logged.

the main settings of my web server are as follows.

Timeout config

Nginx
    client_body_timeout 14;
    client_header_timeout 14;
    keepalive_timeout 25;
    send_timeout 13;
Server block
    fastcgi_read_timeout 30;
php 
    max_execution_time = 30

In www.conf

pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 15

In php.ini


[PHP]
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
zend.enable_gc = On
zend.exception_ignore_args = On
expose_php = Off
max_execution_time = 30
max_input_time = 60
max_input_vars = 2000
memory_limit = 128M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 65M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 64M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[CLI Server]
cli_server.color = On
[Pdo_mysql]
pdo_mysql.default_socket=
[Phar]
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.cookie_samesite =
session.serialize_handler = php
session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5
[Assertion]
zend.assertions = -1
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[dba]
[opcache]
opcache.enable=1
opcache.memory_consumption=384
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=130986
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.error_log=/var/log/opcache_error.log

extension=imagick.so

Can someone advise on how to solve this problem or where else I should look again?

lá cờ cn
Có phải thông báo `[pool www] máy chủ đã đạt cài đặt pm.max_children (20), cân nhắc tăng nó` liên tục xuất hiện trong tệp nhật ký của bạn không? Nếu không - bạn không cần phải lo lắng, bạn có thể đã đạt đến một đỉnh cao ngẫu nhiên nào đó và nó không phải là vĩnh viễn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.