Bug 28026

Summary: apache-base: Необходимо обеспечить совместимость службы с systemd
Product: Sisyphus Reporter: Mike <amike>
Component: apache-baseAssignee: solo <solo>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: at, cas, crux, ender, lakostis, ldv, mike, mithraen, qa_viy, rapter, rider, shaba, solo, viy
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://www.altlinux.org/Systemd_Status_P7
Bug Depends on:    
Bug Blocks: 28008    

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.