Подсчет трафика на вдс
Понедельник, 5 октября, 4:6
Вот мы где-то 8 лет предоставляем вдс (т.е. с 2007го года, я думаю, хотя может и с 2006го). И только сейчас дошли руки прикрутить подсчет трафика. И то, там еще интегрировать в новое апи, отчеты делать и вообще. Хорошо бы еще и шейпить, но это, наверное, не раньше, чем на 10G перейдем.
Сначала я пошел в вики — Traffic_accounting_through_proc и Traffic_accounting_with_iptables. Тут как бы все хорошо, только первый вариант не заработал (от слова совсем — ни графиков, ни отчетов от rrdtool fetch), ну и я дальше не нашел причин в этом ковыряться, в подсчет через iptables forward — он поштучно по ип адресам, теряется с ребутом и требует обертки даже больше, чем в первом случае. В итоге — взял здравую часть из первого варианта и переписал так (для визуального удобства добавлены переводы строки, отмечены стрелочкой):
Запускать, например, так: CT=2010 /root/vz_traf
Оно выводит данные в удобном текстовом формате, который можно скармливать нашей стандартной считалке трафика — она уже считает сама инкрементально, учитывая ситуации, когда вдс была перезагружена.
Соответственно, получить статистику по всем вдс:
Этот вариант не самый лучший — uptime можно брать скриптами без форков, вывод vzctl exec тоже можно обрабатывать теми же скриптами без форков, и если внутри вдс закончились лимиты на число процессов — вероятно ничего запустить в ней не удасться. Но для большинства ситуаций — ок.
Сначала я пошел в вики — Traffic_accounting_through_proc и Traffic_accounting_with_iptables. Тут как бы все хорошо, только первый вариант не заработал (от слова совсем — ни графиков, ни отчетов от rrdtool fetch), ну и я дальше не нашел причин в этом ковыряться, в подсчет через iptables forward — он поштучно по ип адресам, теряется с ребутом и требует обертки даже больше, чем в первом случае. В итоге — взял здравую часть из первого варианта и переписал так (для визуального удобства добавлены переводы строки, отмечены стрелочкой):
OO=$( echo $CT ; /usr/sbin/vzctl exec $CT "cat /proc/uptime" | ←perl -ne '/(\d*)/ ; print "$1\t"; ←printf "%02d:%02d:%02d:%02d\n",int($1/86400),int(($1%86400)/3600),int(($1%3600)/60),$1%60' ; /usr/sbin/vzctl exec $CT "grep venet0 /proc/net/dev" | ←awk -F: '{print $2}' | awk '{printf"CTIN=%s\tCTOUT=%s\n", $1, $9}' ) echo $OO # CTID UPTIME_seconds UPTIME_dhms CT_IN CT_OUT
Запускать, например, так: CT=2010 /root/vz_traf
Оно выводит данные в удобном текстовом формате, который можно скармливать нашей стандартной считалке трафика — она уже считает сама инкрементально, учитывая ситуации, когда вдс была перезагружена.
Соответственно, получить статистику по всем вдс:
for CT in $(/usr/sbin/vzlist -o veid -H) do /root/vz_traf # или вызвать как функцию done
Этот вариант не самый лучший — uptime можно брать скриптами без форков, вывод vzctl exec тоже можно обрабатывать теми же скриптами без форков, и если внутри вдс закончились лимиты на число процессов — вероятно ничего запустить в ней не удасться. Но для большинства ситуаций — ок.
OpenVZ control panels
Воскресенье, 4 октября, 21:40
Невыдержал, актуализировал ссылки и состояние https://openvz.org/Control_panels
Отдельно интересно, что половина платных панелей умерла, остальные имеют никуда не годный интерфейс, а три оставшиеся с хоть немного сносным интерфейсом (да, я про owp, VMmanager и SolusVM) — совершенно бестолковые во всём.
Не менее интересно, что более одной ноды почти никто не умеет.
Отдельно интересно, что половина платных панелей умерла, остальные имеют никуда не годный интерфейс, а три оставшиеся с хоть немного сносным интерфейсом (да, я про owp, VMmanager и SolusVM) — совершенно бестолковые во всём.
Не менее интересно, что более одной ноды почти никто не умеет.
Различия между SSD дисками
Среда, 30 сентября, 14:40
Имея проблему выбора SSD при ограниченном количестве денег пришлось разобраться, чем таки они отличаются.
Intel 530/535 vs S3510
Не смотря на то, что они кажутся одинаковыми — разница таки есть. У s3510 меньше latency в полтора раза, но потребления питания в 27 раз больше под нагрузкой и в 10 раз больше без нагрузки. Кроме того — есть внутренняя батарейка, которая позволяет записать данные в случае пропадания питания. При этом сами чипы используются вроде те же и это 0.3 DWPD. Это приемлемо для шаред хостинга, включая битрикс — в общем случае за 0.5 DWPD нагрузка там не выходит, а диски все равно меняются раз в два года.
Intel s3610/p3600 vs s3710/p3700
Здесь уже используются HET чипы, и они позволяют 10 DWPD. 3610 серия отличается от 3700 серии тем, что в 3700 попадают лучшие чипы, а в 3610 — эти же самые чипы, прошедшие всё тестирование, но не идеальные. Это означает, что в контексте шаред хостинга (0.5 DWPD) практического смысла брать 3700 нет.
Samsung 850 Pro
Имеет 0.3 DWPD и в целом на него хорошие отзывы, однако на форумах есть жалобы на деградацию производительности со временем. Он несколько дешевле интелла, и есть модели на 2 терабайта, но в целом не стоит брать его, разве что вместо интел 535, когда нужен объем.
Samsung PM863 и PM серия
Не смотря на вроде серверность — TLC чипы (вся серия PM). TLC чипов следует избегать в серверах. У разных моделей может быть заявлено до 3.5 DWPD, но все равно TLC чипы следует избегать.
Samsung SM/SV 841, 843 и т.д.
Для серверов годны более чем. Однако в россию практически не возятся и, как правило, продаются дороже интелла (хотя вообще в мире стоят дешевле). Это печаль, потому что они намного лучше intel s3510, а стоят не дороже.
Отдельное непонимание вызывет у меня существование разных серверных дисков у OCZ с ценами выше интелла 3700 и характеристиками в 3-4 DWPD.
Так же я совершенно не понимаю, почему на серверном рынке сейчас фактически полностью нет eMLC, а то, что есть, имеют цену порядка 400 т.р. за 100 гигабайт с коннектором на сата (intel p3700 на 2 террабайта стоит столько же).
upd:
s3700 вдворе дороже s3510,
s3610 в 1.3 раза дороже s3510,
p3600 в 1,54 раза дороже s3610.
Intel 530/535 vs S3510
Не смотря на то, что они кажутся одинаковыми — разница таки есть. У s3510 меньше latency в полтора раза, но потребления питания в 27 раз больше под нагрузкой и в 10 раз больше без нагрузки. Кроме того — есть внутренняя батарейка, которая позволяет записать данные в случае пропадания питания. При этом сами чипы используются вроде те же и это 0.3 DWPD. Это приемлемо для шаред хостинга, включая битрикс — в общем случае за 0.5 DWPD нагрузка там не выходит, а диски все равно меняются раз в два года.
Intel s3610/p3600 vs s3710/p3700
Здесь уже используются HET чипы, и они позволяют 10 DWPD. 3610 серия отличается от 3700 серии тем, что в 3700 попадают лучшие чипы, а в 3610 — эти же самые чипы, прошедшие всё тестирование, но не идеальные. Это означает, что в контексте шаред хостинга (0.5 DWPD) практического смысла брать 3700 нет.
Samsung 850 Pro
Имеет 0.3 DWPD и в целом на него хорошие отзывы, однако на форумах есть жалобы на деградацию производительности со временем. Он несколько дешевле интелла, и есть модели на 2 терабайта, но в целом не стоит брать его, разве что вместо интел 535, когда нужен объем.
Samsung PM863 и PM серия
Не смотря на вроде серверность — TLC чипы (вся серия PM). TLC чипов следует избегать в серверах. У разных моделей может быть заявлено до 3.5 DWPD, но все равно TLC чипы следует избегать.
Samsung SM/SV 841, 843 и т.д.
Для серверов годны более чем. Однако в россию практически не возятся и, как правило, продаются дороже интелла (хотя вообще в мире стоят дешевле). Это печаль, потому что они намного лучше intel s3510, а стоят не дороже.
Отдельное непонимание вызывет у меня существование разных серверных дисков у OCZ с ценами выше интелла 3700 и характеристиками в 3-4 DWPD.
Так же я совершенно не понимаю, почему на серверном рынке сейчас фактически полностью нет eMLC, а то, что есть, имеют цену порядка 400 т.р. за 100 гигабайт с коннектором на сата (intel p3700 на 2 террабайта стоит столько же).
upd:
s3700 вдворе дороже s3510,
s3610 в 1.3 раза дороже s3510,
p3600 в 1,54 раза дороже s3610.
E3-E5
Вторник, 15 сентября, 20:52
Из занимательного — E3-1271 v3 и E5-1630 v3 эквивалентны по суммарной мощности и производительности ядра. E5 дороже на 20 долларов коробками или на 4 т.р. поштучно, это мелочи.
А интересно здесь то, что
1) E5 умеет больше 32 памяти, и к тому же DDR4
2) если брать микроклауды, то можно брать полку под E5, и для клиентов, которым нужно сэкономить — ставить туда 1630, а остальным — 1650. И если изменятся требования — это можно легко апгрейдить.
Хотя, конечно, если хотеть дешевую полку, то можно сделать на 1231 v3 и памяти поставить только 16 — это будет дешевле на пару сотен, в пересчете на полку.
А интересно здесь то, что
1) E5 умеет больше 32 памяти, и к тому же DDR4
2) если брать микроклауды, то можно брать полку под E5, и для клиентов, которым нужно сэкономить — ставить туда 1630, а остальным — 1650. И если изменятся требования — это можно легко апгрейдить.
Хотя, конечно, если хотеть дешевую полку, то можно сделать на 1231 v3 и памяти поставить только 16 — это будет дешевле на пару сотен, в пересчете на полку.
cperl
Вторник, 15 сентября, 3:52
Зацените прекрасное - http://perl11.org/cperl/
Выглядит на стольк вкусно, что хочу попробовать запустить наши проекты с этим и посмотреть действительно ли там все совместимо.
Выглядит на стольк вкусно, что хочу попробовать запустить наши проекты с этим и посмотреть действительно ли там все совместимо.