За последние 24 часа нас посетили 22565 программистов и 1192 робота. Сейчас ищут 778 программистов ...

Скорость выполнения скрипта в консоли Linux и через PHP-FPM

Тема в разделе "Версионность, тестирование и развёртывание", создана пользователем Yarik.ORG, 30 окт 2018.

  1. Yarik.ORG

    Yarik.ORG Новичок

    С нами с:
    30 окт 2018
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте!

    Я здесь впервые, потому надеюсь, что пишу в правильный раздел.
    Крайне редко пишу на форумах, т.к. обычно ищу пути решения проблем самостоятельно, но в данном случае зашел в тупик, решения во сне не поступили, а сроки поджимают. :)
    У меня вопрос к уважаемым знатокам.
    Дано:
    CentOS 7.4.1708 (Core)
    Nginx 1.12.1
    PHP-FPM 5.6.38 и PHP-FPM 7.0.24
    В обоих версиях PHP скрипт конвертации файла HTML в PDF, используя spipu::html2pdf при запуске из консоли отрабатывает за секунды, а через веб от 4 минут.
    Вопрос: нормально ли это? Если нет, куда смотреть для решения проблемы (ускорения веб-версии) ?

    При необходимости могу предоставить дополнительные данные.
    Спасибо!
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    Это ненормально, что у тебя вебскрипту позволено работать так долго. Чтобы подвесить твой сервер, не надо даже настоящего ДДоС, достаточно несколько раз открыть "тяжёлую" страницу и всё, сайт станет недоступен.
    --- Добавлено ---
    Возможно разница в том, что при веб запуске скрипт ограничен в оперативке. Меньше памяти, меньше скорость - в этом есть логика.
    --- Добавлено ---
    Используй веб только для постановки тяжёлых задач в очередь. Очередь будет разгребаться консольным скриптом. Возможно даже на другом сервере.
     
  3. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Вот прям один и тот же скрипт? Или через веб весь фреймворк цепляешь?
     
  4. Yarik.ORG

    Yarik.ORG Новичок

    С нами с:
    30 окт 2018
    Сообщения:
    2
    Симпатии:
    0
    Да, один и тот же скрипт. Цепляю только autoload.php от composer.

    Скрипт при выполнении через веб-сервер выдает такие показатели по памяти:
    В самом начале скрипта: memory_get_usage(true)/1000000 = 2.097152
    В самом конце скрипта: memory_get_usage(true)/1000000 = 4.194304
    memory_get_peak_usage(true)/1000000 = 4.194304

    Для скриптов на веб выделяю 1Гб оперативной памяти.

    Я согласен, и оперативки и времени на выполнение скрипта очень много отдаю, но иначе не будет работать.

    Надо будет попробовать поднять Apache дополнительно, проверить скорость работы mod_php5 и mod_php7.
     
    #4 Yarik.ORG, 31 окт 2018
    Последнее редактирование: 31 окт 2018