Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...Dmitry SamsonovВ процессе обновления высоконагруженных серверов раздачи видео (40Gbit/s с каждого сервера) со старого OpenSuSE 10.2 на новый CentOS 7 (время между релизами - 7 лет) мы столкнулись с рядом проблем - необъяснимый свопинг и запуски OOM killer, неравномерное распределение нагрузки по ядрам, обрывы соединений, скачки системной нагрузки на CPU.
В докладе будет рассказано о том, как мы боролись с этими проблемами и какие технологии для этого использовали.
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...odnoklassniki.ruВ процессе обновления высоконагруженных серверов раздачи видео (40Gbit/s с каждого сервера) со старого OpenSuSE 10.2 на новый CentOS 7 (время между релизами - 7 лет) мы столкнулись с рядом проблем - необъяснимый свопинг и запуски OOM killer, неравномерное распределение нагрузки по ядрам, обрывы соединений, скачки системной нагрузки на CPU.
В докладе будет рассказано о том, как мы боролись с этими проблемами и какие технологии для этого использовали.
Smokoko S.A.: Art engineeringDevGAMM ConferenceThe speech will cover the process of making a highly detailed vector art, where each detail is in the right place. It will touch on the issues of miniaturization, optimization and animation, repeated use of content and fast generation of large content volumes. In addition, some peculiarities of work according to the “artist – programmer” pattern will get discussed.
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...OnticoВ процессе обновления высоконагруженных серверов раздачи видео (40Gbit/s с каждого сервера) со старого OpenSuSE 10.2 на новый CentOS 7 (время между релизами — 7 лет) мы столкнулись с рядом проблем — необъяснимый свопинг и запуски OOM killer, неравномерное распределение нагрузки по ядрам, обрывы соединений, скачки системной нагрузки на CPU.
В докладе будет рассказано о том, как мы боролись с этими проблемами и какие технологии для этого использовали.
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...odnoklassniki.ruA talk from jokerconf.com conference.
"Frankenstaining of Voldemort" or "key-value storage evolution at Odnoklassniki"
В докладе освещены Java-технологии хранения данных, обслуживающие десятки миллионов пользователей и работающие на сотнях серверов.
На примере социальной сети "Одноклассники" мы рассмотрим эволюцию хранилищ данных с высоким уровнем конкурентного доступа и с соблюдением требования постоянной доступности.
Мы разберём сильные и слабые стороны каждого из решений, начиная от технологии master-slave репликации на основе Berkeley DB и заканчивая симбиозом распределенных хранилищ Voldemort и Cassandra.
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...OnticoСлушатели этого доклада получат представление о том, как построить отказоустойчивое, быстрое, простое и легко масштабируемое решение на базе Nginx и Tarantool.
Коротко о главном:
+ Обзор внутреннего устройства шардинга в Tarantool.
+ Обзор Tarantool upstream модуля для Nginx.
+ Результаты нагрузочного тестирования Tarantool шардинга в связке с Nginx модулем.
+ Live-demo: распределенное отображение графа категорий Wikipedia в СУБД Tarantool с единой точкой входа и возможностью реалтайм поиска по категориям.
DDOS-АТАКИ: ЧТО ЭТО И КАК С НИМИ БОРОТЬСЯStormWall.proАвтор: Рамиль Хантимиров, CEO StormWall.pro
Конференция: Barcamp 6 Krasnodar & South of Russia
Где и когда: г. Краснодар, 11 апреля 2015 г.
Отчет о мероприятии смотрите в нашем блоге https://stormwall.pro/blog
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тобольodnoklassniki.ruЯ расскажу, как нам удалось более чем в 10 раз ускорить старт просмотра кино и сериалов с использованием технологий адаптивного стриминга MPEG-DASH и HLS. Вы узнаете, какие технологии попали в поле зрения команды, как ин-фраструктурные особенности, размер аудитории и специфика потребления на разных пользовательских устройствах повлияли на принятие решения о выборе технологии. Естественно, будет дан и подробный отчет о результатах внедрения решения и полученном эффекте.
То есть около 50 млн. роликов, которые есть на «Одноклассниках», нужно раздать пользователям по стриминг-протоколу на скорости 40 Гбит/с с одного сервера и не хранить копии видео в разных форматах
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...OnticoОперативная память становится всё более дешёвой и производительной, что позволяет использовать её для хранения рабочего набора данных всё большего числа приложений. Хранение всех данных в оперативной памяти позволяет сделать их высоко доступными, а алгоритмы для работы с данными либо существенно упростить, либо ускорить, а иногда — и то, и другое.
Тезисы - http://www.highload.ru/2015/abstracts/1964.html
Платформа для видео сроком в квартал. Александр Тоболь.odnoklassniki.ruA talk from jokerconf.com conference. "Video Platform in 3 months. Delivered." by Alexander Tobol.
Доклад не затронет какую-то особенную технологию или волшебный алгоритм. Речь пойдет о том, как чуть больше чем за квартал совсем небольшая команда перезапустила работающий в режиме 24/7 совсем немаленький видео-сервис на Одноклассниках на написанной с нуля платформе, развернутой на парке из свыше 200 серверов, распределенных между несколькими центрами обмена данными.
Я бы хотел поделиться успехами и неудачами в ходе решения задачи по обеспечению бесперебойных загрузки, трансформации, хранения, раздачи видео и мониторинга, а также остановиться на особенностях, связанных с нагрузкой в 1000 просмотров в секунду, размером ежедневной аудитории в 8 миллионов географически распределенных в и за пределами РФ. Я также остановлюсь на некоторых использованных нами технологиях.
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...OnticoHighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2960.html
При изучении алгоритмов и структур данных я предлагаю студентам закрепить знания и попытаться сделать мир лучше, выполнив небольшие проекты по внедрению эффективных алгоритмов в свободное программное обеспечение. В этом докладе я расскажу несколько идей для таких проектов.
Мы рассмотрим существующие фрагменты исходного кода, поговорим о том, что в нём можно допилить, и обсудим, сколько баллов за это надо давать.
Реализацией идей могут заняться, разумеется, все желающие.
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Ontico+ Защита данных — это не "одна кнопка", нет годного любому единого решения. Задача всегда диктует выбор средств и решений.
+ RTO — Recovery Time Objective — максимальное время, за которое все ваши бизнес-задачи должны полностью быть восстановлены в работоспособное состояние после полной катастрофы ДЦ.
+ RPO — Recovery Point Objective — максимально приемлемый для ваших задач промежуток времени, за который вы готовы потерять данные.
+ Защита на уровне приложений. Приложение лучше всех знает, как защищать и реплицировать свои данные.
+ Асинхронная репликация — наилучший выход с точки зрения производительности, единственно возможный вариант в случае значительного географического разнесения дата-центров (сотни и более километров). Работает на уровне виртуальных машин.
+ Метро / "растянутые" кластеры и синхронная репликация — нулевой RPO, минимальный RTO, большие потери производительности и множество ограничений. Но иногда — единственный выход, если уровень приложения не умеет реплицировать данные.
+ Лучший подход — комбинация из репликации на уровне приложений, асинхронной и синхронной репликации средствами хранилища.
+ Что есть у Nutanix для решения подобных задач: DR (Async replication), Metro availability cluster, Timestream Backup.
+ Реализация решения с использованием Nutanix на примере FBI: крупнейший VDI в США. Защищенная, mission-critical инфраструктура на 70 тысяч виртуальных десктопов. Асинхронная репликация дата-центров на 1500 миль, защита данных от катастроф.
Mysql vs postgresqlDaniel Podolskyсравнение производительности СУБД MySQL и PostgreSQL для "типичной задачи стартапа".
Презентация сопровождала тестовую online-сессию и потому не содержит результатов тестирования.
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...odnoklassniki.ruA talk from jokerconf.com conference.
"Frankenstaining of Voldemort" or "key-value storage evolution at Odnoklassniki"
В докладе освещены Java-технологии хранения данных, обслуживающие десятки миллионов пользователей и работающие на сотнях серверов.
На примере социальной сети "Одноклассники" мы рассмотрим эволюцию хранилищ данных с высоким уровнем конкурентного доступа и с соблюдением требования постоянной доступности.
Мы разберём сильные и слабые стороны каждого из решений, начиная от технологии master-slave репликации на основе Berkeley DB и заканчивая симбиозом распределенных хранилищ Voldemort и Cassandra.
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...OnticoСлушатели этого доклада получат представление о том, как построить отказоустойчивое, быстрое, простое и легко масштабируемое решение на базе Nginx и Tarantool.
Коротко о главном:
+ Обзор внутреннего устройства шардинга в Tarantool.
+ Обзор Tarantool upstream модуля для Nginx.
+ Результаты нагрузочного тестирования Tarantool шардинга в связке с Nginx модулем.
+ Live-demo: распределенное отображение графа категорий Wikipedia в СУБД Tarantool с единой точкой входа и возможностью реалтайм поиска по категориям.
DDOS-АТАКИ: ЧТО ЭТО И КАК С НИМИ БОРОТЬСЯStormWall.proАвтор: Рамиль Хантимиров, CEO StormWall.pro
Конференция: Barcamp 6 Krasnodar & South of Russia
Где и когда: г. Краснодар, 11 апреля 2015 г.
Отчет о мероприятии смотрите в нашем блоге https://stormwall.pro/blog
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тобольodnoklassniki.ruЯ расскажу, как нам удалось более чем в 10 раз ускорить старт просмотра кино и сериалов с использованием технологий адаптивного стриминга MPEG-DASH и HLS. Вы узнаете, какие технологии попали в поле зрения команды, как ин-фраструктурные особенности, размер аудитории и специфика потребления на разных пользовательских устройствах повлияли на принятие решения о выборе технологии. Естественно, будет дан и подробный отчет о результатах внедрения решения и полученном эффекте.
То есть около 50 млн. роликов, которые есть на «Одноклассниках», нужно раздать пользователям по стриминг-протоколу на скорости 40 Гбит/с с одного сервера и не хранить копии видео в разных форматах
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...OnticoОперативная память становится всё более дешёвой и производительной, что позволяет использовать её для хранения рабочего набора данных всё большего числа приложений. Хранение всех данных в оперативной памяти позволяет сделать их высоко доступными, а алгоритмы для работы с данными либо существенно упростить, либо ускорить, а иногда — и то, и другое.
Тезисы - http://www.highload.ru/2015/abstracts/1964.html
Платформа для видео сроком в квартал. Александр Тоболь.odnoklassniki.ruA talk from jokerconf.com conference. "Video Platform in 3 months. Delivered." by Alexander Tobol.
Доклад не затронет какую-то особенную технологию или волшебный алгоритм. Речь пойдет о том, как чуть больше чем за квартал совсем небольшая команда перезапустила работающий в режиме 24/7 совсем немаленький видео-сервис на Одноклассниках на написанной с нуля платформе, развернутой на парке из свыше 200 серверов, распределенных между несколькими центрами обмена данными.
Я бы хотел поделиться успехами и неудачами в ходе решения задачи по обеспечению бесперебойных загрузки, трансформации, хранения, раздачи видео и мониторинга, а также остановиться на особенностях, связанных с нагрузкой в 1000 просмотров в секунду, размером ежедневной аудитории в 8 миллионов географически распределенных в и за пределами РФ. Я также остановлюсь на некоторых использованных нами технологиях.
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...OnticoHighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2960.html
При изучении алгоритмов и структур данных я предлагаю студентам закрепить знания и попытаться сделать мир лучше, выполнив небольшие проекты по внедрению эффективных алгоритмов в свободное программное обеспечение. В этом докладе я расскажу несколько идей для таких проектов.
Мы рассмотрим существующие фрагменты исходного кода, поговорим о том, что в нём можно допилить, и обсудим, сколько баллов за это надо давать.
Реализацией идей могут заняться, разумеется, все желающие.
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Ontico+ Защита данных — это не "одна кнопка", нет годного любому единого решения. Задача всегда диктует выбор средств и решений.
+ RTO — Recovery Time Objective — максимальное время, за которое все ваши бизнес-задачи должны полностью быть восстановлены в работоспособное состояние после полной катастрофы ДЦ.
+ RPO — Recovery Point Objective — максимально приемлемый для ваших задач промежуток времени, за который вы готовы потерять данные.
+ Защита на уровне приложений. Приложение лучше всех знает, как защищать и реплицировать свои данные.
+ Асинхронная репликация — наилучший выход с точки зрения производительности, единственно возможный вариант в случае значительного географического разнесения дата-центров (сотни и более километров). Работает на уровне виртуальных машин.
+ Метро / "растянутые" кластеры и синхронная репликация — нулевой RPO, минимальный RTO, большие потери производительности и множество ограничений. Но иногда — единственный выход, если уровень приложения не умеет реплицировать данные.
+ Лучший подход — комбинация из репликации на уровне приложений, асинхронной и синхронной репликации средствами хранилища.
+ Что есть у Nutanix для решения подобных задач: DR (Async replication), Metro availability cluster, Timestream Backup.
+ Реализация решения с использованием Nutanix на примере FBI: крупнейший VDI в США. Защищенная, mission-critical инфраструктура на 70 тысяч виртуальных десктопов. Асинхронная репликация дата-центров на 1500 миль, защита данных от катастроф.
Mysql vs postgresqlDaniel Podolskyсравнение производительности СУБД MySQL и PostgreSQL для "типичной задачи стартапа".
Презентация сопровождала тестовую online-сессию и потому не содержит результатов тестирования.
SECON'2014 - Команда CTRL-PNZ - Уязвимости для самых маленьких. Что это, как ...Конференция разработчиков программного обеспечения SECON'2014В рамках одного доклада мы расскажем, во первых, про наиболее популярные уязвимости веб-приложений. Также мы расскажем про такие классические вещи, как переполнение буфера (на стеке (stack) и на куче (heap), атаки на формат строки и не только. Многие про это слышали, но не многие знают, как этим может воспользоваться злоумышленник. Будет рассмотрена эксплуатация описанных уязвимостей без достаточной информации о приложении, принципы работы и написания шеллкода.
Будут функционировать два стенда, где все желающие могут попробовать свои силы и почувствовать себя настоящими хакерами.
Доклад будет интересен студентам и молодым разработчикам.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Pavel TsukanovДоклад посвящен краткому обзору существующих алгоритмов шифрования, их реализации для платформы .net. Также, помимо шифрования будут рассмотрены и другие варианты защиты данных.
Основы информационной безопасности (Владимир Кузьмин)CivilLeadersRuПрезентация Владимира Кузьмина (муниципальный депутат, IT-предприниматель, активист) на тренинге Школы гражданского лидерства в Краснодаре 2016-07-23.
5. Пример: perlmonks & ZFO
"There is a really simple reason we owned PerlMonks:
we couldn't resist more than 50,000 unencrypted programmer passwords."--- ZFO
979 Volma379 Tim Vroom vroom@blockstackers.com
171588 adv59416 Nigel Sandever vev6s4702@sneakemail.com
381608 archforc ELB ikegami@adaelis.com
9073 4p3rlm0n Randal L. Schwartz merlyn.perlmonk@stonehenge.com
5348 a5q!po9 Max Maischein corion@corion.net
17000 pineappl Curtis Poe curtis_ovid_poe@yahoo.com
85580 kieran Rob Kinyon rob.kinyon@gmail.com
22609 ij7dIcmy Tye McQueen nothingisobvious@gmail.com
26179 rtkJhiG2 Ben Tilly btilly@gmail.com
82147 bZ9jFSgN Tom Leete tleete@zoominternet.net
1382 p3rlm0 chromatic chromatic@wgz.org
461912 william Peter Jaquiery peter@adi.co.nz
29008 MonkEBiz david landgren david@landgren.net
169744 EahejY7f Abigail abigail@foad.org
22308 davesmit Dave Smith dws@davewsmith.co
6. Что же делать?
Hash functions to the rescue!
MD5, SHA1, SHA256, ....
X = MD5(PW) -> храним X
Радужные таблицы?
Х = MD5(salt + PW) -> храним X и salt
Все хорошо?
Не совсем.
7. Improvements
1. Использовать случайную "соль" размером как и
результат - 160 бит для MD5
"Bytes Are Cheap Now"
--- Bruce Schneier
2. Вместо HASH(PW+Salt) нужно использовать
HASH(HASH(PW)+Salt))
X = MD5(MD5(PW)+Salt)) -> храним X и Salt
Все теперь хорошо?
8. GPU Bruteforce
2008г. - Nvidia 8600GT - 64 млн MD5 / сек
2010г. - IGHASHGPU - Fastest SHA1/MD5 hash cracker on ATI
and NVIDIA GPUs (с) golubev.com -
HD5770+HD4770+8600GT = 2 731 млн MD5 / сек
(в пересчете на карточку - ускорение в 10 раз за 2 года!)
Много это или мало?
8-ми символьные буквенно-цифровые пароли =
368= 2 821 109 907 456 / 2 731 000 = 20 минут (!)
(добавление спецсимволов не спасает -
528= 53 459 728 531 456 ~ 6 часов !)
9. Что делать?
Увеличивать вычислительную трудность пароля!
Вместо X=MD5(MD5(Pw)+Salt) используем
X1 = 0
Xi = MD5(Xi-1+Pw+Salt)
i = 1...2M
Умные люди советуют M=20 (20 бит энтропии к паролю)
Но что делать на Perl?
Цикл на 1000000 раз будет считаться довольно долго...
Сколько?
10. Проверим
use Digest::MD5 qw(md5 md5_hex);
use Benchmark;
use String::Random qw(random_string);
my $pass = random_string('.'x20);
my $salt = random_string('.'x20);
timethis(100, '
my $data = 0;
foreach (1..1024*1024) {
$data = md5($data.$pass.$salt);
}
$data = md5_hex($data.$pass.$salt);
');
11. Результаты
Для 2^20 итераций -
timethis 100: 98 wallclock secs (97.45 usr + 0.07 sys = 97.52 CPU)
@ 1.03/s (n=100)
Для 2^10 итераций чуть лучше -
timethis 100000: 93 wallclock secs (92.79 usr + 0.05 sys = 92.84 CPU)
@ 1077.12/s (n=100000)
Более менее-оптимально - при 2^13 итераций -
timethis 10000: 76 wallclock secs (75.32 usr + 0.02 sys = 75.34 CPU)
@ 132.73/s (n=10000)
Достаточно быстро? в принципе да, но не для
параноиков :) ...
12. Bcrypt to the rescue!
http://www.usenix.org/events/usenix99/provos.html
- Используется в OpenBSD c 1999г.
- Пароли по умолчанию в OwlLinux и AltLinux,
поддерживается в OpenSuSE и ASPLinux
- PHP Suhoshin Patch, PostgreSQL etc.
13. Features
- Основан на шифре Blowfish by Bruce Schneier
- Настраиваемый параметр вычислительной сложности
M = 5 - вычисляется за 100 мс
M = 8 - вычисляется за 5 сек
Реализация
- Crypt::Eksblowfish::Bcrypt на CPAN