From: Vitaly Lipatov <lav@altlinux.ru> To: <sysadmins@lists.altlinux.org> Subject: [Sysadmins] Ограничение количества клиентов на хост для Apache ITK Date: Thu, 29 Oct 2015 23:46:00 +0300 Message-ID: <e40cad06728f0c253bced021981a6c4d@office.etersoft.ru> (raw) Задача следующая: нужно ограничить количество процессов Apache, которые запускаются для каждого пользователя (ITK позволяет разных пользователей, под которыми запускается процесс Apache), а ещё лучше — для каждого виртуального хоста. Базовая настройка к примеру такая: <IfModule itk.c> <------>StartServers 1 <------>MinSpareServers 4 <------>MaxSpareServers 20 <------>MaxClients 20 <------>MaxRequestsPerChild 15000 Но MaxClients задаёт ограничение на количество процессов, общее для всех пользователей и хостов. Есть параметр MaxClientsVhost, который можно указывать в конфиге сайта. Но между ними большое отличие в поведении: При превышении MaxClients Apache просто не реагирует на коннекты к нему, таким образом накапливается очередь подключений, и пользователи при перегрузке испытывают замедление реакции сайта. А ограничение по MaxClientsVhost сразу возвращает 503 при достижении предела подключений. Что вовсе не желательно, потому что для клиента выглядит как то, что сайт работает быстро, но иногда вместо страницы — ошибка. Может быть есть всем известное решение, которое я не знаю? Другой вариант — это научить nginx ошибку 503 не передавать клиенту, а ждать и пытаться получить от бэкенда более корректный ответ. -- С уважением, Виталий Липатов, Etersoft
next reply other threads:[~2015-10-29 20:46 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-10-29 20:46 Vitaly Lipatov [this message] 2015-10-29 20:44 ` Anton Gorlov 2015-10-29 23:09 ` Konstantin Lepikhov 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=e40cad06728f0c253bced021981a6c4d@office.etersoft.ru \ --to=lav@altlinux.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