<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>5748</bug_id>
          
          <creation_ts>2004-12-20 16:11:38 +0300</creation_ts>
          <short_desc>Надо прописывать ulimits при установке</short_desc>
          <delta_ts>2006-11-23 23:38:47 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apache</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Bochkaryov">misha</reporter>
          <assigned_to name="Michael Shigorin">mike</assigned_to>
          <cc>at</cc>
    
    <cc>cas</cc>
    
    <cc>crux</cc>
    
    <cc>ender</cc>
    
    <cc>lakostis</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>mithraen</cc>
    
    <cc>qa_viy</cc>
    
    <cc>rider</cc>
    
    <cc>shaba</cc>
    
    <cc>solo</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>20601</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Bochkaryov">misha</who>
    <bug_when>2004-12-20 16:11:38 +0300</bug_when>
    <thetext>При установке системы ограничение на количество пользовательских процессов равно
128, чего явно не хватает при использовании на загруженных веб-серверах.

Предположительно, стоит прописывать параметр в /etc/security/limits.conf для
юзера apache при установке. 
Steps to Reproduce:
1. Установить Apache.
2. Запустить более 128 конкурентных HTTP запросов.
3.
Actual Results:  
Не отрабатываются запросы.

Expected Results:  
Максимальное количество клиентов должно быть ограничено параметром MaxClients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20602</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2004-12-20 16:16:29 +0300</bug_when>
    <thetext>2 ldv: как бы это так поэлегантнее сделать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20637</commentid>
    <comment_count>2</comment_count>
    <who name="Victor Forsyuk">force</who>
    <bug_when>2004-12-21 17:54:12 +0300</bug_when>
    <thetext>Еще одно предложение с целью сделать сборку apache более готовой для
использования  под большой нагрузкой. Максимальное значение параметра MaxClients
ограничено значением константы HARD_SERVER_LIMIT и сейчас равняется 256.

Стоит поднять его до более разумного лимита (скажем, 1024). Например, при помощи
таких однострочников в спеке:

subst &quot;s/HARD_SERVER_LIMIT 256/HARD_SERVER_LIMIT 1024/&quot; \
apache_1.3.33/src/include/httpd.h

subst &quot;s/HARD_SERVER_LIMIT 256/HARD_SERVER_LIMIT 1024/&quot; \
apache-mod_perl_1.3.33/src/include/httpd.h

(ну или создав соответствующий патч, что, в общем-то более надежно)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21459</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-01-29 18:31:33 +0300</bug_when>
    <thetext>HARD_SERVER_LIMIT поднят в 1.3.33rusPL30.20-alt3, касательно ulimits -- вижу
разумным пока написать TUNING.ALT, поскольку MaxClients и компанию тоже придётся
подымать и достаточно синхронно.

Есть мысли касательно применения переключаемых кусочков конфигов и control(8),
благо переход на addon-modules.d/ начался и последовать вполне может какой
conf.d/ ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21463</commentid>
    <comment_count>4</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2005-01-29 18:43:56 +0300</bug_when>
    <thetext>Я вот думаю, а не обнаглеть ли до такой степени, чтобы из коробки прикрутить
reverse proxy? У меня до этого MaxClients 100 не хватало, после и двух десятков
хватает. Причём сделать Reverse Proxy и с помощью самого apache, и с помощью
того же nginx. Ну и переключать по установке nginx.

Симпатишное решение получается.

А 1024 MaxClients для mod_perl apache это самоубийство. Имеет смысл либо на
сайтах с чатами, либо если у нас процессоров
чёрт-знает-сколько-но-на-x86-столько-ставят-редко и памяти не меньше 8-и гиг. А
reverse proxy должен срезать большую часть запросов.

В идеале на mod_perl должно приходить где-то 4-&lt;кол-во процессоров&gt; запросов
(эмпирическая формула).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21469</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-01-29 19:12:07 +0300</bug_when>
    <thetext>Ну, MaxClients не отменяли, да и в apache packagers team ты вроде уже загремел. :)

Сейчас залью 1.3.33-alt3 и рассматривай/обдумывай.  Но у меня сейчас настроение
скорее конфиги распустить в стружку, чтоб они хоть как-то управляемыми могли
быть, а не простынями.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21470</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Bochkaryov">misha</who>
    <bug_when>2005-01-29 19:45:22 +0300</bug_when>
    <thetext>(In reply to comment #4)
&gt; Я вот думаю, а не обнаглеть ли до такой степени, чтобы из коробки прикрутить
&gt; reverse proxy?

Ой, не надо из коробки. Это ж все запросы пойдут якобы с localhost&apos;а, эмулируя
своих доверенных юзверей и ломая потенциально всякие дефолтные конфигурации.

&gt; Симпатишное решение получается.

Да, если его индивидуально применять &quot;строго по указанию врача&quot;.

&gt; А 1024 MaxClients для mod_perl apache это самоубийство.

Думаю, что и reverse proxy, и увеличение MaxClients стоит сделать опциональным.
Другое дело, что нежелательно дополнительных проблем вроде ulimits создавать,
чтобы не сбивать веб-админов с толку.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21472</commentid>
    <comment_count>7</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2005-01-29 20:00:26 +0300</bug_when>
    <thetext>Чтобы не было запросов &quot;якобы с localhost&quot; был собран модуль mod_realip
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21473</commentid>
    <comment_count>8</comment_count>
    <who name="Denis Smirnov">mithraen</who>
    <bug_when>2005-01-29 20:05:01 +0300</bug_when>
    <thetext>Распиливание конфигов я поддерживаю руками и ногами.

А потом я как-нибудь хорошенько напьюсь, и попробую всё это счастье
электрифицировать :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42426</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2006-11-23 17:21:15 +0300</bug_when>
    <thetext>Кстати, TUNING.ALT добавлен в 1.3.37rusPL30.22-alt8.  Просьба по возможности
почитать и высказаться.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>