Столкнулся с задачей — автоопределение кодировки страницы/текста/чего угодно. Задача не нова, и велосипедов понапридумано уже много. В статье небольшой обзор найденного в сети — плюс предложение своего, как мне кажется, достойного решения.
Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида GET someurl/?t1555ss5326=5326, где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение "?", если в URI идут аргументы. Базовая конструкция выглядит так:
if ($is_args = "?") {
return 403 444;
}
Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты: load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.
В ходе отладки облака собралась статистика по потреблению ресурсов инсталляторами различных версий Linux.
Все ОС ставятся полностью автоматом (preseed и kickstart), в минимальной конфигурации с незначительными коррекциями (в частности, openssh-server для дебиана и специальное Xen'овское ядро). Так как собрать статистику «только за установку» не получается, приведена статистика за операцию «установка + первая загрузка».
Установка целиком идёт с репозитория (т.е. сетевой трафик большей частью — это скачивание пакетов).
Показатели:
процессорное время — реальное время работы процессора. Время установки системы больше, так как во время операций ввода/вывода процессор простаивает. (фактически, это использованные такты процессора, поделенные на частоту)
потребление памяти — благодаря memory on demand объём выделенной памяти меняется «на лету». Для подсчёта получившегося потребления введена синтетическая величина Гб*ч (1Гб*ч = 1 Гигабайт памяти на 1 час или 512 Мб на 2 часа, или 2Гб на пол-часа)
Сеть и диск интутитивно понятны. Учитывается как объём, так и количество запросов.
ОС
Процессорное время
Потребление памяти
Запись на диск (Мб, операций)
Чтение с диска (Мб, операций)
Передано в сеть (Мб, пакетов)
Получено из сети (Мб, пакетов)
Debian Lenny i386
2 мин. 39 с
0.065 Гб*ч
1216 Мб, 60657
25 Мб, 3695
1.02 Мб, 19444
130.18 Мб, 91672
Ubuntu Lucid Lynx i386
4 мин. 19 с
0.128 Гб*ч
2324 Мб, 144350
39 Мб, 4430
3.76 Мб, 70887
213 Мб, 154146
Ubuntu Lucid Lynx amd64
3 мин. 39 с
0.563 Гб*ч
2510 Мб, 191514
45 Мб, 4749
4.41 Мб, 83386
214.28 Мб, 155494
Centos 5.4 i386
1 мин 48 с
0.127 Гб*ч
1191 Мб, 153543
137 Мб, 9348
8.65 Мб, 163729
365.39 Мб, 267416
Centos 5.4 amd64
1 мин. 46 с
0.149 Гб*ч
1408 Мб, 185964
139 Мб, 9209
9.01 Мб, 172613
416.75 Мб, 306086
Я не совсем могу объяснить эти результаты (в частности, такая большая разница по времени между ubuntu 32 и 64 бита), однако, центос сильно удивил — время установки у него ощутимо больше, чем у debian, а реальной нагрузки на процессор — меньше.
Посвящается B_dot, пост которого заставил заинтересоваться возможностями консоли плотнее.
Краткое вступление
В этом посте будет рассказано о некоторых сочетания клавиш, которые могут упросить жизнь администраторам, работающим в консоли. Все они работают в bash'e. Сочетания клавиш я дополнительно проверял на циске (Cisco IOS Software, s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-M), Version 12.2(33)SXH4), csh и zsh. Рассмотренное в других записях повторять особо не буду. Сочетания сгруппированы по использованной функциональной клавише.
Особенно полезен этот текст будет людям, которые любят использовать клавиши Home, End и Delete (которые в цисковой консоли «не работают»).
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в