<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Nginx ограничение нагрузки / Техдокументация и мануалы / Alto CMS</title>
			<link>http://79.174.14.219/comments/879/</link>
			<description><![CDATA[Вещь о которой я хочу написать довольно тривиальна, но вдруг кому-то будет полезна. В Nginx есть модуль ngx_http_limit_req_module. Данный модуль]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Nginx ограничение нагрузки (comment #16728)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/879/#comment16728</guid>
					<link>http://79.174.14.219/879.html#comment16728</link>
					<author>reexistent@gmail.com</author>
					<description><![CDATA[Бессмысленная накрутка. Повторные запросы должны отдаваться используя кеши. А уж сколько раз пользователь нажмет на рефреш — сугубо его прихоть. Хоть 100. Если из-за этого сервис встает колом, то можно собирать вещи и сворачиваться, ибо это нонсенс. Видеть 503 ответ — тоже нонсенс. Зачем мне такой сервис? А из-за использования NAT`а провайдерами из под одного IP может ходить сколько угодно пользователей.]]></description>
					<pubDate>Fri, 05 Dec 2014 14:30:50 +0300</pubDate>
									</item>
							<item>
					<title>Nginx ограничение нагрузки (comment #16732)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/879/#comment16732</guid>
					<link>http://79.174.14.219/879.html#comment16732</link>
					<author>reverty@gmail.com</author>
					<description><![CDATA[1. А зачем сервису такой пользователь, который делает 20 запросов в секунду? Ну явно не обычный пользователь.<br/>
<br/>
2. Вы кэшируете всю страницу целиком или только объекты используемые для генерации страницы? Сколько времени генерируется у вас хотя бы главная страница? Или же у вас закэшированный html отдается? <br/>
<br/>
3. Если страница генерируется, даже за 0.1 секунды, вы же понимаете что это довольно ощутимая нагрузка для впс. Если я в 10 закладках поставлю отправлять 50 запросов в секунду? Мой впс может и потянет, но отдавать страницы ооооочень долго. <br/>
<br/>
4.Даже habrahabr использует этот же инструмент. Вы этим сайтом тоже не пользуетесь потому что он отдает 503?]]></description>
					<pubDate>Fri, 05 Dec 2014 15:01:52 +0300</pubDate>
									</item>
							<item>
					<title>Nginx ограничение нагрузки (comment #16736)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/879/#comment16736</guid>
					<link>http://79.174.14.219/879.html#comment16736</link>
					<author>reexistent@gmail.com</author>
					<description><![CDATA[<blockquote>1. А зачем сервису такой пользователь, который делает 20 запросов в секунду? Ну явно не обычный пользователь.</blockquote><br/>
А зачем сервису который можно положить с одного IP вообще думать о высокой нагрузке? Видимо он расчитан изначально на другое.<br/>
<br/>
И сразу второй, зачем севис рассчитанный на 10 юзеров в день кто-то будет ддосить? =) И кто этот человек пользующийся таким МОЩНЫМ инструментом? =)<br/>
<br/>
<blockquote>2. Вы кэшируете всю страницу целиком или только объекты используемые для генерации страницы? Сколько времени генерируется у вас хотя бы главная страница? Или же у вас закэшированный html отдается? </blockquote><br/>
Кеширование в высоконагруженных проектах всегда многослойное — что-то должно кешироваться ну уровне браузера, что-то на уровне веб сервера, что-то на уровне логики, что-то на уровне БД, и т.д.<br/>
<br/>
В контексте Альто, достаточно включить query cache на InnoDB в MySQL чтобы повторные селекты не приводили к повторным обращениям к дисковой подсистеме, а результаты брались из памяти. Даже мемкеш не нужен.<br/>
<br/>
Если задача более сложная, то можно сделать так чтобы например вся главная страница, к которой происходит большинство обращений, бралась из кеша в течении как минимум минуты. <br/>
<br/>
<blockquote>3. Если страница генерируется, даже за 0.1 секунды, вы же понимаете что это довольно ощутимая нагрузка для впс. Если я в 10 закладках поставлю отправлять 50 запросов в секунду? Мой впс может и потянет, но отдавать страницы ооооочень долго. </blockquote><br/>
Пользователи обновляющие страницу создают очень малую нагрузку.<br/>
<br/>
<blockquote>4.Даже habrahabr использует этот же инструмент. Вы этим сайтом тоже не пользуетесь потому что он отдает 503? </blockquote><br/>
Высоконагруженные проекты уровня хабра скажем так чуть более сложную архитектуру имеют.]]></description>
					<pubDate>Fri, 05 Dec 2014 16:07:21 +0300</pubDate>
									</item>
							<item>
					<title>Nginx ограничение нагрузки (comment #16737)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/879/#comment16737</guid>
					<link>http://79.174.14.219/879.html#comment16737</link>
					<author>reverty@gmail.com</author>
					<description><![CDATA[Я не говорю что один человек может положить сайт, ни разу не говорил. Но от возросшей нагрузки сайт будет медленнее работать для остальных пользователей. <br/>
<br/>
Даже если у сайта аудитория 100 человек, ну можно же банально защититься от одного обиженного человека? Можно. Всего-то две строки в конфиге. Станет ли от этого проекту хуже? На мой взгляд нет.<br/>
<br/>
<blockquote>В контексте Альто, достаточно включить query cache на InnoDB в MySQL чтобы повторные селекты не приводили к повторным обращениям к дисковой подсистеме, а результаты брались из памяти. Даже мемкеш не нужен.</blockquote> В альто, по крайней мере у меня, наибольшую нагрузку дают не запросы к базе. Вот практически голый сайт с альто у меня генерируется 0.05 секунды, из них обращение к базе и кэшу занимает 0.0015, смешное время. Т.е. эти самый 0.05 с процессор над чем-то трудится. Обрабатывает экшены, ивенты, условия и циклы в смарти. Сколько будет обращений к странице столько процессор и будет заниматься вычислениями и будет нагружен. <br/>
<blockquote>Пользователи обновляющие страницу создают очень малую нагрузку.</blockquote>Давайте проверим. Возьмем хром, откроем ваш сайт и в консоле запустим <pre class="prettyprint"><code>for (var i = 0; i &lt; 2000; i++) {
 ls.ajaxGet(&quot;http://yourdomain.ru/&quot;, {}, null);
}</code></pre> Запустим мониторинг, хотя бы top, на сервере и понаблюдаем за нагрузкой. У вас нагрузка не возросла? У меня её отчетливо видно. Правда в других браузерах сайт отвечает, и не всегда задумчиво, но мы видим пожирание ресурсов.<br/>
<br/>
Нет, я ни в коем случае не говорю что это панацея, нет. Просто почему бы и нет. Я в нем вижу больше пользы чем вреда.]]></description>
					<pubDate>Fri, 05 Dec 2014 16:37:46 +0300</pubDate>
									</item>
							<item>
					<title>Nginx ограничение нагрузки (comment #16738)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/879/#comment16738</guid>
					<link>http://79.174.14.219/879.html#comment16738</link>
					<author>reexistent@gmail.com</author>
					<description><![CDATA[<blockquote>В альто, по крайней мере у меня, наибольшую нагрузку дают не запросы к базе. Вот практически голый сайт с альто у меня генерируется 0.05 секунды, из них обращение к базе и кэшу занимает 0.0015, смешное время.</blockquote><br/>
Если включен кеш так и будет. Или это вообще пустой сайт, на котором ничего не создается. Посмотрим что случится, когда будут одновременно и инсерты и апдейты и селекты идти. <br/>
<br/>
БД — с наибольшей вероятностью главная проблема. Если конечно не используется апач с префорком. (Тогда и нагрузку создавать не надо достаточно открыть N медленных соединений, заблокировав все ресурсы веб сервера).<br/>
<br/>
<blockquote>Запустим мониторинг, хотя бы top, на сервере и понаблюдаем за нагрузкой. У вас нагрузка не возросла? У меня её отчетливо видно. Правда в других браузерах сайт отвечает, и не всегда задумчиво, но мы видим пожирание ресурсов.</blockquote><br/>
Мой сайт сейчас не на альто, он расчитан небольшую нагрузку. VPS за 500 р в месяц. При 50 одновременных клиентах, и времени загрузки ~0.9-1 (методика loadimpact.com) никакой существенной нагрузки на ЦПУ я не наблюдал, как и деградации сервиса. Если потребуется что-то более серьезное — я начну с анализа трафик модели и узких мест, таки думаю этим местом будет БД, а если точнее — дисковая подсистема по iops.<br/>
<br/>
Самая основная проблема такого фильтра что из под одного IP могут приходить несколько пользователей. Значит надо это закладывать. Если это закладывать, то сама эта идея теряет смысл, а способов ДоСа и ДДоСа в целом куда больше.]]></description>
					<pubDate>Fri, 05 Dec 2014 16:49:47 +0300</pubDate>
									</item>
					</channel>
	</rss>
