SlideShare a Scribd company logo
Web Scale

                           Взорвётся всё



Леонид Евдокимов
Второй омский IT-субботник, январь 2013, vk.com/omskit
О чём
Juggler   рост нагрузки с 1k до 10k машин


MongoDB   о свойствах и особенностях
Python    о доставке сигналов смеха для
MySQL     о пользе суррогатных ключей
Linux     об учете накладных расходов
FreeBSD   о внезапной сложности простого
Juggler
Система мониторинга событий
Внутри:    MySQL, MongoDB, Python
В обвязке: nginx или lighttpd, flup или uWSGI


Подробнее: «Мониторинг со всех сторон»
YaC 2011, Алексей Симаков, clck.ru/L5GF
MongoDB
   NoSQL СУБД
   Быстрая как /dev/null
   Не использует JOIN


   mongodb-is-webscale.com
MongoDB

find({x:1})


                vs.


          update({x:1},
                 {$set:{pad:"A…A"}})
MongoDB
> find({x: 1})
{"_id": ObjectId("4f…c3"), "x": 1 }
{"_id": ObjectId("4f…c3"), "x": 1,
"pad": "A…A" }
>


v2.0.2 — взорвано
MongoDB
double-update ≈ ½ quad damage


> update(..., {$push: {big object}})


                    «Scaling with MongoDB»
                    by Michael Schurter 2011
Слушатель, доверяй, но проверяй!
MongoDB

/usr/bin/mongod


                  vs.


                  /usr/sbin/logrotate
MongoDB
jira/SERVER-3339 — при ротации логов…
… stackoverflow в обработчике SIGABRT
… deadlock в malloc()


Починка базы медленнее, чем MyISAM!
MongoDB
jira/SERVER-3339 — при ротации логов…
… stackoverflow в обработчике SIGABRT
… deadlock в malloc()


Починка базы медленнее, чем MyISAM!


Ответ: db.runCommand("logRotate")
Python
Однопоточный
«Медленный»
GIL
Python
Однопоточный
«Медленный»
GIL


Ответ: multiprocessing
Python

/usr/lib/python2.7/multiprocessing


                 vs.


                 /usr/sbin/logrotate
Python
bugs/issue8296 — про multiprocessing
Происходит deadlock из-за EINTR и смерти
одного из тредов
…ох уж эти сигналы!


Ответ: kill -9 -${sid}
                                           :-)
MongoDB & Python
Окончательный ответ на вопрос logrotate,
доставки сигналов и всего такого:


«Delivering Signals for Fun and Profit»
by Michal Zalewski
                                    clck.ru/4RGgy
always look on the bright side of life vulnerability
MySQL
На этот раз не про
сигналы
MySQL
На этот раз не про
сигналы
В mysql все сигналы
обрабатываются в
отдельном потоке


На этот раз — про
JOIN
MySQL

LEFT JOIN


             vs.


                   RIGHT OUTER JOIN
MySQL

LEFT JOIN


             vs.


                   RIGHT OUTER JOIN
                   На самом деле - нет
MySQL
SELECT … FROM t1 LEFT JOIN t2
ON t1.type = 'HOST'
AND t1.host_name = t2.object_name
AND t1.check_name = t2.check_name
LEFT JOIN t1_1 … LEFT JOIN t2_1 …
RIGHT OUTER JOIN t1_2 …
MySQL
mysqld: Incorrect key file for table
'/var/tmp/#sql17161_b3_3.MYI';
try to repair it
MySQL
SELECT … FROM t1 LEFT JOIN t2
ON   t1.type = 'HOST'
AND t1.host_name = t2.object_name
AND t1.check_name = t2.check_name …


host_name, object_name, check_name
- varchar(128) COLLATE utf8_bin
MySQL
MEMORY   maximum key length is 3072 bytes
MyISAM   maximum key length is 1000 bytes
MySQL
MEMORY    maximum key length is 3072 bytes
MyISAM    maximum key length is 1000 bytes


Created_tmp_disk_tables: MEMORY → MyISAM
MySQL
MEMORY    maximum key length is 3072 bytes
MyISAM    maximum key length is 1000 bytes


Created_tmp_disk_tables: MEMORY → MyISAM


При выходе за key_len: MEMORY ↴ MyISAM
                 BADABOOM storage engine
MySQL
Помогают…
… суррогатные INTEGER ключи
… tmp_table_size & max_heap_table_size
                 You can’t hardware yourself
                out of a performance problem
                  you softwared yourself into.
                               – Cary Millsap
