Настройка nginx+php-fpm+mariadb (Нужна помошь в настройке)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

atwooo
Сообщения: 27

Настройка nginx+php-fpm+mariadb

Сообщение atwooo » 05.03.2019 15:57

Добрый день.
В данный момент есть сервер
24 потока+ 64Гб памяти и все на SSD

Крайне медленно отдает контент. Я почти уверен что я что-то где то не так настроил.
Подскажите в какую сторону можно посмотреть?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15177
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Настройка nginx+php-fpm+mariadb

Сообщение Bizdelnick » 05.03.2019 16:06

Я бы для начала посмотрел в сторону mytop.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

atwooo
Сообщения: 27

Re: Настройка nginx+php-fpm+mariadb

Сообщение atwooo » 05.03.2019 16:15

Понял. Щас я поставлю эту штуку и гляну. Но буквально пару дней назад я взял готовый конфиг. Я конечно не уверен что он сильно грамотно настроен но все же.
https://ruhighload.com/mycnfexample?ram=32
Предположил что из 64 Гиг я 32 выделю строго на базу данных поэтому взял конфиг на 32.
Есть еще одна странность. Из 64 гиг памяти потребляется только 5-6 Гиг по данным htop.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15177
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Настройка nginx+php-fpm+mariadb

Сообщение Bizdelnick » 05.03.2019 16:20

В конфиге есть ещё одно место, в сторону которого стоит посмотреть: /var/log/mysql/mysql-slow.log
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

atwooo
Сообщения: 27

Re: Настройка nginx+php-fpm+mariadb

Сообщение atwooo » 05.03.2019 16:22

Bizdelnick писал:
05.03.2019 16:20
mysql-slow.log
Это знаю. Но не смотрел только по одной причине. Сам сайт не менялся. А сервер и конфиги менялись. Вот от чего я думаю что дела не в том что появились медленные запросы. Они как бы были но не сильно мешали.
Добавлено (16:23):
установил и запустил mytop
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15177
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Настройка nginx+php-fpm+mariadb

Сообщение Bizdelnick » 05.03.2019 16:25

Ну тогда конфиги в студию. Причём желательно и старые, и новые.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

atwooo
Сообщения: 27

Re: Настройка nginx+php-fpm+mariadb

Сообщение atwooo » 05.03.2019 16:25

Вот мой конфиг базы данных на основе готового конфига

Код: Выделить всё

cat /etc/my.cnf.d/server.cnf 
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]
old_passwords               = 0
bind-address                = *

skip-external-locking
skip-name-resolve	    = 1

max_allowed_packet          = 16M
key_buffer_size             = 16M
innodb_buffer_pool_size     = 16384M
innodb_file_per_table       = 1
innodb_flush_method         = O_DIRECT
innodb_flush_log_at_trx_commit  = 0
max_connections             = 256
query_cache_size            = 0

slow_query_log              = /var/log/mysql/mysql-slow.log
long_query_time             = 1

expire_logs_days            = 10
max_binlog_size             = 100M


#bind-address		= *
#key_buffer              = 32M
#key_buffer_size		= 5G
#read_buffer_size	= 1M
#read_rnd_buffer_size	= 24M
#max_allowed_packet      = 64M
#thread_stack            = 192K
#thread_cache_size       = 4096
#myisam-recover		= BACKUP
#max_connections		= 2048
#max_connect_errors	= 50
#table_cache		= 2048
#max_heap_table_size	= 512M
#tmp_table_size		= 512M
#sort_buffer_size	= 8M
#join_buffer_size	= 2M
#query_cache_limit       = 256M
#query_cache_size        = 512M
#slow_query_log_file	= /var/log/mysql/mysql-slow.log
#slow_query_log		= 1
#long_query_time		= 5
#expire_logs_days        = 10
#max_binlog_size         = 100M
#skip_name_resolve	= 1

# this is only for embedded server
[embedded]

# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]

# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

[mariadb-5.5]
Добавлено (16:28):
Там ниже есть закомментированные параметры параметры - это старые параметры.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15177
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Настройка nginx+php-fpm+mariadb

Сообщение Bizdelnick » 05.03.2019 21:55

А чего key_buffer_size такой маленький сделали? Было 5G, стало 16M.
И конфиг nginx тоже не лишним было бы глянуть.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

atwooo
Сообщения: 27

Re: Настройка nginx+php-fpm+mariadb

Сообщение atwooo » 17.03.2019 17:47

Это я просто нашел готовый конфиг под мой объем памяти и попытался с ним работать. Главным образом оно мало что поменяло - а точнее ничего не поменяло.
Конфиг nginx

Код: Выделить всё

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    client_max_body_size 2048m;
    
    proxy_buffer_size   128k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   256k;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}
Добавлено (17:54):
Я попробовал взять другой сервер и поработать на дефолтных конфигах.
Ситуация со список процессов ровно та же.
Большая часть памяти если верить htop она не задействована.
Такое ощущение что где то в системе стоит ограничение на тему потребления памяти или еще какое то ограничение которое не дает сервисам сожрать всю память.
На старом сервере было чуть по другому поведение. При запуске стресс теста было видно что размножаются проессы и сжирают всю память... ну и конечно же после этого сервер падает. А тут...стресс тест показывает что нагружаются процы...увеличиваются процессы но память они кушать не хотят( Как бы я не грузил сервер более 6 гиг из 64 оно не потребляет.
Скрин приложил.
Снимок экрана 2019-03-17 в 17.49.33.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 774
ОС: Gentoo

Re: Настройка nginx+php-fpm+mariadb

Сообщение ormorph » 17.03.2019 20:59

Хм, что то не вижу где там вообще прописано php, может конечно где то в /usr/share/nginx/modules/*.conf или /etc/nginx/conf.d/*.conf;
Тогда конфиг то не полный. А так тыц.
Спасибо сказали: