Страница 3 из 4

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 09.04.2019 8:27
Sheer
Ну и что?

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 09.04.2019 8:40
KimIV
На виртуальном выделенном сервере в ДЦ Hetzner проделал следующее:
10. http://88.99.12.40/install/app.php/update 09:32
- 09:33 вылет по таймауту.
11. Установил /etc/php5/fpm/php.ini max_execution_time = 300 (было 30)
12. http://88.99.12.40/install/app.php/update 09:41
- 09:46 вылет по таймауту.
13. Установил /etc/php5/fpm/php.ini max_execution_time = 3000 (было 300)
14. http://88.99.12.40/install/app.php/update 09:47
- 10:04 вылет по таймауту.
15. Установил /etc/php5/fpm/php.ini max_execution_time = 21600 (было 3000)
16. http://88.99.12.40/install/app.php/update 10:08
- 10:24 вылет по таймауту.

То есть параметр max_execution_time работает только до 15 минут. При превышении этого значения (max_execution_time => 900) время исполнения всё равно ограничено 15-тью минутами. Что бы это значило? Чем-то перебивается?

Конфигурация сервера следующая:
nginx 1.6.2 + php5-fpm 5.6.37 + mySQL 5.5.60

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 09.04.2019 12:12
Pazh
KimIV, упрямству гордых поем мы песни (с)
Уже сказали же - поставь OpenServer на локалку, выбери 64-битные сервер и БД, выставь очень большой таймаут или обнови через phpcli. Наличие файлов вложений не нужно для обновления.
На каком этапе все зависает? На экране пишется какая миграция выполняется.
Сколько сообщений на форуме? Недавно обновлял 2,5млн сообщений локально с 3.0.11 на 3.2.5 - 3-4 часа без репарсинга сообщений (много мусорных колонок вставлено от модов).

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 09.04.2019 12:44
Татьяна5
8 часов это уже слишком для такого форума
Присоединяюсь к предложению обновления через консоль

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 12.04.2019 13:56
KimIV
Ну вообщем, проделал все подготовительные действия со свежей копией форума:
1. Переключил стили на просильвер.
2. Отключил все расширения.
3. Закинул новые файлы.
И запустил конвертирование БД:

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

cd /var/www/html
php bin/phpbbcli.php --safe-mode db:migrate
Время запуска 11:28. В 15:40 я уже начал волноваться. Пятница, укороченный день, скоро домой, а конвертирование продолжается. Вообщем, поискал в сети, как закрыть терминальное окно без закрытия проги:
1. В консоли нажать клавиши Ctrl+Z. Это останавливает выполнение программы и даёт доступ к командной строке.
2. Далее команды, которые продолжают выполнение программы в фоне:

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

disown -h %1  
bg 1
3. После этого терминальное окно можно закрыть. Я потом заходил на сервер с мобилы через webmin. Посмотрел загрузку процессора (100%). Увидел активным процесс php bin/phpbbcli.php --safe-mode db:migrate и что он нагружает проц на 99% и "успокоился".

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 12.04.2019 20:27
KimIV
Текущее время 22:25, процесс конвертирования всё ещё в разгаре. То есть почти полсуток уже. Это вообще нормально?
Screenshot_2019-04-12-22-23-34-914.jpeg
Screenshot_2019-04-12-22-24-24-177.jpeg

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 12.04.2019 20:30
Sheer
KimIV писал(а): 12.04.2019 20:27 Это вообще нормально?
Нет. Что-то у тебя с БД не алё, ЯТД.

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 13.04.2019 9:54
KimIV
Да, похоже на то... А что делает конвертирование БД?

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 13.04.2019 11:12
Pazh
Pazh писал(а): 09.04.2019 12:12 На каком этапе все зависает? На экране пишется какая миграция выполняется.
Сколько сообщений на форуме?

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 13.04.2019 20:29
Татьяна5
Pazh, на самом многовариантном
KimIV писал(а): 08.04.2019 13:53 [DEBUG] Добавление данных: \phpbb\db\migration\data\v320\text_reparser.
KimIV писал(а): 08.04.2019 14:04 [08-Apr-2019 13:53:16 Europe/Moscow] PHP Fatal error: Maximum execution time of 180 seconds exceeded in C:\OSPanel\domains\localhost\vendor\s9e\text-formatter\src\Configurator.php on line 4281
KimIV писал(а): 08.04.2019 14:33 База: 404.35 МБ
Тем: 3314
Сообщений: 90797
Пользователей: 1385

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 13.04.2019 21:20
Pazh
Можно попробовать закомментировать эту миграцию, а репарсинг потом сделает через stk (но нужно смотреть что в этой миграции делается точно)

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 13.04.2019 21:52
Sheer
Только что об этом подумал.
Pazh писал(а): 13.04.2019 21:20 что в этой миграции делается точно
Нужно попробовать открыть phpbb\db\migration\data\v320\text_reparser.php
Найти

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

		/** @var manager $reparser_manager */
Добавить до или после

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

return $resume_data;
KimIV писал(а): 08.04.2019 14:04 [08-Apr-2019 13:48:05 Europe/Moscow] PHP Fatal error: Maximum execution time of 180 seconds exceeded in C:\OSPanel\domains\localhost\vendor\s9e\text-formatter\src\Configurator.php on line 4275
line 4275 в цикле while, который выполняется неизвестно сколько мильенов раз

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

if ($expr[$pos] === '$' && \preg_match('/\\$(\\w+)/', $expr, $m, 0, $pos))
Ну да... регулярка, работает медленно.

Отправлено спустя 2 минуты 22 секунды:
Кстати, кто-нибудь объяснит, зачем там бакслешей понатыкано везде вроде такого $len = \strlen($expr);

Отправлено спустя 5 минут 9 секунд:
И вот еще аналогично 504 Gateway Time-out при добавлении bbcode
Одним слово беда этот репарсер новый, сколько раз в этом убеждался.

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 15.04.2019 9:41
KimIV
Sheer писал(а): 13.04.2019 21:59 Одним слово беда этот репарсер новый
А с какой версии движка он появился? Это я к тому спрашиваю, что может мне лучше попытаться сначала на 3.2.0 конвертироваться? А потом уже на 3.2.5?

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 15.04.2019 10:01
Pazh
KimIV, это тебе не поможет. Попробуй сделать что написал Sheer - закомментировать код миграции

Re: Таймаут при обновлении БД 3.1.12 -> 3.2.5

Добавлено: 15.04.2019 10:57
Татьяна5
KimIV, с 3.2.0