итак, в пятницу я начал разносить nginx на две части, как я писал в предыдущем топике. После разнесения стало заметно меньше лагов. И вдруг сильно подскочило количество просмотров на посетителя. В картинке ниже - пример того, что было в воскресение по сравнению с субботой.
продолжение под катом
Вначале я подумал, что это люди хотели сидеть на сайте, но из-за тормозов не сидели. Через некоторое время меня начали обуревать сомнения. Особенно после того, как я нашёл вот такой график.
получается, что прирост количества показов в основном за счёт тех, кто посмотрел более 200 страниц в день. Те, у кого было от 51 до 100 просмотров в день - не изменились и даже немного упали.
Следующая идея - ддос. Но какой-то уж очень странный. Обычно ддосят как-нибудь эффективно и просто. А тут полностью грузили страничку включая статистику лирушки и сложные скрипты выдачи рекламы.
Грепаю логи на предмет какой ип сколько раз заходил на мудактор
cat /var/log/nginx/access.log | awk '{print $1}'| sort | uniq -c | sort -n
В топ 10 одни роботы с более 1000 просмотров. Дальше идёт плотным строем ипы с 700 показами. Грепаем по любом ипу - видим такое:
77.41.97.207 - - [24/Feb/2013:05:04:49 +0100] "GET /all/636 HTTP/1.1" 200 14369 "http://joyreactor.cc/all/635" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:05:20 +0100] "GET /all/637 HTTP/1.1" 200 13979 "http://joyreactor.cc/all/636" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:05:51 +0100] "GET /all/638 HTTP/1.1" 200 15959 "http://joyreactor.cc/all/637" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:06:22 +0100] "GET /all/639 HTTP/1.1" 200 14524 "http://joyreactor.cc/all/638" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:06:53 +0100] "GET /all/640 HTTP/1.1" 200 14816 "http://joyreactor.cc/all/639" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
То есть, раз в 30 секунд методично запрашивает следующую страницу в бездне. На этом куске он дошёл до 640ой страницы.
Проверяю топ 500 ипов - все такие. Но у конца списка количетсво просмотров не 700, а около 250. Смотрю что вообще делал пользователь вначале - вполне законная деятельность. Зашёл на главную, почитал комменты, поголосовал за посты. И дальше вдруг нормальная деятельность заканчивается и он начинает одну страницу за другой запрашивать раз в 30 секунд.
Следующая гипотеза - может вирусня какая на реакторе. Чувак заражается ей и начинает досить реактор.
Следующая идея - ддос. Но какой-то уж очень странный. Обычно ддосят как-нибудь эффективно и просто. А тут полностью грузили страничку включая статистику лирушки и сложные скрипты выдачи рекламы.
Грепаю логи на предмет какой ип сколько раз заходил на мудактор
cat /var/log/nginx/access.log | awk '{print $1}'| sort | uniq -c | sort -n
В топ 10 одни роботы с более 1000 просмотров. Дальше идёт плотным строем ипы с 700 показами. Грепаем по любом ипу - видим такое:
77.41.97.207 - - [24/Feb/2013:05:04:49 +0100] "GET /all/636 HTTP/1.1" 200 14369 "http://joyreactor.cc/all/635" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:05:20 +0100] "GET /all/637 HTTP/1.1" 200 13979 "http://joyreactor.cc/all/636" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:05:51 +0100] "GET /all/638 HTTP/1.1" 200 15959 "http://joyreactor.cc/all/637" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:06:22 +0100] "GET /all/639 HTTP/1.1" 200 14524 "http://joyreactor.cc/all/638" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
77.41.97.207 - - [24/Feb/2013:05:06:53 +0100] "GET /all/640 HTTP/1.1" 200 14816 "http://joyreactor.cc/all/639" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" "-"
То есть, раз в 30 секунд методично запрашивает следующую страницу в бездне. На этом куске он дошёл до 640ой страницы.
Проверяю топ 500 ипов - все такие. Но у конца списка количетсво просмотров не 700, а около 250. Смотрю что вообще делал пользователь вначале - вполне законная деятельность. Зашёл на главную, почитал комменты, поголосовал за посты. И дальше вдруг нормальная деятельность заканчивается и он начинает одну страницу за другой запрашивать раз в 30 секунд.
Следующая гипотеза - может вирусня какая на реакторе. Чувак заражается ей и начинает досить реактор.
OKAY
уже все знают как отличить бота от реала.
Надо будет дописать бота, чтобы картинки тоже запрашивал
уже все знают как отличить бота от реала.
Надо будет дописать бота, чтобы картинки тоже запрашивал
выбираю несколько ипов. Смотрю последние действия перед "заражением" - ничего совпадающего нет.
И тут меня осеняет. У всех, кого я грепал, браузер был хром. Хром поддерживает пререндер. Когда заходишь на страницу /all/5 - то внутри есть спец.тег, говорящий хрому что следующая страница /all/6. Он её сразу загружает в невидимый таб и когда ты нажимаешь дальше - он просто переключает табы. Но почему-то хром не остановился на загрузке только /all/6 и решил загрузить следующую страницу и для этой - /all/7 и т.д.
В итоге получалось так: пользователь заходит на реактор. Немного лазит по нему. Переключается на другую вкладку (или уходит спать). В это время хром не покладая табов грузит страницы одну за другой с интервалом в 30 секунд.
Убрал эту фичу - сразу и нагрузка спала, и количество просмотров =)
И тут меня осеняет. У всех, кого я грепал, браузер был хром. Хром поддерживает пререндер. Когда заходишь на страницу /all/5 - то внутри есть спец.тег, говорящий хрому что следующая страница /all/6. Он её сразу загружает в невидимый таб и когда ты нажимаешь дальше - он просто переключает табы. Но почему-то хром не остановился на загрузке только /all/6 и решил загрузить следующую страницу и для этой - /all/7 и т.д.
В итоге получалось так: пользователь заходит на реактор. Немного лазит по нему. Переключается на другую вкладку (или уходит спать). В это время хром не покладая табов грузит страницы одну за другой с интервалом в 30 секунд.
Убрал эту фичу - сразу и нагрузка спала, и количество просмотров =)
ну и последняя пикча - как стало после этой мега-оптимизации =)
Прикольно. Особенно на лимитированных тарифах и на радио :)
Кстати, убрал бы адрема из поста, вдруг спалят человека, что он вместо работы на реакторе сидит :)
Кстати, убрал бы адрема из поста, вдруг спалят человека, что он вместо работы на реакторе сидит :)
я думаю в 5 утра можно и на реакторе посидеть, гг =)
Не все в 5 утра не работают)
Сейчас эту тему читает тип который очень разбирается в этом вопросе. Ждем его профффесионального заключения.
Он сказал - "Мда.." - и на этом проффесор закончил. Агонь потух моментально.
фигассе он читал 40 минут это =)
Я с ним долго спорил. Он настаивал что это фича хрома, я же говорил, что это баг.
ну prerender - это фича хрома. А то, что он раз в 30 секунд начал запрашивать следующую страницу - явная бага =)
Всё гораздо круче. Этот тип эту тему и написал!
аааа. Сейчас вконтакт тормозит на отдачу картинок. Я задумался - а не та ли проблема у них, что и у меня был. Захожу в их статистику лирушки - и вижу совершенно то же самое =)
cool story bro tell it again
Написал им?
смысла им писать мало. Пока я буду пробиваться через саппорт 1го уровня, они уже сами догадаются и поправят =). Судя по текущему графику посещаемости, уже поправили.
Хрому уже написал?
да, только что написал. Но там похоже какая-то эвристика глючит. Я на тестовом не смог это воспроизвести.
Пробуй, авось получиться. Кстати они там бабки за баги не платят? :D
они бабки платят только за security-баги.
Хех, никогда бы не подумал, что хром может так подглючивать :) Было бы интересно поковырять minimal working example.
ну, гугль все рассчитывает на тех, у кого нормальный тырнет(те не на нашу страну), тч они могу просто положить большой и толстый и сказать, что все так и задумывалось.
предазгрузка одной страницы - да, нормально. Но зачем загружать 1000 страниц? Если он ещё и сохраняет их в памяти - то явно всё в своп уйдёт на 100ой странице.
Если не сохраняет - то зачем вообще это загружать, если пользователь никогда не посмотрит их?
Если не сохраняет - то зачем вообще это загружать, если пользователь никогда не посмотрит их?
Вы свой опенсорс будете допиливать?
я - нет. Этим опенсорсом занимается грофер и он забил похоже
Чем статистику собираешь?
ленивый
Хотел написать псто, но руки не доходили заняться исследованием проблемы. В общем со вчерашнего дня (я это связываю с разбиением nginx на 2) реактор стал себя вести очень не очень, по крайней мере в опере.
Суть такова. Я запрашиваю страницу, сервак отдает очень быстро аватары и собственно сам html, а вот картинки грузятся через раз, какие-то грузятся, какие-то нет вообще. Помогает только обновление страницы целиком. Такое наблюдается только в час пик. И по-моему соединение на запрос картинки просто висит (не закрывается). Такой вывод я сделал, открыв дубликат вкладки, и обновив его. Первая вкладка автоматически отобразила картинки.
Суть такова. Я запрашиваю страницу, сервак отдает очень быстро аватары и собственно сам html, а вот картинки грузятся через раз, какие-то грузятся, какие-то нет вообще. Помогает только обновление страницы целиком. Такое наблюдается только в час пик. И по-моему соединение на запрос картинки просто висит (не закрывается). Такой вывод я сделал, открыв дубликат вкладки, и обновив его. Первая вкладка автоматически отобразила картинки.
да, это из-за хрени, которую я выше рассказывал. Сегодня в час пик должно быть всё ок.
Ок. Гляну сегодня вечерком что к чему.
omfg, opera
Именно, а что тебя так удивляет?
никогда не видел людей которые добровольно в этом браузере сидят
Это потому что ты не пробовал на нем сидеть, особенно когда у тебя открыты десятки вкладок. У меня например установлен и хром, и фф, но основным браузером является опера. Хром тормознут и неудобен. ФФ либо быстр и неудобен, либо тормознут и удобен.
Единственный минус - то что верстальщики часто забивают на оперу, и бывают проблемы, но это решается другим браузером для пары сайтов.
Кстати опера теперь планирует использовать вебкит и v8, что устранит её последние недостатки как браузера лично для меня.
Единственный минус - то что верстальщики часто забивают на оперу, и бывают проблемы, но это решается другим браузером для пары сайтов.
Кстати опера теперь планирует использовать вебкит и v8, что устранит её последние недостатки как браузера лично для меня.
странно у меня реконк и хром отлично работают, хром хоть и страдает кучей недостатков, хотя бы самый производительный
фх под линуксами выглядит убого, ну и со своими технологиями, как и опера, дотягивает до места в музее
верстальщики не просто так забивали на браузер, возможно из-за его доли и главное из-за поддержки стандартов
верстать отдельно под пару лишних браузеров сомнительное удовольствие
фх под линуксами выглядит убого, ну и со своими технологиями, как и опера, дотягивает до места в музее
верстальщики не просто так забивали на браузер, возможно из-за его доли и главное из-за поддержки стандартов
верстать отдельно под пару лишних браузеров сомнительное удовольствие
Доля браузера норгов на дэсктопе 1-2%. Ясное дело они забили ) Учитывая что у рук-ва последние 10 лет в голове только тараканы - они свой рынок упустили. В этом и причина. А поддержка стандартов на довольно высоком уровне, дело точно не в них, там разница уже в мелочах на уровне свежих драфтов спецификаций.
Что за реконк? Под линуксами сидел последний раз давно, и опера там была ужасная (по сравнению с тем же фф). А верстальщики забивали на браузер исключительно из-за доли браузера среди всех остальных. Стандарты опера блюдет на пару порядков лучше чем тот же самый IE, и как правило все работает без каких-либо изменений в верстке. Это я из собственного опыта, т.к. отдельно править под оперу мне приходилось крааайне редко. Основной же "траходром" с IE.
Так что на данный момент для меня на винде оптимальный браузер - Опера.
Так что на данный момент для меня на винде оптимальный браузер - Опера.
что может превратить её в очередной клон хромиума, и придётся переходить на тормо-файрфокс =)
Посмотрим. Как сказал товарищ pepelsbey: "Атмосфера как в палате, где делают операцию по пересадке сердца. Нервная, но оптимистичная."
Я надеюсь что они смогут перенести все сильные стороны оперы.
Я надеюсь что они смогут перенести все сильные стороны оперы.
Нас довольно дохуя. Посмотри тему про переход оперы на вебкит, там over1000 комментов нытья про то, что православная опера скатится до хрома и все умрут =( Я 1 из них, ибо не вижу никаких альтернатив опере на данный момент =(
забыл уточнить - тему на хабре =)
ну нытьё всегда присутствует в любой теме, недовольных сложно отменить, с другой стороны сложно этим что-то оценить
врядли вы что-то почувствуете, кроме того что сайты стали быстрее/медленее работать
в 2013 году пилить свои html/js движки немного накладно и врядли кто-то оценит
врядли вы что-то почувствуете, кроме того что сайты стали быстрее/медленее работать
в 2013 году пилить свои html/js движки немного накладно и врядли кто-то оценит
Хром для ушлепков и задротов
Юзайте оперу или мозиллу
Юзайте оперу или мозиллу
ПОШЕЛ НАХУЙ, МРАЗЬ! ГУГЛ ЭТО ВЕРШИНА БРАУЗЕРОСТРОЕНИЯ! ПРОДУКТ КОМПАНИИ ПРАКТИЧЕСКИ СОЗДАВШЕЙ ИНТЕРНЕТ! НЕ ОРИ МНЕ ПРО НЕТСКЕЙП - МНЕ ПОХУЙ, - Я ГУГЛОДРОЧЕР.
Баклан ты, а не админ. Открой уже наконец для себя async флаг монтирования если ufs. Ну про aio и модули nginx вообще молчу, но там всё строго экспериментально.
Баклан ты, а не читатель. Сконцентрируйся и попробуй определить по моему рассказу какая ОС на серверах.
и какой вообще отношение async имеет к этому топику? =)
Похоже из-за этого хром отожрал столько памяти что все начало тормозить. А я думал это останется загадкой.
пиши еще, очень интерестны все технические нюансы
Чтобы написать коммент, необходимо залогиниться