From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00, DNS_FROM_AHBL_RHSBL, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Date: Thu, 29 Oct 2015 23:09:14 +0000 From: Konstantin Lepikhov To: sysadmins@lists.altlinux.org Message-ID: <20151029230914.GA11034@lks.home> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Operation-System: ALT Linux starter kit (Trientalis) 4.2.0-lks-wks-alt1 User-Agent: Mutt/1.5.23.88.hg577987ca2d02 (2014-03-12) Subject: Re: [Sysadmins] =?utf-8?b?0J7Qs9GA0LDQvdC40YfQtdC90LjQtSDQutC+0Ls=?= =?utf-8?b?0LjRh9C10YHRgtCy0LAg0LrQu9C40LXQvdGC0L7QsiDQvdCwINGF0L7RgdGC?= =?utf-8?b?INC00LvRjyBBcGFjaGUgSVRL?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux sysadmins' discussion List-Id: ALT Linux sysadmins' discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Oct 2015 23:09:22 -0000 Archived-At: List-Archive: Hi Vitaly! On 10/29/15, at 11:46:00 PM you wrote: > Задача следующая: нужно ограничить количество процессов Apache, которые > запускаются для каждого > пользователя (ITK позволяет разных пользователей, под которыми > запускается процесс Apache), а ещё лучше — > для каждого виртуального хоста. > > Базовая настройка к примеру такая: > > <------>StartServers 1 > <------>MinSpareServers 4 > <------>MaxSpareServers 20 > <------>MaxClients 20 > <------>MaxRequestsPerChild 15000 > > Но MaxClients задаёт ограничение на количество процессов, общее для > всех пользователей и хостов. > > Есть параметр MaxClientsVhost, который можно указывать в конфиге сайта. > Но между ними большое отличие в поведении: > При превышении MaxClients Apache просто не реагирует на коннекты к > нему, таким образом накапливается очередь подключений, > и пользователи при перегрузке испытывают замедление реакции сайта. А цель какая? Ограничить кол-во подключений или кол-во процессов? Если подключения, то да, limit_req в nginx для каждого vhost'а, если процессы, то крутить cgroups. > > А ограничение по MaxClientsVhost сразу возвращает 503 при достижении > предела подключений. Что вовсе не желательно, потому > что для клиента выглядит как то, что сайт работает быстро, но иногда > вместо страницы — ошибка. > > Может быть есть всем известное решение, которое я не знаю? > > Другой вариант — это научить nginx ошибку 503 не передавать клиенту, а > ждать и пытаться получить от бэкенда более корректный ответ. в этом случае nginx должен что-то ответить клиенту вместо 503 (поскольку "ждать" он не умеет), что тоже не есть гуд. -- WBR et al.