Linux & FreeBSD
Linux

/bin/ping


                vs.


        setsockopt(fd, SO_RCVBUF, …)
Linux
SO_RCVBUF
… The kernel doubles this value (to allow space
for bookkeeping overhead).
                                 – man 7 socket
Linux
А теперь пошлем ICMP PING на 10000 хостов
Перенесем «пинговалку» в vm на основе KVM
…
Linux
Задержка пакета от входа до recvmsg()
возросла в десятки раз (пики до 50ms!)
RCVBUF, кажется, достаточно большой для
нескольких тысяч 28-байтных пакетов
Но входящие PONG не помещаются в
RCVBUF при такой задержке
Linux
Измеряем: gist.github.com/4454323
«Bookkeeping overhead» до ¾ kbyte / pkt


Накладные расходы в ≈27.5 раз выше
описанных в man page
Linux
ICMP PING — не очень интересен


Что происходит в UDP (VoIP, игры) сокетах?
Почему KVM настолько повышает latency?
FreeBSD

rename()


             vs.


                     FreeBSD-8.2
FreeBSD
Сказ о rename() и о том, как скушать все PID'ы
и уснуть в D-state

●   В N потоков: rename(tmp, dest_dir)
●   В M потоков: exists(dest_dir/fname)
●   Порождать новый worker-поток, если
    старый не ответил за время T
FreeBSD
В FreeBSD-9.0 VFS уже починили и этот
deadlock в rename() исчез


Ответ: pool, queue & two strict ulimits
IT
Окончательный ответ на вопрос разработки,
протекающих абстракций и всего такого:


           Закон больших чисел
              Взорвётся всё


                   Даже /dev/null. Я не шучу.
Q&A


Леонид Евдокимов, разработчик ПО
leon@darkk.net.ru || http://darkk.net.ru
                 AKA @mathemonkey

More Related Content

What's hot

Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Ontico
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Ontico
 
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...Ontico
 
Архитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеАрхитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтакте
TKConf
 
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
Ontico
 
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Ontico
 
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)Ontico
 
Контейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облакахКонтейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облаках
rusonyx
 
Повышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решенийПовышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решений
Lenvendo
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
larhat
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Ontico
 
Cassandra
CassandraCassandra
Cassandra
Vadim Tsesko
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
CEE-SEC(R)
 
Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"
Fwdays
 
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
Ontico
 
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Ontico
 
Software Transactional Memory
Software Transactional MemorySoftware Transactional Memory
Software Transactional MemoryVadim Tsesko
 
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Ontico
 
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Ontico
 

What's hot (20)

Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
 
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
 
Архитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеАрхитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтакте
 
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
 
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
 
Sysoev Freebsd7
Sysoev Freebsd7Sysoev Freebsd7
Sysoev Freebsd7
 
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)
Контейнерная виртуализация. Золушка в облаках / Юрий Устинов (Русоникс)
 
Контейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облакахКонтейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облаках
 
Повышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решенийПовышаем отказоустойчивость без дорогих решений
Повышаем отказоустойчивость без дорогих решений
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
 
Cassandra
CassandraCassandra
Cassandra
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"
 
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
 
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
 
Software Transactional Memory
Software Transactional MemorySoftware Transactional Memory
Software Transactional Memory
 
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
 
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)
 

Viewers also liked

2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий
2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий
2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятийОмские ИТ-субботники
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.Омские ИТ-субботники
 
2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать
2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать
2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать
Омские ИТ-субботники
 
2014-08-02 04 Андрей Фаткулин. JavaScript и коалы
2014-08-02 04 Андрей Фаткулин. JavaScript и коалы2014-08-02 04 Андрей Фаткулин. JavaScript и коалы
2014-08-02 04 Андрей Фаткулин. JavaScript и коалы
Омские ИТ-субботники
 
2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go
Омские ИТ-субботники
 
2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки
2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки
2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработкиОмские ИТ-субботники
 
2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...
2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...
2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...
Омские ИТ-субботники
 

Viewers also liked (7)

2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий
2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий
2014-01-04 01 Анна Тарасенко. Вредные советы организаторам мероприятий
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
 
2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать
2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать
2014-09-06 03 Владислав Коробов. Как я пытаюсь успевать
 
2014-08-02 04 Андрей Фаткулин. JavaScript и коалы
2014-08-02 04 Андрей Фаткулин. JavaScript и коалы2014-08-02 04 Андрей Фаткулин. JavaScript и коалы
2014-08-02 04 Андрей Фаткулин. JavaScript и коалы
 
