Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обход пиков нагрузки
 
 автор: Axxil   (30.07.2009 в 10:59)   письмо автору
 
 

Есть такая проблема.

Сервер спокойно отрабатывает 2-3 обращения к страницам в секунду. Страницы интенсивно работают с БД.

Но вот появляются они и всё меняется. Они - это роботы поисковиков. Эти засранцы мигом поднимают среднее количество обращений до 10-15 в секунду и благополучно валят сервак. Причём нападают сразу кучей.

Вопрос - что делать в такой ситуации? При условии, что масштабирование железа делать рано (из-за часа пиковых нагрузок ставить второй сервер как-то жаба душит) и надо бы сохранить индексацию сайта.

Может у кого есть какие-нибудь идеи или наработки по этому поводу?

  Ответить  
 
 автор: x64   (30.07.2009 в 11:41)   письмо автору
 
   для: Axxil   (30.07.2009 в 10:59)
 

попробуйте добавить в robots.txt параметр Crawl-delay (задаёт таймаут)

  Ответить  
 
 автор: Axxil   (30.07.2009 в 14:23)   письмо автору
 
   для: x64   (30.07.2009 в 11:41)
 

Cенкс, поставил. Посмотрим на результат.

  Ответить  
 
 автор: SHAman   (31.07.2009 в 15:30)   письмо автору
 
   для: Axxil   (30.07.2009 в 10:59)
 

Что ж это за сервер, который на 5 запросах в секунду валится?
Оптимизируйте код и запросы. Сколько запросов идет на страницу? Нельзя ли их кэшировать? Подумайте, может, можно всю страницу целиком кэшировать и перегенерировать только когда данные обновляются?

  Ответить  
 
 автор: Axxil   (31.07.2009 в 16:14)   письмо автору
 
   для: SHAman   (31.07.2009 в 15:30)
 

Во-первых не при 5 а при 15.

Сервер скорее не валится, а тормозит. Т.е. после пика (особенно заметно при 25 -30 запросах в секунду) где-то минуту всё тормозит. Потом восстанавливается. И так до следующего пика. Если таких пиков много в течении минуты, то всё наглухо тормозит минут пять.

> Сколько запросов идет на страницу?

Есть разница между запросом по таблице-справочнику, где поиск идёт целиком по индексу и запросом, например, объединяющим 3 таблицы по полмиллиона строк в каждой? И что быстрее будет пять запросов по справочникам или один по объединенному множеству?

А если я разобью один запрос с кучей JOINов на два-три более быстрых, то количество запросов на страницу увеличится. И что, мне скажут, что надо оптимизировать?

(в сторону) Какой придурок, интересно, придумал оценивать производительность по количеству запросов на страницу...

> Нельзя ли их кэшировать?

Да вот именно, что всё закешировал уже. Мемкеш даже подключил на особо динамические участки.

> Подумайте, может, можно всю страницу целиком кэшировать и перегенерировать только когда данные обновляются?

Всю страницу невозможно кешировать (там информация в некоторых местах обновляется несколько раз в минуту). Кешируются отдельные блоки.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования