итак, в пятницу я начал разносить nginx на две части, как я писал в предыдущем топике. После разнесения стало заметно меньше лагов. И вдруг сильно подскочило количество просмотров на посетителя. В картинке ниже - пример того, что было в воскресение по сравнению с субботой.
продолжение под катом
продолжение под катом
Еще на тему
Следующая идея - ддос. Но какой-то уж очень странный. Обычно ддосят как-нибудь эффективно и просто. А тут полностью грузили страничку включая статистику лирушки и сложные скрипты выдачи рекламы.
Грепаю логи на предмет какой ип сколько раз заходил на мудактор
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 секунд.
Следующая гипотеза - может вирусня какая на реакторе. Чувак заражается ей и начинает досить реактор.
уже все знают как отличить бота от реала.
Надо будет дописать бота, чтобы картинки тоже запрашивал
И тут меня осеняет. У всех, кого я грепал, браузер был хром. Хром поддерживает пререндер. Когда заходишь на страницу /all/5 - то внутри есть спец.тег, говорящий хрому что следующая страница /all/6. Он её сразу загружает в невидимый таб и когда ты нажимаешь дальше - он просто переключает табы. Но почему-то хром не остановился на загрузке только /all/6 и решил загрузить следующую страницу и для этой - /all/7 и т.д.
В итоге получалось так: пользователь заходит на реактор. Немного лазит по нему. Переключается на другую вкладку (или уходит спать). В это время хром не покладая табов грузит страницы одну за другой с интервалом в 30 секунд.
Убрал эту фичу - сразу и нагрузка спала, и количество просмотров =)
Кстати, убрал бы адрема из поста, вдруг спалят человека, что он вместо работы на реакторе сидит :)
Если не сохраняет - то зачем вообще это загружать, если пользователь никогда не посмотрит их?
Суть такова. Я запрашиваю страницу, сервак отдает очень быстро аватары и собственно сам html, а вот картинки грузятся через раз, какие-то грузятся, какие-то нет вообще. Помогает только обновление страницы целиком. Такое наблюдается только в час пик. И по-моему соединение на запрос картинки просто висит (не закрывается). Такой вывод я сделал, открыв дубликат вкладки, и обновив его. Первая вкладка автоматически отобразила картинки.
Единственный минус - то что верстальщики часто забивают на оперу, и бывают проблемы, но это решается другим браузером для пары сайтов.
Кстати опера теперь планирует использовать вебкит и v8, что устранит её последние недостатки как браузера лично для меня.
фх под линуксами выглядит убого, ну и со своими технологиями, как и опера, дотягивает до места в музее
верстальщики не просто так забивали на браузер, возможно из-за его доли и главное из-за поддержки стандартов
верстать отдельно под пару лишних браузеров сомнительное удовольствие
мой знакомый верстальщик наоборот говорит поддержка стандартов у них своя, пилить тонкости не очень хочется
пересборка@допиливание софта под свой н900 не в счёт)
Так что на данный момент для меня на винде оптимальный браузер - Опера.
опера, да, на линуксах выглядела не фонтан, желания смотреть вообще нет
повторюсь знакомый верстальщик наоборот жаловался на оперу и их своё видение стандартов, про ие эт отдельный стёб:)
Я надеюсь что они смогут перенести все сильные стороны оперы.
врядли вы что-то почувствуете, кроме того что сайты стали быстрее/медленее работать
в 2013 году пилить свои html/js движки немного накладно и врядли кто-то оценит
я не считаю что пользуют браузер из-за каких-то мега фич, скорее всего это тупо статистика
вообще самое простое для среднего ойтишника - залезть под капот открытым браузерам, поковырять движки и юай, найти наименее мерзкий и остановится
надеюсь, что геко(движок огнелиса) постигнет судьба оперы
аминь:)
разве нет кайфа от того что начинаешь понимать лучше механизмы работы
допустим если ты верстальщик, то разобрался с парсером цсс свойств, начал лучше их писать
ну может быть примеры не очень адекватные, например, опенсорс в который я лезу эт - кде/qt/что-нибудь окололинуксовое, хотя бы такое https://gitorious.org/kfilebox
смотреть чтобы реализовывать по-своему где-то, да удобно, но мне ближе чинить, добавлять фичи, а не писать своё с нуля
Юзайте оперу или мозиллу