2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go2014-11-01 02 Иван Зезюля. To go или не to go
2014-11-01 02 Иван Зезюля. To go или не to go
 
2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки
2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки
2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки
 
2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...
2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...
2014-10-04 01 Андрей Сидоренко. Нельзя просто так взять и разработать удобны...
 

Similar to 2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все

Cтрах и ненависть в MongoDB
Cтрах и ненависть в MongoDBCтрах и ненависть в MongoDB
Cтрах и ненависть в MongoDB
Dmitry Viskov
 
Android: Как написать приложение, которое не тормозит
Android: Как  написать приложение, которое не тормозитAndroid: Как  написать приложение, которое не тормозит
Android: Как написать приложение, которое не тормозитElena Kotina
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
Yandex
 
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решенияДмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
FProg
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Mikhail Kurnosov
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDB
Sergey Petrunya
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
Grid Dynamics
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Dmytro Mindra
 
New Android NDK & JNI
New Android NDK & JNINew Android NDK & JNI
New Android NDK & JNI
Stfalcon Meetups
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Yandex
 
Операционные системы
Операционные системыОперационные системы
Операционные системыyaevents
 
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...phpdevby
 
Low-level C/C++ Optimization by Anrew Axenov (Sphinx)
Low-level C/C++ Optimization by Anrew Axenov (Sphinx)Low-level C/C++ Optimization by Anrew Axenov (Sphinx)
Low-level C/C++ Optimization by Anrew Axenov (Sphinx)Vadim Kosov
 
Низкоуровневая Оптимизация (Андрей Аксенов)
Низкоуровневая Оптимизация (Андрей Аксенов)Низкоуровневая Оптимизация (Андрей Аксенов)
Низкоуровневая Оптимизация (Андрей Аксенов)Ontico
 
hl++ Rubtsov
hl++ Rubtsovhl++ Rubtsov
hl++ RubtsovOntico
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonovComputer Science Club
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Ontico
 

Similar to 2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все (20)

Cтрах и ненависть в MongoDB
Cтрах и ненависть в MongoDBCтрах и ненависть в MongoDB
Cтрах и ненависть в MongoDB
 
Android: Как написать приложение, которое не тормозит
Android: Как  написать приложение, которое не тормозитAndroid: Как  написать приложение, которое не тормозит
Android: Как написать приложение, которое не тормозит
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решенияДмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDB
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
 
New Android NDK & JNI
New Android NDK & JNINew Android NDK & JNI
New Android NDK & JNI
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
Операционные системы
Операционные системыОперационные системы
Операционные системы
 
D do s survival guide
D do s survival guideD do s survival guide
D do s survival guide
 
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
 
linux and freebsd monitoring
linux and freebsd monitoringlinux and freebsd monitoring
linux and freebsd monitoring
 
Low-level C/C++ Optimization by Anrew Axenov (Sphinx)
Low-level C/C++ Optimization by Anrew Axenov (Sphinx)Low-level C/C++ Optimization by Anrew Axenov (Sphinx)
Low-level C/C++ Optimization by Anrew Axenov (Sphinx)
 
Низкоуровневая Оптимизация (Андрей Аксенов)
Низкоуровневая Оптимизация (Андрей Аксенов)Низкоуровневая Оптимизация (Андрей Аксенов)
Низкоуровневая Оптимизация (Андрей Аксенов)
 
Cpp
CppCpp
Cpp
 
hl++ Rubtsov
hl++ Rubtsovhl++ Rubtsov
hl++ Rubtsov
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
 

More from Омские ИТ-субботники

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!
Омские ИТ-субботники
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
Омские ИТ-субботники
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?
Омские ИТ-субботники
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
Омские ИТ-субботники
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
Омские ИТ-субботники
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
Омские ИТ-субботники
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
Омские ИТ-субботники
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
Омские ИТ-субботники
 
2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач
Омские ИТ-субботники
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
Омские ИТ-субботники
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
Омские ИТ-субботники
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
Омские ИТ-субботники
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке
Омские ИТ-субботники
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
Омские ИТ-субботники
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
Омские ИТ-субботники
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
Омские ИТ-субботники
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
Омские ИТ-субботники
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
Омские ИТ-субботники
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
Омские ИТ-субботники
 
2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC
Омские ИТ-субботники
 

More from Омские ИТ-субботники (20)

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
 
2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
 
2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC
 

2013-01-05 01 Леонид Евдокимов. Web scale. Взорвется все