From: Konstantin Lepikhov <lakostis@unsafe.ru> To: sysadmins@lists.altlinux.org Subject: Re: [Sysadmins] Ограничение количества клиентов на хост для Apache ITK Date: Thu, 29 Oct 2015 23:09:14 +0000 Message-ID: <20151029230914.GA11034@lks.home> (raw) In-Reply-To: <e40cad06728f0c253bced021981a6c4d@office.etersoft.ru> Hi Vitaly! On 10/29/15, at 11:46:00 PM you wrote: > Задача следующая: нужно ограничить количество процессов Apache, которые > запускаются для каждого > пользователя (ITK позволяет разных пользователей, под которыми > запускается процесс Apache), а ещё лучше — > для каждого виртуального хоста. > > Базовая настройка к примеру такая: > <IfModule itk.c> > <------>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.
next prev parent reply other threads:[~2015-10-29 23:09 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-10-29 20:46 Vitaly Lipatov 2015-10-29 20:44 ` Anton Gorlov 2015-10-29 23:09 ` Konstantin Lepikhov [this message] 2015-10-30 8:37 ` Vitaly Lipatov 2015-10-30 11:54 ` Konstantin Lepikhov 2015-10-31 8:20 ` Anton Gorlov 2015-11-02 17:41 ` Konstantin Lepikhov 2015-11-02 14:15 ` Sergey Alembekov 2015-11-02 14:12 ` Anton Gorlov 2015-11-02 14:44 ` Michael Shigorin 2015-11-02 14:49 ` Anton Gorlov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20151029230914.GA11034@lks.home \ --to=lakostis@unsafe.ru \ --cc=sysadmins@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux sysadmins discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \ sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com public-inbox-index sysadmins Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sysadmins AGPL code for this site: git clone https://public-inbox.org/public-inbox.git