LINUX.ORG.RU

waiting (ttfb)

 , ,


0

1

Здравствуйте, есть сервер centos 7 + nginx +php-fpm7 + mariaDB10.
Из-за «хитросделанности» кеширование nginx включить не могу.
Комп core2duo 2.0Ггц + 4гб ram + hdd. Nginx и php-fpm = unix-socket.
Load avr. не поднимается выше 0.1 но при этом всем ttfb(время до первого байта) составляет 600ms. Если же включить кеширование (аякс перестанет работать как надо), но ttfb будет мизерным.
Подскажите плиз как найти на каком участке(nginx-fpm-mariadb) происходит такая длительная задержка, чтобы там уже чего накрутить.
ЗЫ. сильно не ругать. В данной теме не силен. Спасибо за подсказки, если они будут :)



Последнее исправление: Tavols (всего исправлений: 2)
Ответ на: комментарий от goingUp

sar
Linux 3.10.0-514.2.2.el7.x86_64 (server.ok) 02/23/2017 _x86_64_ (2 CPU)

09:40:01 PM __ CPU __ %user __ %nice __ %system __ %iowait __ %steal __ %idle
09:50:01 PM ___ all ___ 0.13 _____ 0.00 _____ 0.13 _____ 0.05 ____ 0.00 ___ 99.69
Average: _____ all ___ 0.13 _____ 0.00 _____ 0.13 _______0.05 ____ 0.00 ___ 99.69

Tavols
() автор топика
Ответ на: комментарий от goingUp

Если я правильно понял то:
[Tav@server ~]$ df
Filesystem _________1K-blocks__Used____Available__Use% __Mounted on
/dev/mapper/cl-root__52403200 __2163576__50239624__5%______/
devtmpfs_____________1925608_______0______1925608__0%______/dev
tmpfs________________1936256_______0______1936256__0%______/dev/shm
tmpfs________________1936256_____33272____1902984__2%______/run
tmpfs________________1936256________0_____1936256__0%______/sys/fs/cgroup
/dev/sda1____________1038336____187792_____850544__19%_____/boot
/dev/mapper/cl-home__45283736____33152____45250584_1%______/home
/dev/mapper/cl-var__209612800__53587484__156025316_26%_____/var
tmpfs________________387252________0_______387252___0%_____/run/user/1000

Tavols
() автор топика
Ответ на: комментарий от Tavols

на каком участке(nginx-fpm-mariadb) происходит такая длительная задержка

Можно попробовать создать пустой php файлик

<?php phpinfo(); 

и проверить, бысто ли его выдаст nginx. Можно включить в BD slow query log, но это вряд ли что-то даст. Возможно задержка из-за обращений куда-то по сети. Может вообще сайт лезет в БД на другом сервере, может где-то ресолвится dns и медленно.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

Спасибо за ответы. Проверил на info.php ttfb составляет почти 170мс
Обращений по сети быть по идее не должно(лишних), сайтик тестовый. БД на этом же сервере.

Tavols
() автор топика
Ответ на: комментарий от goingUp

Тут такое дело. В настройках my.cnf есть путь до сокета /var/lib/mysql/mysql.sock, но по факту этого файла нет. Но все работает и без ошибок вроде.
И второе, если mysql по этому сокету должен ждать входящее соединение то где надо прописывать этот же сокет для исходящих?!(nginx или fpm)или это не обязательно?

Tavols
() автор топика
Ответ на: комментарий от Tavols

Странно, этого файла /var/lib/mysql/mysql.sock нет, но команда lsof /var/lib/mysql/mysql.sock выдает пользователя mysql.

Tavols
() автор топика
Ответ на: комментарий от Tavols

Проверил на info.php ttfb составляет почти 170мс

Это ты через интернет проверял, или с локалхоста?

В настройках my.cnf есть путь до сокета /var/lib/mysql/mysql.sock, но по факту этого файла нет

php.ini должно содержать собственные настройки, но можно и поправить в my.cnf для порядка

И второе, если mysql по этому сокету должен ждать входящее соединение то где надо прописывать этот же сокет для исходящих?!

Mysql не делает исходящих соединений, ничего не нужно.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

Это ты через интернет проверял, или с локалхоста?

Через интернет, но с того же провайдера.

В php.ini тоже дописал этот сокет, ничего не стояло там. Но вроде все также. :(

Tavols
() автор топика
Ответ на: комментарий от goingUp

C:\Users\Администратор>ping 5.11.73.*

Обмен пакетами с 5.11.73.* по с 32 байтами данных:

Ответ от 5.11.73.*: число байт=32 время=4мс TTL=61

Ответ от 5.11.73.*: число байт=32 время=4мс TTL=61

Ответ от 5.11.73.*: число байт=32 время=4мс TTL=61

Ответ от 5.11.73.*: число байт=32 время=5мс TTL=61

Статистика Ping для 5.11.73.*:

Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь)

Приблизительное время приема-передачи в мс:

Минимальное = 4мсек, Максимальное = 5 мсек, Среднее = 4 мсек

Tavols
() автор топика
Ответ на: комментарий от Tavols

если на домен пинг кидать то также

Tavols
() автор топика
Ответ на: комментарий от Tavols

Проверил на info.php ttfb составляет почти 170мс

Ок, раз это не пинг, тогда у тебя проблема с настройкой nginx или php, phpinfo() должно выдастся за время, чуть большее пинга.
С mysql соккетом тоже неплохо было бы разобраться, но задержка по большей части не из-за него.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

А чисто теоретически может быть проблема в firewalld или selinux

Tavols
() автор топика
Ответ на: комментарий от Tavols

ну правда я переустановил php70w-mysqli на php70w-mysqlnd

Tavols
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.