Bug 28026 - apache-base: Необходимо обеспечить совместимость службы с systemd
Summary: apache-base: Необходимо обеспечить совместимость службы с systemd
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: apache-base (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: solo
QA Contact: qa-sisyphus
URL: http://www.altlinux.org/Systemd_Statu...
Keywords:
Depends on:
Blocks: 28008
  Show dependency tree
 
Reported: 2012-11-21 15:23 MSK by Mike
Modified: 2019-02-25 01:48 MSK (History)
14 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike 2012-11-21 15:23:46 MSK
Подготовить корректный unit-файл.

Подробности по ссылке: http://www.altlinux.org/Systemd_Status_P7
Comment 1 Artemenko Dmitry 2013-10-11 20:10:01 MSK
Проблема собственно не в systemd. 
Рассказываю методологию:
1)Добавляю в /usr/sbin/apachectl2 в секцию start() в самом начале "sleep 10", а так же модифицирую заголовок в "#!/bin/sh -x", что бы отследить в логах ход выполнения скрипта.
2)При загрузке обнаруживается, что poststart() обнаруживает успешный запуск службы и создает lock-файл только на последней итерации цикла.
3)Количество проходов этого самого цикла определяет $LOOPSSTART, который можно настроить в /etc/sysconfig/httpd2. В дефолтном варианте параметр задает 10 проходов.
4)Убираем слип, $LOOPSSTART увеличиваем до 100, перезагружаемся и видим:
...
окт 11 22:30:32 media.localdomain _apachectl2[4290]: + usleep 300000
окт 11 22:30:32 media.localdomain _apachectl2[4290]: + briefstatus
окт 11 22:30:32 media.localdomain _apachectl2[4290]: + RETVAL=3
окт 11 22:30:32 media.localdomain _apachectl2[4290]: + (( i=((89-1))  ))
окт 11 22:30:32 media.localdomain _apachectl2[4290]: + (( 88>0 ))
окт 11 22:30:32 media.localdomain _apachectl2[4290]: + usleep 300000
окт 11 22:30:33 media.localdomain _apachectl2[4290]: + briefstatus
окт 11 22:30:33 media.localdomain _apachectl2[4290]: + touch /var/lock/subsys/httpd2
окт 11 22:30:33 media.localdomain _apachectl2[4290]: + RETVAL=0
окт 11 22:30:33 media.localdomain _apachectl2[4290]: + break
окт 11 22:30:33 media.localdomain _apachectl2[4290]: + return 0
То есть для нормального старта не хватает совсем чуть-чуть, как бы 12 проходов вместо 10.

Говорить твердо о причинах такого необычно долгого старта я не берусь, но есть 2 предположения:
1)За время старта апача успевает инициализироваться только "systemd[1]: Starting Console Manager...", да и то, она отрабатывает раньше заходов в цикл вообще, что не должно влиять, даже если бы этот демон был зависимостью для апача.
2)В этот момент времени параллельно отрабатывает prefdm, запускающий иксы и при этом сильно нагружающий систему. Надо пологать, что им просто на двоих не хватает "мегагерцофф", что бы стартануть за 10 проходов цикла, а за 12 успевает.

Решение:
Предлагаю увеличить в  /etc/sysconfig/httpd2 дефолтное значение $LOOPSSTART. На нормальных режимах работы это не вызовет увеличения времени запуска и остановки службы, а на относительно слабых и\или загруженных машинах позволит демону успевать стартовать.
Comment 2 Alexey Shabalin 2019-02-25 01:48:04 MSK
Подозреваю что уже исправлено.
Тем более в сизифе нет apache, есть только apache2.