SlideShare a Scribd company logo
И овцы целы, и волки сыты:
как перезапустить
проблемное приложение
и одновременно отладить его
И овцы целы, и волки сыты:
как перезапустить
проблемное приложение
и одновременно отладить его
Павел Емельянов
Архитектор
Нижний Новгород, 2016
Virtuozzo
Z
DisclaimerDisclaimer
● С такими проблемами я лично не сталкивался
● Предлагаемое решение предназначалось для другого
ДаноДано
● “Боевой” сервер (in production)
● Проблемное приложение
● Зависло
● Тормозит
● Работает не так, как надо
Как решатьКак решать
● Разбор приложения
● Логи
● Strace/gdb
● /proc/$pid/*
● ...
● Разбор “окружения”
● Top, Tcpdump, (Io|Vm|Mp)stat, …
● /proc/*, /sys/*
● ...
Дано++:Дано++:
● “Боевой” сервер (in production)
● Проблемное приложение
● Зависло
● Тормозит
● Работает не так, как надо
● Вернуть всё к жизни как можно быстрее
● Перезапуск поможет
Как решать?Как решать?
● Забрать с собой как можно больше
● Логи
● Coredump
● /proc/$pid/*
● ...
● Перезапустить
● Сидеть и думать
ПроблемыПроблемы
● В собранном может оказаться недостаточно информации
● Память и регистры – не 100% состояния
● Часть информации не добывается простым способом
● Параметры сетевых соединений
● “Разделяемость” ресурсов
● Не-posix специфика Linux
● ...
● Статический анализ “посмертных слепков”
CRIUCRIU
● Checkpoint/Restore In Userspace
● Сохранение как можно более полного состояния процессов
● Восстановление процессов в другом месте и в другое время
● Делали для
● Живая миграция контейнеров
● Обновление ядра без перезагрузки
CRIUCRIU
● Пригодилось для
● Тестирования
● Снимков состояния для защиты от аварий (HPC)
● “Заморозки” удалённой терминальной сессии (screen/tmux)
● Обучения студентов IT-специальностей
● Отладки?
Сохранение состояния (dump)Сохранение состояния (dump)
● Остановка процессов freeze cgroup
● Получение максимально возможной информации
о процессах и окружении
● Ptrace
● Proc
● Parasite code injection
● Много нового API было сделано для CRIU
Восстановление (restore)Восстановление (restore)
● CRIU fork()-ается нужное число раз
● Каждый процесс восстанавливает сам себя
● В конце кульбит – продолжение выполнение прерванного кода
Отладка с помощью CRIUОтладка с помощью CRIU
● Сохранить состояние проблемного приложения
● Скопировать файлы с состоянием на свою машину
● Перезапустить
● У себя
● Восстановить у себя и … “свели задачу к предыдущей”
● Изучать файлы образы
СохранениеСохранение
● criu dump ­­tree $pid ­­images­dir directory/
Команда сохранить состояние
ID процесса – корня дерева
Директория для записи файлов-образов
ОсобенностиОсобенности
● Не всегда возможно
● Мы работаем над этим
● До недавнего времени требовались root привилегии
● Политики безопасности в ядре
● Внешние связи
● TCP/Unix сокеты
● Сессия
ВосстановлениеВосстановление
● criu restore ­­images­dir directory/
Команда восстановления
Директория с файлами-образами
ОсобенностиОсобенности
● Конфликт идентификаторов
● Надо восстанавливать внутрь контейнера
● Требуются root привилегии
● В следующей версии будет легче
● Внешние связи
● Нет универсального решения
Файлы образыФайлы образы
● Утилита CRIT
● Перевод в json (и обратно)
● Печать статистической информации
● ps, lsof, ...
● Criu-coredump – генерация core
Что почитатьЧто почитать
● https://criu.org
● +CriuOrg, @__criu__
● criu@openvz.org
● https://github.com/xemul/criu
Всё
xemul@virtuozzo.com
Virtuozzo
Z

More Related Content

What's hot

Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложному
Ilya Bolkhovsky
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
Nikolay Samokhvalov
 
Разработка CLI с помощью python-cliff
Разработка CLI с помощью python-cliffРазработка CLI с помощью python-cliff
Разработка CLI с помощью python-cliff
Mikhail Kalinin
 
Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)
Ontico
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Yandex
 
Cgroup и их использование в бк
Cgroup и их использование в бкCgroup и их использование в бк
Cgroup и их использование в бкYandex
 
Консервация процессов в домашних условиях
Консервация процессов в домашних условияхКонсервация процессов в домашних условиях
Консервация процессов в домашних условиях
OpenVZ
 
Lec 14
Lec 14Lec 14
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
it-people
 
Sama5d3: how to run linux on it
Sama5d3: how to run linux on itSama5d3: how to run linux on it
Sama5d3: how to run linux on it
Pavel Kurochkin
 
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Ontico
 
CodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали ГрупонCodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали ГрупонCodeFest
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
Nikolay Samokhvalov
 
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Ontico
 
С чем едят JS-дебаггур?!
С чем едят JS-дебаггур?!С чем едят JS-дебаггур?!
С чем едят JS-дебаггур?!
volegg
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
Nikita Baksalyar
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
Alex Chistyakov
 
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
DataArt
 

What's hot (18)

Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложному
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 
Разработка CLI с помощью python-cliff
Разработка CLI с помощью python-cliffРазработка CLI с помощью python-cliff
Разработка CLI с помощью python-cliff
 
Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)Хранение данных на виниле / Константин Осипов (tarantool.org)
Хранение данных на виниле / Константин Осипов (tarantool.org)
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
Cgroup и их использование в бк
Cgroup и их использование в бкCgroup и их использование в бк
Cgroup и их использование в бк
 
Консервация процессов в домашних условиях
Консервация процессов в домашних условияхКонсервация процессов в домашних условиях
Консервация процессов в домашних условиях
 
Lec 14
Lec 14Lec 14
Lec 14
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
Sama5d3: how to run linux on it
Sama5d3: how to run linux on itSama5d3: how to run linux on it
Sama5d3: how to run linux on it
 
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
 
CodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали ГрупонCodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали Групон
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
 
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
 
С чем едят JS-дебаггур?!
С чем едят JS-дебаггур?!С чем едят JS-дебаггур?!
С чем едят JS-дебаггур?!
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
 
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro“Разговоры на разных диалектах”, Артем Захарченко, DevPro
“Разговоры на разных диалектах”, Артем Захарченко, DevPro
 

Viewers also liked

Ann Arbor Marketing & Advertising Agency
Ann Arbor Marketing & Advertising AgencyAnn Arbor Marketing & Advertising Agency
Ann Arbor Marketing & Advertising Agency
Marketingsupply
 
Los animales mas tenebrosos del mar
Los animales mas tenebrosos del marLos animales mas tenebrosos del mar
Los animales mas tenebrosos del mar
amz2002
 
Poverty report
Poverty reportPoverty report
Poverty report
jhurelou
 
SDC Design competition
SDC Design competitionSDC Design competition
SDC Design competition
SRS SONY
 
Atif Umair Resume pdf
Atif Umair Resume pdfAtif Umair Resume pdf
Atif Umair Resume pdf
Atif Umair
 
GFI
GFIGFI
Leadership-Check Plus
Leadership-Check PlusLeadership-Check Plus
Leadership-Check Plus
Fady Basta
 
Enfermería neonatal
Enfermería neonatalEnfermería neonatal
Enfermería neonatal
UsuarioTIC
 
On tap chuong 1 hai duong thang song song
On tap chuong 1 hai duong thang song songOn tap chuong 1 hai duong thang song song
On tap chuong 1 hai duong thang song song
vothinga1989
 
Wie Open Source Sie unterstützt, ohne dass Sie es merken
Wie Open Source Sie unterstützt, ohne dass Sie es merkenWie Open Source Sie unterstützt, ohne dass Sie es merken
Wie Open Source Sie unterstützt, ohne dass Sie es merken
WernerHehenwarter
 
MI227 Cousework1
MI227 Cousework1MI227 Cousework1
MI227 Cousework1
Grace Villareal
 
Enfermería neonatal
Enfermería neonatalEnfermería neonatal
Enfermería neonatal
UsuarioTIC
 
Kelas abad 21
Kelas abad 21Kelas abad 21
Kelas abad 21
karmina83
 
e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...
e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...
e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...
Crs Soft Yazılım Hizmetleri A.Ş.
 
Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !
Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !
Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !
Crs Soft Yazılım Hizmetleri A.Ş.
 

Viewers also liked (16)

Ann Arbor Marketing & Advertising Agency
Ann Arbor Marketing & Advertising AgencyAnn Arbor Marketing & Advertising Agency
Ann Arbor Marketing & Advertising Agency
 
Universidad de cordoba
Universidad de cordobaUniversidad de cordoba
Universidad de cordoba
 
Los animales mas tenebrosos del mar
Los animales mas tenebrosos del marLos animales mas tenebrosos del mar
Los animales mas tenebrosos del mar
 
Poverty report
Poverty reportPoverty report
Poverty report
 
SDC Design competition
SDC Design competitionSDC Design competition
SDC Design competition
 
Atif Umair Resume pdf
Atif Umair Resume pdfAtif Umair Resume pdf
Atif Umair Resume pdf
 
GFI
GFIGFI
GFI
 
Leadership-Check Plus
Leadership-Check PlusLeadership-Check Plus
Leadership-Check Plus
 
Enfermería neonatal
Enfermería neonatalEnfermería neonatal
Enfermería neonatal
 
On tap chuong 1 hai duong thang song song
On tap chuong 1 hai duong thang song songOn tap chuong 1 hai duong thang song song
On tap chuong 1 hai duong thang song song
 
Wie Open Source Sie unterstützt, ohne dass Sie es merken
Wie Open Source Sie unterstützt, ohne dass Sie es merkenWie Open Source Sie unterstützt, ohne dass Sie es merken
Wie Open Source Sie unterstützt, ohne dass Sie es merken
 
MI227 Cousework1
MI227 Cousework1MI227 Cousework1
MI227 Cousework1
 
Enfermería neonatal
Enfermería neonatalEnfermería neonatal
Enfermería neonatal
 
Kelas abad 21
Kelas abad 21Kelas abad 21
Kelas abad 21
 
e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...
e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...
e-Defter Uygulama Kılavuzu 1.4 yayımlanmıştır. Söz konusu kılavuza ulaşabilme...
 
Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !
Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !
Bilet Raporu Havayolları Teknik Kılavuzu yayınlanmıştır !
 

Similar to Как перезапустить проблемное приложение и одновременно отладить его

Инструменты профайлинга С++ кода
Инструменты профайлинга С++ кодаИнструменты профайлинга С++ кода
Инструменты профайлинга С++ кода
corehard_by
 
Антон Наумович - Контроль качества и сопровождение в реальном времени
Антон Наумович - Контроль качества и сопровождение в реальном времениАнтон Наумович - Контроль качества и сопровождение в реальном времени
Антон Наумович - Контроль качества и сопровождение в реальном времени
COMAQA.BY
 
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
corehard_by
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладка
Sergey Platonov
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
Gleb Pospelov
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
FDConf
 
High Load 2009 Imdg Presentation
High Load 2009   Imdg PresentationHigh Load 2009   Imdg Presentation
High Load 2009 Imdg PresentationHighLoad2009
 
Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"
Fwdays
 
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Ontico
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
Amasty
 
Применение DTrace для оптимизации производительности на примере двух больших ...
Применение DTrace для оптимизации производительности на примере двух больших ...Применение DTrace для оптимизации производительности на примере двух больших ...
Применение DTrace для оптимизации производительности на примере двух больших ...
SQALab
 
Презентация про DTrace на ADDconf в Минске
Презентация про DTrace на ADDconf в МинскеПрезентация про DTrace на ADDconf в Минске
Презентация про DTrace на ADDconf в Минске
Alex Chistyakov
 
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
Ivan Grishaev
 
HBase on Dev{Highload}
HBase on Dev{Highload}HBase on Dev{Highload}
HBase on Dev{Highload}
Alex Chistyakov
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
IT-Portfolio
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.DrupalForumZP2012
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичковOvadiah Myrgorod
 
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
Python Meetup
 
Лев Казаркин, Удивительные приключения регистров SSE или в поисках одного бага
Лев Казаркин, Удивительные приключения регистров SSE или в поисках одного багаЛев Казаркин, Удивительные приключения регистров SSE или в поисках одного бага
Лев Казаркин, Удивительные приключения регистров SSE или в поисках одного бага
Sergey Platonov
 

Similar to Как перезапустить проблемное приложение и одновременно отладить его (20)

Инструменты профайлинга С++ кода
Инструменты профайлинга С++ кодаИнструменты профайлинга С++ кода
Инструменты профайлинга С++ кода
 
Антон Наумович - Контроль качества и сопровождение в реальном времени
Антон Наумович - Контроль качества и сопровождение в реальном времениАнтон Наумович - Контроль качества и сопровождение в реальном времени
Антон Наумович - Контроль качества и сопровождение в реальном времени
 
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
 
Павел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладкаПавел Довгалюк, Обратная отладка
Павел Довгалюк, Обратная отладка
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
 
High Load 2009 Imdg Presentation
High Load 2009   Imdg PresentationHigh Load 2009   Imdg Presentation
High Load 2009 Imdg Presentation
 
Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"Владислав Грязнов "Многозадачность в PHP"
Владислав Грязнов "Многозадачность в PHP"
 
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
 
Применение DTrace для оптимизации производительности на примере двух больших ...
Применение DTrace для оптимизации производительности на примере двух больших ...Применение DTrace для оптимизации производительности на примере двух больших ...
Применение DTrace для оптимизации производительности на примере двух больших ...
 
Презентация про DTrace на ADDconf в Минске
Презентация про DTrace на ADDconf в МинскеПрезентация про DTrace на ADDconf в Минске
Презентация про DTrace на ADDconf в Минске
 
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
 
HBase on Dev{Highload}
HBase on Dev{Highload}HBase on Dev{Highload}
HBase on Dev{Highload}
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Эксплуат...
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.
 
Drupal code sprint для новичков
Drupal code sprint для новичковDrupal code sprint для новичков
Drupal code sprint для новичков
 
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
 
Лев Казаркин, Удивительные приключения регистров SSE или в поисках одного бага
Лев Казаркин, Удивительные приключения регистров SSE или в поисках одного багаЛев Казаркин, Удивительные приключения регистров SSE или в поисках одного бага
Лев Казаркин, Удивительные приключения регистров SSE или в поисках одного бага
 

Как перезапустить проблемное приложение и одновременно отладить его