• Resolved aziad

    (@aziad)


    На сервере был включен отлов медленных логов (slow-logs). Периодически получаю такой трейс:

    [21-Jun-2019 09:26:04] WARNING: [pool www] child 29048, script '/var/www/findhow.org/public/index.php' (request: "POST /index.php") executing too slow (32.744806 sec), logging
    
    [21-Jun-2019 09:26:04]  [pool www] pid 28027
    script_filename = /var/www/xxxxx.ru/public/index.php
    [0x00007f8655e16390] session_start() /var/www/xxxxx.ru/public/wp-content/plugins/cyr2lat/vendor/a5hleyrich/wp-background-processing/classes/wp-async-request.php:73
    [0x00007f8655e162a0] add_hooks() /var/www/xxxxx.ru/public/wp-includes/class-wp-hook.php:286
    [0x00007f8655e15f10] apply_filters() /var/www/xxxxx.ru/public/wp-includes/class-wp-hook.php:310
    [0x00007f8655e15e50] do_action() /var/www/xxxxx.ru/public/wp-includes/plugin.php:465
    [0x00007f8655e15b00] do_action() /var/www/xxxxx.ru/public/wp-settings.php:525
    [0x00007f8655e129d0] [INCLUDE_OR_EVAL]() /var/www/xxxxx.ru/public/wp-config.php:96
    [0x00007f8655e127a0] [INCLUDE_OR_EVAL]() /var/www/xxxxx.ru/public/wp-load.php:37
    [0x00007f8655e12200] [INCLUDE_OR_EVAL]() /var/www/xxxxx.ru/public/wp-blog-header.php:13
    [0x00007f8655e120d0] [INCLUDE_OR_EVAL]() /var/www/xxxxx.ru/public/index.php:17

    Не совсем понятно, зачем библиотека для фоновых процессов в плагине (wp-background-processing), но не хочется отдавать ресурсы сервера на выполнение прочих процессов.
    Сделайте, пожалуйста, опцию для отключения любых фоновых обработчиков в cyr2lat. Просто, поймите, постоянно борюсь с сайтом, оптимизирую скрипты, запросы, чтобы сохранить дорогостоящие ресурсы, а тут оказывается плагин транслитерации тормозит весь сервер, прежние версии плагина же как-то работали без этого.

    Использую уже лет 6 на всех сайтах, плагин отличный, ничего лишнего не было, до последних обновлений. Спасибо.

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author mihdan

    (@mihdan)

    Эта библиотека нужна для выполнения фоновых задач на огромных сайтах, где нужны транслитить по 100к адресов. Работает только, если вы поставили галочку по конвертации старых адресов. Обычно на сервере стоит ограничение в 30сек на выполнение одной задачи РНР и многие жаловались, что плагин не успевает за этот короткий промежуток переделать все адреса, поэтому эти задачи были убраны на фон.

    Современные реалии требуют современных решений. Если вам не нужны фоновые задачи – не ставьте галочку. Можете сконвертить старые адреса при помощи wp-cli интерфейса, например.

    Plugin Author kaggdesign

    (@kaggdesign)

    В readme и описании плагина указано, что мы конвертируем ярлыки в фоновом процессе. Ни у кого из плагинов-аналогов такой возможности нет. Следовательно, для конвертации ярлыков на больших сайтах аналоги cyr2lat не подходят.

    Та же самая библиотека используется во многих других плагинах, где требуется обработка большого количества постов: WooCommerce, WPML, Elementor.

    Для своей работы библиотека фоновых процессов открывает сессию при любом запуске плагина, и именно в этом месте у вас возникает проблема. Возможно, виной тому неправильная настройка сервера. Попробуйте сделать тест в одну строчку: session_start() и посмотреть на результат запуска его в разное время. Проблемы с созданием сессии на вашем сервере могут привести к проблемам функционирования ряда других плагинов, например, WooCommerce.

    Тем не менее, у нас есть план в ближайшие выходные сделать так, чтобы сессия открывалась только в случае пакетной обработки ярлыков (после нажатия на кнопку Convert Existing Slugs на странице настроек плагина).

    • This reply was modified 5 years, 8 months ago by kaggdesign.
    Thread Starter aziad

    (@aziad)

    mihdan, по поводу галочки – в последней версии в настройках я не нашел галочки по конвертации старых адресов, есть только кнопка “Конвертировать существующие ярлыки” и мап таблицы для языков. Ее я никогда не трогал.

    kaggdesign, сессии на сервере не использую, но попробовал вручную на тестовом скрипте вызывать session_start(), отрабатывает без тормозов и ошибок. Попробую, конечно, еще потестить.

    И еще вопрос, для чего запускается wp-background-processing, если у меня все слаги уже в транслите, я так понимаю, он должен отрабатывать только при нажатии кнопки “Конвертировать существующие ярлыки”?

    Plugin Author mihdan

    (@mihdan)

    @aziad выпустили новую версию 4.2.1, которая должна помочь вам и тормоза пропадут.

    Было бы неплохо, чтобы вы отписались помогла ли текущая версия исправить вашу проблему.

    Спасибо.

    Thread Starter aziad

    (@aziad)

    С новой версией второй день slow-лог чистый, надеюсь, что больше тормозов не будет. Команде разработчиков спасибо за адекватную техподдержку и оперативность.
    5 звезд плагину уже ставил ранее.
    Удачи и успехов!

    Plugin Author mihdan

    (@mihdan)

    Стараемся, спасибо за добрые слова!

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘wp-background-processing замедляет сервер’ is closed to new replies.