Skip to content

inexistenzz/test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  1. Собрать образы nginx и php-fpm:

    docker build -t nginx:local . docker build -t php-fpm:local .

  2. Запустить docker-compose.yml:

    docker-compose up -d

  3. Проверить, что сайт открывается:

    curl localhost:8181

Для отладки скрипта использовал strace с параметром -с:

strace -c php index.php

Вывод показывает следующую статистику по вызовам при выполнении данного скрипта:

изображение

Для сравнения я выполнил дебаг скрипт example.php, который выводит "Hello World":

изображение

Тут видно, что в сравнении с index.php, кол-во read вызовов значительно меньше.

Предполагаю, что зависание сайта происходит из-за большого количества вызовов read.

В скрине выше по скрипту index.php в выводе есть ошибка в вызове read, решил ее продебажить при помощи команды strace -f -e read php index.php:

изображение

Далее, чтобы получить более подробную картину , командой strace -yy php index.php получил следующий вывод:

изображение

Вывод: в контексте poll выше на картинке revents=POLLOUT означает, что сокет готов к записи, но не готов к чтению, возможно код не проверяет данный флаг, но все равно пытается считать. Возможно это так же влияет на время работы скрипта.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors