SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Разработка и отказоустойчивость
программных систем
высокой доступности
Иосиф Иткин, Exactpro Systems
23 декабря 2013
Введение

Инновационные трейдинговые системы
ул. Ленина 20
Создание и применение инструментов
для проверки высоконагруженных
трейдинговых систем
В Костроме – 130 человек

http://clubqa.ru

http://tmpaconf.org
Критерии высокой
доступности
• Высокая доступность – High Availability
• HA is the proportion of time a system is productive and is
usually expressed as a percentage.
• Availability is expressed as MTTF / (MTTF+MTTR), where:
• MTTF (mean-time-to-failure) is the average time that a
system runs (without failing) after it has been set up or
repaired.
• MTTR (mean-time-to-repair) is the average time needed to
repair (or restore) a failed system.
• In the spectrum of system availability, HA systems fall between
99.9% and 100% availability.
http://www.tpc.org/information/other/articles/ha.asp
Виды простоя систем
• Downtime can be categorized as either planned or unplanned
• Planned downtime - is time that the system is unavailable due
to scheduled maintenance such as software/hardware upgrades
and system backups.
• Unplanned downtime is time that the system is unavailable due
to component faults or environmental faults. Human error and
"natural" disasters (including power outages) are examples of
"environmental faults."
Способы повышения
отказоустойчивости
• Minimize the number of faults and the effect/recovery time of
faults in a system.
• Avoid a single-point-of-failure by utilizing redundant parts and
rerouting (failover).
• Reduce the impact of environmental faults by using UPS and
off-site data mirroring and/or replication provide for "hot"
repair of failed components.
Пример архитектуры

http://www.cinnober.com/sites/cinnober.com/files/news/Latency_rev
Пример архитектуры

http://extentconf.com
Уровни доступности
Два раза моргнуть

Типичные требования к биржевой системе
Суточный объем

> 100 M orders

Время отклика

< 300 uS

Пиковые нагрузки

> 40 K orders / sec
7.5 см

в 1000 раз быстрее

круг по МКАД
Смерть тестирования
Принципы тестирования

Три вида воздействия

http://www.sec.gov/litigation/admin/2013/34-69655.pdf
USS Yorktown

21 сентября 1997 года
CG-47 Aegis пилотная версия «Умного Корабля»
Отказ всех систем, включая двигатели на 2.5 часа
Неправильные данные введены в Remote Data Base Manager
Привели к переполнению базы данных и
отключению LAN, включая все терминалы
USS Yorktown

21 сентября 1997 года
CG-47 Aegis пилотная версия «Умного Корабля»
Отказ всех систем, включая двигатели на 2.5 часа
Неправильные данные введены в Remote Data Base Manager
Привели к переполнению базы данных и
отключению LAN, включая все терминалы
Ошибка – деление на ноль
Mizuho Securities

12 октября 2005 года
Попытка продать 1 акцию J-Com за 610,000 йен ($5,041)
Ошибочно перепутаны объем и цена
Не сработали риск системы:
a)Mizuho Securities
b)Токийской биржи
Потери оцениваются в $225 млн.
Ошибка такого вида называется
Fat Finger
Ariane 5 Type Conversion

4 июня 1996 года
Первый полет ракеты Ariane 5
Отклонение курса и разрушение через 40 секунд после старта
Автоматический подрыв на высоте 3700 метров
Преобразование 64 битного числа в 16 бит
Ошибка invalid operand на языке Ada
ПО совпадала с предыдущей версией Ariane 4
Но горизонтальная скорость существенно выше
Тестирование проводилось на симуляторе без
использования самой SRI
Ошибку воспроизвели на тестах
Patriot Software

25 февраля 1991 года, Дахран, Саудовская Аравия
Батарея Патриот не стала сбивать ракету Scud
Попадание в казарму привело к гибели 28 человек
Около 97 человек получили ранения
Расследование обнаружило ошибку в ПО
Patriot Software

Для хранения времени использовалось 24 бита
Значение 0.1 секунд в бинарном виде:
0.0001100110011001100110011001100....
(1/24+1/25+1/28+1/29+1/212+1/213+...)
Ошибка округления
0.0001100110011001100110011001100....
или 0.000000095
Предполагалось, что комплекс будет работать короткое время
Систему не перегружали 100 часов
0.000000095×100×60×60×10=0.34 секунды
Скорость Scud 1,673 метра в секунду -> ошибка 568 метров
Patriot Software
Patriot Software
Patriot Software
Patriot Software

25 февраля 1991 года, Дахран, Саудовская Аравия
Сообщение об ошибке 11 февраля
Ответ – это не баг а фича
Workaround рестартовать каждые 8 часов
Рестарт 60 – 90 секунд
Исправление готово 16 февраля
Доставка обновлений в Дахран
26 февраля
Измерение времен отклика
North American Blackout

14 августа 2003 года, США и Канада
Каскадное отключение электричества
Ситуация гонок привела к переполнению буфера и
отключению системы уведомлений
Сброс 4% нагрузки мог бы предотвратить потери порядка $10b
Ситуация Гонок

http://en.wikipedia.org/wiki/Race_condition
Therac-25

Therac-25 — аппарат лучевой терапии запущенный в 1982 г
Этот аппарат был причиной как минимум шести
передозировок
Две со смертельным
исходом
Therac-25

Одна и та же переменная применялась как для анализа
введённых чисел, так и для определения положения
поворотного круга. Поэтому при быстром вводе Therac мог
иметь дело с неправильным положением поворотного круга
(так называемое состояние гонки).
Настройка положения отклоняющих магнитов занимает около
8 секунд. Если за это время параметры типа и мощности
излучения были изменены, а курсор установлен на финальную
позицию, то система не обнаруживала изменений.
Therac-25

Деление на величину излучения, приводящее в некоторых
случаях к ошибке деления на ноль и к соответствующему
увеличению величины облучения до максимально возможной.
Установка булевской переменной (однобайтовой) в значение
«истина» производилось командой «x=x+1». Поэтому с
вероятностью 1/256 при нажатии кнопки «Set» программа
могла не пропустить информацию о некорректном положении
диска.
Кроме этих явных ошибок было замечено множество
потенциальных — например, в многозадачной операционной
системе не было никакой синхронизации
Deadlock
Smart Order Router
Order Routing in US

http://www.nanex.net/FlashCrash/OngoingResearch.html
Knight Capital
1 августа 2012 года, США
Knight Capital – одна из наиболее успешных HFT компаний
Изменения в связи с Retail Liquidity Program в NYSE
Систем SMARS – высокоскоростной роутер заявок
В основе изменений старая функциональность – PowerPeg
Количество родительских заявок – 212
Количество дочерних заявок – миллионы
Потери – $460 млн. или $170 тыс. в секунду
Отсутствие механизмов контроля и мониторинга рисков в
самой системе SMARS
Развертывание изменений на 7 серверов
Всего серверов было 8…
TMPA-2014 в Костроме
Анализ программ
Статическая верификация
Мутационное тестирование
Необычные инструменты
Верификация оборудования
Многое другое…
Спасибо!

http://www.cs.tau.ac.il/~nachumd/horror.html

Weitere ähnliche Inhalte

Andere mochten auch

ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОДMirantis IT Russia
 
Верификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиВерификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиIosif Itkin
 
Angular.JS: Do it right
Angular.JS: Do it rightAngular.JS: Do it right
Angular.JS: Do it rightEugene Zharkov
 
Решение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStackРешение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStackMirantis IT Russia
 
Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системы
Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системыКластеризация в OpenSource. Часть 1-я — отказоустойчивые системы
Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системыEugene Zharkov
 
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...IBS
 
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...IBS
 

Andere mochten auch (7)

ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОД
 
Верификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиВерификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржи
 
Angular.JS: Do it right
Angular.JS: Do it rightAngular.JS: Do it right
Angular.JS: Do it right
 
Решение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStackРешение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStack
 
Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системы
Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системыКластеризация в OpenSource. Часть 1-я — отказоустойчивые системы
Кластеризация в OpenSource. Часть 1-я — отказоустойчивые системы
 
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
 
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
 

Ähnlich wie Exactpro Kostroma: High Availability Systems

Ицхак Цал-Крупп, Павел Фесенко - Software testing
Ицхак Цал-Крупп, Павел Фесенко - Software testingИцхак Цал-Крупп, Павел Фесенко - Software testing
Ицхак Цал-Крупп, Павел Фесенко - Software testingШкольная лига РОСНАНО
 
IATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload SystemsIATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload SystemsIosif Itkin
 
Apache Kafka Cluster - Russian
Apache Kafka Cluster - RussianApache Kafka Cluster - Russian
Apache Kafka Cluster - Russianconfluent
 
Описание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP VerticaОписание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP VerticaAndrey Karpov
 
Atomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithmsAtomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithmsAlexey Fyodorov
 
Веб-сервер Phantom
Веб-сервер PhantomВеб-сервер Phantom
Веб-сервер Phantomyaevents
 
Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...Iosif Itkin
 
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)Iosif Itkin
 
Применение БПЛА в энергетике
Применение БПЛА в энергетикеПрименение БПЛА в энергетике
Применение БПЛА в энергетикеEvgenij Serdyukov
 
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. "YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. Yandex
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"Technopark
 
2014 12-02 2 nikandrov-mv_bragutamv
2014 12-02 2 nikandrov-mv_bragutamv2014 12-02 2 nikandrov-mv_bragutamv
2014 12-02 2 nikandrov-mv_bragutamvNikandrov Maxim
 

Ähnlich wie Exactpro Kostroma: High Availability Systems (13)

Ицхак Цал-Крупп, Павел Фесенко - Software testing
Ицхак Цал-Крупп, Павел Фесенко - Software testingИцхак Цал-Крупп, Павел Фесенко - Software testing
Ицхак Цал-Крупп, Павел Фесенко - Software testing
 
IATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload SystemsIATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload Systems
 
Apache Kafka Cluster - Russian
Apache Kafka Cluster - RussianApache Kafka Cluster - Russian
Apache Kafka Cluster - Russian
 
Описание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP VerticaОписание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP Vertica
 
Atomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithmsAtomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithms
 
Веб-сервер Phantom
Веб-сервер PhantomВеб-сервер Phantom
Веб-сервер Phantom
 
Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...
 
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
 
Применение БПЛА в энергетике
Применение БПЛА в энергетикеПрименение БПЛА в энергетике
Применение БПЛА в энергетике
 
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. "YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
Lab5
Lab5Lab5
Lab5
 
2014 12-02 2 nikandrov-mv_bragutamv
2014 12-02 2 nikandrov-mv_bragutamv2014 12-02 2 nikandrov-mv_bragutamv
2014 12-02 2 nikandrov-mv_bragutamv
 

Mehr von Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

Mehr von Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

