Linux, Падает Http

Тема в разделе "Lotus - Администрирование", создана пользователем turumbay, 30 май 2013.

  1. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Суть: регулярно падает процесс http. Внешний эффект как от sudo killall http - процесс отсутсвует в списке запущенных ( ps -u notes ), 80-й порт не занят.
    Все остальные задачи работают нормально, базы открываются в клиенте и все такое...

    Перезапустить задачу(lo http, tell http restart) не получается, т.к. домино считает что http запущен( sh ta пишет HTTP Server Listen for connect requests on TCP Port:80)

    В логах (/var/log/ и доминошных) тишина, nsd не собирается.
    Памяти достаточно(http занимает порядка 1Gb виртуальной памяти, свободно в момент падения > 10Gb).
    Устойчиво воспроизводится на различных debian дистрибутивах (32 и 64) и различных domino ( r8.5.3, r9.0 )

    Советовали посмотреть в сторону OOM killer, но он как вроде бы должен оставлять следы в kern.log, чего не наблюдается...

    Собственно http задача поднята ради OSGI( крутица некое web приложение, заинсталенное через tell http osgi install ). Там вроде тоже ничего не течет(снимал heap dump - ничего подозрительного, в динамике хип не растет), ошибок JVM нет

    Падает бессистемно, но регулярно. Падения не зависят от нагрузки. Повторюсь - все выглядит так, как будто кто-то дал killall http.

    Понимаю, что данных маловато, но таки вопрос: куда бы еще посмотреть?
     
  2. aameno2

    aameno2 Well-Known Member

    Регистрация:
    27 янв 2009
    Сообщения:
    484
    Симпатии:
    12
    1. ulimit ?
    2. В workspace логах тишина?
    3. 9ка с последним фп? Там как раз про http было
    4. Сервер опубликован в инет?
    5. Всего памяти выделено под домино сколько?
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    а в домлоге что?
     
  4. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    1. все выставлено согласно известной техноте, в консоли пишет что доволен
    2. тишина
    3. девятку попробовал как крайнее средство - качал триал с ibm.com, конкретную версию к сожалению не помню. Дело было в апреле... Конкретно щаз воюю с Server, Release 8.5.3, September 15, 2011, ubuntu server 12.10TLS 32bit. Пробовал на vds-ке(hetzner, 64bit, centos6) и в aws(ubuntu server 64 + domino 9.0) - картина та же.
    4. торчит наружу, но не напрямую. перед domino стоит апач в режиме mod-proxy. апач пропускает запрос только на конкретный сервлет(а-ля spring dispatch servlet), который установлен через osgi и является точкой входа в веб-приложение. Кроме этого, апач обеспечивает ssl и заворачивает http на https. Т.е. фактически кишки домины наружу не видны, доступа к базам снаружи нет.
    5. HTTPJVMMaxHeapSize=512M, если вы про это. Если нет, то куда еще имеет смысл смотреть по памяти?

    Оно почти очевидно, что проблемы вызваны osgi-ным сервлетом, но вот хоть убей, не пойму как исправлять. Не за что зацепиться. Как можно уложить http задачу, чтобы не оставалось следов?
    Нативных вызовов в сервлете нету(кроме ессно notes.jar). Пробовал запускать во внешнем osgi контейнере (felix) и цепляться к домино локально - все стабильно работает. Так бы и оставил, но нужна штатная авторизация, поэтому пришлось пихать внутрь domino.

    И в домлоге ничего криминального. Левых подключений нет (домен второго уровня, сервис не публичный, хотя и торчит наружу )
     
  5. aameno2

    aameno2 Well-Known Member

    Регистрация:
    27 янв 2009
    Сообщения:
    484
    Симпатии:
    12
    Пробовали кореляцию с логами в апаче по времени падения? Почему про апач, у меня тоже он фронтом стоял. Сам апач был жив а вот доминошный http клали.
    И кстати, не все он (апач) редиректил.
    HTTPJVMMaxHeapSize выставлять больше пробовали?
    И всего памяти под сервер выделенно сколько?
     
  6. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Обычно падает когда к нему никто не обращается.
    Память увеличивать не пробовал, но ее похоже хватает. В R9 по дефолту вроде 1gb выделен под http jvm - не помогало.
    Хип не растет, намеков на OutOfMemoryError нетту.
    Сорри, не очень понимаю вопрос. Физически стоит 16Gb, свопа нет(девелоперская машина), настройки домино "из коробки", notes.ini не трогал ( только JIT включил )

    Есть смутное ощущение, что имеется кореляция со способом запуска сервера. Похоже(но не уверен), что все случаи падения возникали после запуска domino из-под ssh.
    Вчера стартовал domino из консоли сервера(физический доступ, tty) - вроде бы не валится, по крайней мере ночь простоял (15k запросов в domlog). Оно такое может быть? В чем разница между сессиями login и ssh?
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">top, сортировка по virtual memory</div></div><div class="sp-body"><div class="sp-content">
    Код (Text):
    top - 11:01:47 up 22:33, 6 users, load average: 4.21, 1.76, 0.69
    Tasks: 279 total,  1 running, 278 sleeping,  0 stopped,  0 zombie
    %Cpu(s): 0.4 us, 0.4 sy, 0.0 ni, 98.9 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
    KiB Mem: 16511312 total, 8056568 used, 8454744 free,  259944 buffers
    KiB Swap:       0 total,        0 used,     0 free, 5415032 cached

    PID USER     PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    26719 turumbay 20  0 1162m 597m 39m S  0.7 3.7  4:03.88 java
    23808 notes  20  0 1098m 161m 58m S  1.0 1.0  23:16.49 http
    23555 notes  20  0 505m 65m 48m S  0.3 0.4  0:49.30 server
    23809 notes  20  0 469m 61m 44m S  0.0 0.4  0:13.13 ldap
    23585 notes  20  0 468m 86m 70m S  0.3 0.5  1:00.10 event
    23799 notes  20  0 467m 34m 19m S  0.3 0.2  0:06.59 update
    23801 notes  20  0 466m 31m 16m S  0.0 0.2  0:28.40 router
    23915 notes  20  0 463m 23m 9316 S  0.0 0.1  0:04.68 amgr
    23802 notes  20  0 462m 31m 17m S  0.0 0.2  0:06.81 amgr
    23804 notes  20  0 460m 135m 121m S  0.0 0.8  0:25.49 adminp
    23810 notes  20  0 459m 27m 13m S  0.0 0.2  0:07.04 rnrmgr
    23807 notes  20  0 459m 27m 13m S  0.0 0.2  0:05.20 sched
    23800 notes  20  0 459m 29m 15m S  0.0 0.2  0:04.06 replica
     
  7. aameno2

    aameno2 Well-Known Member

    Регистрация:
    27 янв 2009
    Сообщения:
    484
    Симпатии:
    12
    А если скрипт rc_domino?
    Про память, сорри, подумал что виртуалка.
    Включайте дебаг
     
  8. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    через init.d? не пробовал. девелоперская машина, сервер поднимается/укладывается вручную. если простоит до понедельника, буду считать причиной падений способ запуска - тогда обязательно проверю автозапуск. спасибо за наводку.
    А можно поподробнее? Кого дебажить: linux, domino, java?
     
  9. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.019
    Симпатии:
    8
    turumbay, а на железо не грешите? Подобные эффекты наблюдал при битой памяти...
     
  10. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    нет. думал в эту сторону, специально поднимал в облаке, в т.ч. в Amazon Web Services, картина та же.
     
  11. aameno2

    aameno2 Well-Known Member

    Регистрация:
    27 янв 2009
    Сообщения:
    484
    Симпатии:
    12
    дебаг http
     
  12. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.019
    Симпатии:
    8
    А debug_threadid и debug_initterm пробовали ставить? Хотя вряд ли, конечно, покажет, если так вот тихо помирает. Мож, какая-то база сурово побилась? Был в практике почти фантастический случай - RAID-контроллер сломался так хитро, что периодически (!) писал на диск всякую лабуду (в лотусовые базы, в том числе). Серверные задачи тоже тихо помирали. Базы-то перенесли на другое железо, а, ессно, по фигу уже - побились...
     
  13. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
  14. aameno2

    aameno2 Well-Known Member

    Регистрация:
    27 янв 2009
    Сообщения:
    484
    Симпатии:
    12
    да, про это....
     
  15. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    ssh - не детачит вывод и сетевые задержки могут (теоретически) тормознуть процесс, а вот реакция процесса - это вопрос ;)
    запущайте через screen (если не делать "правильно" - через скрипты с перенаправлением ввода/вывода)
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    "о птичках"...
    ежели сервант стартует без резолвинга имени - хттп не стартанет я с этим сталкивался
    как-то было - внутренний днс стартовал позже домины - хттп не стартовал
     
  17. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Ощущение переросло в уверенность: http падает при запуске domino из-под ssh. При запуске из консоли (или автозапуске через rc.d) все путем.
    Т.к. в данном случае ехать важнее, чем шашечки - выяснение причин такого поведения откладывается на неопределенное время. Проблема решена, всем спасибо за участие.
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    я пояснил возможную причину, скрипты детачат вывод (или перенаправляют в файло/null), егоже детачит и screen
    т.е. если надо одноразово пустить - пользуйте screen
    screen -S somename
    создает консоль с именем somename
    screen -x somename
    подключается к существующей (можно из разных мест и одновременно)
    Ctrl-A, D - отключение от консоли
    ну собсно все это есть в манах и гугле :)
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    дополню...
    если в автоматическом режиме (т.е. взаимодействовать предполагается несразу)
    screen -dmS domino domino-launch
    и чиста позырить на консоль и порулить sreen -x domino
    где domino-launch - скрипт для запуска домины прописанный в путя (либо в тек. каталоге, тоды ./domino-launch)
     
Загрузка...

Поделиться этой страницей