Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 11.01.2011, 09:53   #11
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

boric, нет, там есть опция brust.

Настроить так, чтобы статика шла без ограничения. А те разделы, которые выкачиваются - 1 запрос одновременно + brust до 2-5 запросов. Тогда если к динамике будет больше 1 запроса, то последующие будут за ним как бы становиться в очередь, и обрабатываться друг за другом таким образом, что к бекенду одновременно будет идти не больше 1 запроса.
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 11.01.2011, 12:02   #12
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

Спасибо
Пока как временное решение сделаю задержку в скрипте и потихоньку буду тестить на тестовой машине nginx с указанными параметрами.
boric вне форума   Ответить с цитированием
Старый 14.01.2011, 18:10   #13
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

poiuty,
Alexey,
Наконец нашел время и поставил на тестовую машину nginx. Понравилось. Буду использовать limit_req, но надо подумать, какую частоту и burst ставить. В общем буду nginx ставить. Нагрузка растет, рано или поздно все равно пришлось бы ставить. По-любому, разруливать такие ситуации лучше перед апачем.
boric вне форума   Ответить с цитированием
Старый 16.01.2011, 13:48   #14
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

В общем поставил nginx фронтэндом на боевых серверах.
Правда пришлось повозиться. В пакетах дебиан nginx древней шестой версии, которая не поддерживает нужные мне лимиты. Ставить на боевом сервере средства разработки и компилить из исходников свежую версию - не комильфо. Делать свой пакет тоже не стал ибо серверов у меня всего два. Сделал проще - на тестовом дебиане в virtualbox-е установил из исходников свежую версию nginx, и получившуюся папку (/usr/local/nginx) тупо скопировал на серверы.

Первый день - полет вроде нормальный. Лимиты пока выставил такие:
limit_req_zone $binary_remote_addr zone=delay_zone1:20m rate=5r/s;
limit_req zone=delay_zone1 burst=50;

Потестил. С двух разных серверов одновременно запустил:
ab -n 1000000 -c 50 "http://..."

раньше с апачем были бы проблемы, а сейчас хорошо - средняя нагрузка меньше 1, с других ip страницы открываются быстро и беспроблемно.

Еще раз всем спасибо.
boric вне форума   Ответить с цитированием
Старый 16.01.2011, 14:05   #15
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

Уху, нгинкс ролет Только лимит можно было поставить не на весь сервер, а на динамику.

Т.е. на динамику проксируемую лимит пожестче, типа rate=3r/s, brust=7, а на статику наоборот послабей, т.к. статика отдается в обход апача самим нгинксом, и ее не особо жалко, там и тыщу подключений проглотит - не поперхнется.
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 16.01.2011, 14:52   #16
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

Alexey,
Цитата:
Только лимит можно было поставить не на весь сервер, а на динамику.
Да, у меня так и сделано - limit_req zone=delay_zone1 burst=50; находится в location на динамику только.

Я сначала на более слабом сервере потестил под большой нагрузкой (скачка страниц в 70 потоков). С rate=5r/s он работал нормально, с rate=10r/s стал загибаться. Поэтому оставил rate=5r/s и на слабом и на более мощном сервере. На сервере помощнее загрузка с двух ip по 50 потоков никак практически не отражается. Апач бы уже сильно тормозил бы. В общем я доволен.
boric вне форума   Ответить с цитированием
Старый 16.01.2011, 15:06   #17
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

Тогда все верно. Успешного полета!
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 16.01.2011, 15:27   #18
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

Alexey,
Цитата:
Тогда все верно. Успешного полета!
Спасибо.
Я там еще полезные варианты использования для себя увидел. Похоже с его помощью можно распределять запросы по разным серверам. Например /search/ перенаправлять на отдельный поиковый сервер, который жрет много ресурсов, но не столь критичный (например, я его временно дома могу держать. Если будут перебои, то это не критично).
boric вне форума   Ответить с цитированием
Старый 16.01.2011, 15:30   #19
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 281
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

Да, можно многое, и не только это Но подобные фичи востребованы для реально нагруженных проектов, а не сайтов.
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 22.01.2011, 15:22   #20
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 254
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

Что-то штормит сегодня - load average временами до 15 доходит, хотя в среднем около 1.0. Снизил rate до 2, а burst до 20. Вроде LA больше 5.0 не становился пока.

Основная нагрузка приходится на БД. Наверно пора кеширование включать. В принципе у меня большинство страниц и так быстрые (<0.1 сек), правда есть несколько больших списков, которые требуют около 1 сек на открытие, но к ним не должно быть частого обращения, хотя надо будет уточнить. Также индексы в БД проверю.

Возможна связано с АПом яндекса - по рейтингу LI сегодня в топ5 поднялся. А сегедня суббота, надо готовиться к понедельнику. Сегодня понаблюдаю еще малек и включу кеширование и сравню нагрузку.

Пока написал скриптик, который каждые 5 мин проверяет загрузку и при превышении порога отсылает email. Кому интересно, вот код:
Код:
import smtplib
from email.mime.text import MIMEText
import os

def mail(mailto, mailfrom, subject, message):
    msg = MIMEText(message)
    msg['Subject'] = subject
    msg['From'] = mailfrom
    msg['To'] = mailto
    
    s = smtplib.SMTP('localhost')
    s.sendmail(mailfrom, [mailto], msg.as_string())
    s.quit()

avg = os.getloadavg()
if avg[1] > 2.0:
    mail('boris@site.ru', 'boris@site.ru', 'Load Average: %f, %f, %f' % avg, 'Load Average: %f, %f, %f' % avg)
Запускается из крона, как: /usr/bin/python /path_to_this_script/this_script.py
boric вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уменьшить нагрузку на хостинг Kiparis Вопросы по работе системы 18 06.10.2010 10:48
Как определить, какую нагрузку на сервер создаёт сайт? Штрафная РОТА Общие вопросы оптимизации 14 05.05.2010 16:26
Как уменьшить нагрузку на сайт? kamar87 Вопросы по работе системы 6 08.11.2009 14:17
Как уменьшить нагрузку на сервак? двиг Джумла. Maniak Разработка и сопровождение сайтов 11 23.04.2009 17:45
Sape создает нагрузку на сервер websar Вопросы по работе системы 20 28.08.2008 20:05


Часовой пояс GMT +3, время: 19:38.