Exactpro Kostroma: High Availability Systems

  • 1. Разработка и отказоустойчивость программных систем высокой доступности Иосиф Иткин, Exactpro Systems 23 декабря 2013
  • 2. Введение Инновационные трейдинговые системы ул. Ленина 20 Создание и применение инструментов для проверки высоконагруженных трейдинговых систем В Костроме – 130 человек http://clubqa.ru http://tmpaconf.org
  • 3. Критерии высокой доступности • Высокая доступность – High Availability • HA is the proportion of time a system is productive and is usually expressed as a percentage. • Availability is expressed as MTTF / (MTTF+MTTR), where: • MTTF (mean-time-to-failure) is the average time that a system runs (without failing) after it has been set up or repaired. • MTTR (mean-time-to-repair) is the average time needed to repair (or restore) a failed system. • In the spectrum of system availability, HA systems fall between 99.9% and 100% availability. http://www.tpc.org/information/other/articles/ha.asp
  • 4. Виды простоя систем • Downtime can be categorized as either planned or unplanned • Planned downtime - is time that the system is unavailable due to scheduled maintenance such as software/hardware upgrades and system backups. • Unplanned downtime is time that the system is unavailable due to component faults or environmental faults. Human error and "natural" disasters (including power outages) are examples of "environmental faults."
  • 5. Способы повышения отказоустойчивости • Minimize the number of faults and the effect/recovery time of faults in a system. • Avoid a single-point-of-failure by utilizing redundant parts and rerouting (failover). • Reduce the impact of environmental faults by using UPS and off-site data mirroring and/or replication provide for "hot" repair of failed components.
  • 9. Два раза моргнуть Типичные требования к биржевой системе Суточный объем > 100 M orders Время отклика < 300 uS Пиковые нагрузки > 40 K orders / sec 7.5 см в 1000 раз быстрее круг по МКАД
  • 11. Принципы тестирования Три вида воздействия http://www.sec.gov/litigation/admin/2013/34-69655.pdf
  • 12. USS Yorktown 21 сентября 1997 года CG-47 Aegis пилотная версия «Умного Корабля» Отказ всех систем, включая двигатели на 2.5 часа Неправильные данные введены в Remote Data Base Manager Привели к переполнению базы данных и отключению LAN, включая все терминалы
  • 13. USS Yorktown 21 сентября 1997 года CG-47 Aegis пилотная версия «Умного Корабля» Отказ всех систем, включая двигатели на 2.5 часа Неправильные данные введены в Remote Data Base Manager Привели к переполнению базы данных и отключению LAN, включая все терминалы Ошибка – деление на ноль
  • 14. Mizuho Securities 12 октября 2005 года Попытка продать 1 акцию J-Com за 610,000 йен ($5,041) Ошибочно перепутаны объем и цена Не сработали риск системы: a)Mizuho Securities b)Токийской биржи Потери оцениваются в $225 млн. Ошибка такого вида называется Fat Finger
  • 15. Ariane 5 Type Conversion 4 июня 1996 года Первый полет ракеты Ariane 5 Отклонение курса и разрушение через 40 секунд после старта Автоматический подрыв на высоте 3700 метров Преобразование 64 битного числа в 16 бит Ошибка invalid operand на языке Ada ПО совпадала с предыдущей версией Ariane 4 Но горизонтальная скорость существенно выше Тестирование проводилось на симуляторе без использования самой SRI Ошибку воспроизвели на тестах
  • 16. Patriot Software 25 февраля 1991 года, Дахран, Саудовская Аравия Батарея Патриот не стала сбивать ракету Scud Попадание в казарму привело к гибели 28 человек Около 97 человек получили ранения Расследование обнаружило ошибку в ПО
  • 17. Patriot Software Для хранения времени использовалось 24 бита Значение 0.1 секунд в бинарном виде: 0.0001100110011001100110011001100.... (1/24+1/25+1/28+1/29+1/212+1/213+...) Ошибка округления 0.0001100110011001100110011001100.... или 0.000000095 Предполагалось, что комплекс будет работать короткое время Систему не перегружали 100 часов 0.000000095×100×60×60×10=0.34 секунды Скорость Scud 1,673 метра в секунду -> ошибка 568 метров
  • 21. Patriot Software 25 февраля 1991 года, Дахран, Саудовская Аравия Сообщение об ошибке 11 февраля Ответ – это не баг а фича Workaround рестартовать каждые 8 часов Рестарт 60 – 90 секунд Исправление готово 16 февраля Доставка обновлений в Дахран 26 февраля
  • 23. North American Blackout 14 августа 2003 года, США и Канада Каскадное отключение электричества Ситуация гонок привела к переполнению буфера и отключению системы уведомлений Сброс 4% нагрузки мог бы предотвратить потери порядка $10b
  • 25. Therac-25 Therac-25 — аппарат лучевой терапии запущенный в 1982 г Этот аппарат был причиной как минимум шести передозировок Две со смертельным исходом
  • 26. Therac-25 Одна и та же переменная применялась как для анализа введённых чисел, так и для определения положения поворотного круга. Поэтому при быстром вводе Therac мог иметь дело с неправильным положением поворотного круга (так называемое состояние гонки). Настройка положения отклоняющих магнитов занимает около 8 секунд. Если за это время параметры типа и мощности излучения были изменены, а курсор установлен на финальную позицию, то система не обнаруживала изменений.
  • 27. Therac-25 Деление на величину излучения, приводящее в некоторых случаях к ошибке деления на ноль и к соответствующему увеличению величины облучения до максимально возможной. Установка булевской переменной (однобайтовой) в значение «истина» производилось командой «x=x+1». Поэтому с вероятностью 1/256 при нажатии кнопки «Set» программа могла не пропустить информацию о некорректном положении диска. Кроме этих явных ошибок было замечено множество потенциальных — например, в многозадачной операционной системе не было никакой синхронизации
  • 30. Order Routing in US http://www.nanex.net/FlashCrash/OngoingResearch.html
  • 31. Knight Capital 1 августа 2012 года, США Knight Capital – одна из наиболее успешных HFT компаний Изменения в связи с Retail Liquidity Program в NYSE Систем SMARS – высокоскоростной роутер заявок В основе изменений старая функциональность – PowerPeg Количество родительских заявок – 212 Количество дочерних заявок – миллионы Потери – $460 млн. или $170 тыс. в секунду Отсутствие механизмов контроля и мониторинга рисков в самой системе SMARS Развертывание изменений на 7 серверов Всего серверов было 8…
  • 32. TMPA-2014 в Костроме Анализ программ Статическая верификация Мутационное тестирование Необычные инструменты Верификация оборудования Многое другое…