SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Подходы к
    проектрованию,
     разработке и
    развертыванию
    больших систем
Высокопроизводительные решения на
      платформе InterSystems
На что вы потратите следующий час?

• Проекты, отличные от нормы по требованиям к
  производительности и числу пользователей, это
  всегда вызов
• Технологии InterSystems позволяют успешно
  справляться с такими требованиями и создавать
  уникальные решения по скорости и
  производительности
• Как спроектировать и успешно реализовать такие
  системы?


     2
План

• Выбор архитектуры развертывания
  • горизонтальное/вертикальное масштабирование
  • сайзинг
  • технология отказоустойчивости
• Особенности программного дизайна высоконагруженных
  систем
  • архитектурные принципы
  • организация разработки
• Управление рисками - необходимая дисциплина для
  больших проектов
• Особенности сопровождения и внесения изменений
2
Что такое большая система?
• Количество пользователей
  • одновременные пользователи: от сотен до тысяч
  • общее кол-во: от сотен до десятков тысяч пользователей
• Транзакционная нагрузке
  • от сотен до сотен тысяч транзакций в минуту
• Размер данных
  • Терабайты и десятки терабайт
• Сложность задачи
  • большое количество модулей
  • сложная предметика
      4
Примеры внедрений
• Департамент по делам        • Credit Suisse
  ветеранов США                   • 1 млрд. сделок в день
    • 155 000 пользователей
                              • Mediterranean Shipping
    • >500Tb
                                Company
• Partners HealthCare             • 300 000 транзакций в
    • 55 000 пользователей          день
    • 9000 одновременных      • Пенсионный Фонд РФ
    • >6 Tb                     • > 15 000
• Česká spořitelna                пользователей
    • 5000 пользователей
    • 1 700 одновременных
       5
Результаты тестов

• Intel® Xeon® Processor X5570-based Blade Servers
  Deliver Unmatched Performance for InterSystems®
  Caché® Database Benchmark




      6
Как считают в InterSystems?
• Technical Bid Worksheet   • Вход:
• TrakCare CPU Calculator       • Кол-во эпизодов в год
                                • Кол-во пользователей
• TrakCare IO Calculator        • Тип процессора
• TrakCare Network          • Выход:
  Bandwidth Calculator          • Кол-во ECP серверов
                                • Память на ECP сервер,
                                  ядер на ECP сервер
                                • Размер и параметры
                                  дисковой подсистемы
                                • Параметры сервера БД

       7
Типовой сценарий. Входные данные.

• Веб приложение на платформе InterSystems Caché
• Характер приложения: OLTP и OLAP
• Количество пользователей: 10 000
• Одновременное кол-во пользователей: 1500
• Типовая бизнес-транзакция:
  • 5 000 000 транзакций в год
  • Размер 100 KB
• Упреждение в 3 года, прогнозируемый рост 3%

      8
Что хотим получить на выходе?
                                                 рабочие          рабочие        рабочие      10 000 !"#$%"&'()#)*
                                                  места            места          места       1000 "+,"&-).),,/0
                                                                                              500 !"#$%"&'()#)* !"+121()./
                                                                                              ','#2(23)14"5" 0-',2#26'
           ;-)+&'-2()#$,'< "=),4' -'%.)-'
           0-',2#26' ,' "1,"&):
           10 000 000 (-=2* & 5"+ 1
           :!-)8+),2). & (-2 5"+'
           100 KB ,' (-=2>, 3 TB 321(/0                                HTTP
           +',,/0 %' (-2 5"+'                                Балансировщик
                                                                нагрузки

                                                                       HTTP

                                       HTTP сервер            HTTP сервер             HTTP сервер

                                       8 ядер CPU             8 ядер CPU              8 ядер CPU          7'8+/* 1)-&)- !-2#"8),2*
                                        16 Gb RAM              16 Gb RAM               16 Gb RAM          "91#:82&')( "+,"&-).),,"
                                                                                                          430 !"#$%"&'()#)*
                          TCP


        ECP Application     ECP Application       ECP Application         ECP Application         ECP Application       ECP Application
           Server              Server                Server                  Server                  Server                Server

         8 ядер CPU             8 ядер CPU          8 ядер CPU              8 ядер CPU             8 ядер CPU             8 ядер CPU
         32 Gb RAM              32 Gb RAM           32 Gb RAM               32 Gb RAM              32 Gb RAM              32 Gb RAM

                            Подсистема OLTP                         TCP       Подсистема аналитического хранилища
                                Mirror кластер                                              Failover кластер
               Database Server                Database Server                Database Server               Database Server
              Mirror Primary Node            Mirror Backup Node             Mirror Primary Node           Mirror Backup Node

            16 ядер с частотой не       16 ядер с частотой не             16 ядер с частотой не         16 ядер с частотой не
            менее 2.3 MHz               менее 2.3 MHz                     менее 2.3 MHz                 менее 2.3 MHz
            128 Gb RAM                  128 Gb RAM                        128 Gb RAM                    128 Gb RAM




                                                                                     Сервер управления              Тестовый сервер
                                                                                      конфигурациями и               разработчиков
                                       Система                Массив SAN             администрирования
                                    бэкапирования             20 терабайт                4 ядер CPU                   8 ядер CPU
                                                                                         16 Gb RAM                    16 Gb RAM

    9
Определение типов серверов

• Кластер ECP Database серверов
• ECP Application сервера
• Сервера интеграции/обмена сообщениями
• Веб сервера
• Сервера печати для Zen Reports
• Сервера для BI (OLAP)
• Терминальные сервера


     10
Горизонтальное vs. вертикальное
масштабирование
ECP Application     ECP Application      ECP Application      ECP Application
    Server               Server              Server               Server
         ECP Application     ECP Application      ECP Application      ECP Application
 8 ядра CPU Server 8 ядра CPU Server 8 ядра CPU Server 8 ядра CPU Server
 32 Gb RAM            32 Gb RAM            32 Gb RAM            32 Gb RAM
           8 ядра CPU           8 ядра CPU          8 ядра CPU           8 ядра CPU
           32 Gb RAM            32 Gb RAM           32 Gb RAM            32 Gb RAM


                                   Mirror кластер
                     Database Server          Database Server
                    Mirror Primary Node      Mirror Backup Node

                  16 ядер с частотой не    16 ядер с частотой не
                  менее 2.3 MHz            менее 2.3 MHz
                  128 Gb RAM               128 Gb RAM




   Горизонтальное масштабирование                                            Вертикальное масштабирование
                                                                                         Mirror кластер
                                                                          Database Server           Database Server
                                                                         Mirror Primary Node       Mirror Backup Node

                                                                      40 ядер с частотой не      40 ядер с частотой не
                                                                      менее 2.3 MHz              менее 2.3 MHz
                                                                      160 Gb RAM                 160 Gb RAM




             11
Горизонтальное vs. вертикальное
масштабирование
• Горизонтальное                          • Вертикальное
    + пользователь/CPU                           + keep it simple
    + пользователь/память                        + привычно
    + запас по                                   - смешанная нагрузка
      масштабированию                            - предел по
    + ECP Cluster                                  масштабированию
    - потеря в суммарной                         - стоимость решения
      производительности
    - осторожно с кэшем
    - архитектура сложнее
  • Если требуется два ECP сервера, это значит, что ECP не нужно.
  • Если нагрузка не будет расти и под такую нагрузку существует сервер, ECP не
   нужно.
      12
Способы определения параметров
• Зная типовую транзакцию и параметры нагрузки,
  можно все подсчитать. Как определить параметры для
  транзакции?
  • эмпирический путь
  • тестирование на производительность
  • здравый смысл и опыт схожих проектов (Performance
    Group)




      13
ECP Application и Database сервера

 • Память
   • Кол-во пользовательских процессов
   • Память под ECP кэш
   • Кол-во ECP серверов
 • Процессор
   • Модель процессора - в Caché single threaded процессы
   • Коэффициент нагрузки
 • Сетевая нагрузка
 • Диск
   • IOPS
   • Объем
    14
Разделение транзакционной и аналитической
нагрузок

• Старый принцип: OLTP и OLAP врозь

                                         Подсистема
           Подсистема OLTP
                                  аналитического хранилища


             Database Server           Database Server
            Mirror Primary Node       Mirror Primary Node

          16 ядер с частотой не     16 ядер с частотой
          менее 2.3 MHz             не менее 2.3 MHz
          128 Gb RAM                128 Gb RAM



               Primary Node              Async Node




     15
Разделение записи и чтения




   Light C++ Binding
   Cache Extreme for Java
   Cache Extreme for .Net




     16
Отказоустойчивость и высокая доступность
• InterSystems Caché Database                                    • ECP Cluster
  Mirroring
                                                                 • External Backup (snapshots)
• Failover Cluster
                                   1
                                                                         Удаленный
       ECP Application     ECP Application     ECP Application           Дата Центр
           Server              Server              Server
        8 ядер CPU          8 ядер CPU          8 ядер CPU
        32 Gb RAM           32 Gb RAM           32 Gb RAM



                                       2         Подсистема      4                    Подсистема
                                                    OLTP                       аналитического хранилища
                          Mirror кластер                                              Failover кластер
            Database Server             Database Server                 Database Server            Database Server
           Mirror Primary Node         Mirror Backup Node               Production Node             Standby Node

         16 ядер с частотой не   5 16 ядер с частотой не             16 ядер с частотой не   6 16 ядер с частотой не
                                                                 3   менее 2.3 MHz             менее 2.3 MHz
         менее 2.3 MHz             менее 2.3 MHz
   7     128 Gb RAM                128 Gb RAM                        128 Gb RAM                128 Gb RAM



   Система
    бэкапа                       5

                                                      Массив SAN                             6

            17
Программная архитектура

• Модульная, трехзвенная архитектура
  • Готовность к оптимизации
  • Простота внесения изменений
  • Тестируемость
• Разделение данных
  • Конфигурация
  • Пользовательские настройки
  • Транзакционные
  • Аналитические
     18
Управление рисками

• Предупрежден, значит вооружен:
  • первичная оценка для выбора железа
  • возможность проведения тестов на
    производительность
  • разработка приложения
  • оптимизация производительности приложения
  • оптимизация производительности приложения
  • оптимиза….


     19
Сопровождение

• Регламенты сопровождения крайне важны
  • защита от дурака
  • любой неоптимальный шаг при работе с большим
    объемом данных выливается в часы и дни ожиданий
• InterSystems Enterprise Management System
  • обеспечивает управление конфигурациями нескольких
     серверов
  • упрощает задачи администрирования


     20
Технологии InterSystems для больших систем

• InterSystems Enterprise Cache Protocol (ECP)
• InterSystems Caché Database Mirroring
• InterSystems Enterprise Management System
• Инновации InterSystems Caché Database




      21
Вопросов нет?
   Отлично!

     Пишите & звоните

oleg.olenin@intersystems.com
      skype: oleg.olenin

Mais conteúdo relacionado

Mais procurados

как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
rit2011
 
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайnoBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
Ontico
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Ontico
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Ontico
 
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
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
odnoklassniki.ru
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Vsevolod Shabad
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Ontico
 

Mais procurados (20)

DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
 
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
 
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
 
Mysql vs postgresql
Mysql vs postgresqlMysql vs postgresql
Mysql vs postgresql
 
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайnoBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
 
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)
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 
Класс!ная Cassandra
Класс!ная CassandraКласс!ная Cassandra
Класс!ная Cassandra
 
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
 
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
 
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 

Semelhante a подходы к проектрованию, разработке и развертыванию больших систем

NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ontico
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыГидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Vsevolod Shabad
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
pianist2317
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Tanya Denisyuk
 
Дизайн небольшого ЦОД часть 2
Дизайн небольшого ЦОД часть 2Дизайн небольшого ЦОД часть 2
Дизайн небольшого ЦОД часть 2
Cisco Russia
 

Semelhante a подходы к проектрованию, разработке и развертыванию больших систем (20)

NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыГидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 
Platov
PlatovPlatov
Platov
 
Windows Azure Internals
Windows Azure InternalsWindows Azure Internals
Windows Azure Internals
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
 
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchipРазработка OpenFlow-коммутатора на базе сетевого процессора EZchip
Разработка OpenFlow-коммутатора на базе сетевого процессора EZchip
 
Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.
 
нэта
нэтанэта
нэта
 
Лекция № 2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и системЛекция № 2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и систем
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
 
нэта
нэтанэта
нэта
 
нэта
нэтанэта
нэта
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
 
Вычислительная инфраструктура без американских производителей: реалии и возмо...
Вычислительная инфраструктура без американских производителей: реалии и возмо...Вычислительная инфраструктура без американских производителей: реалии и возмо...
Вычислительная инфраструктура без американских производителей: реалии и возмо...
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
 
Дизайн небольшого ЦОД часть 2
Дизайн небольшого ЦОД часть 2Дизайн небольшого ЦОД часть 2
Дизайн небольшого ЦОД часть 2
 

Mais de Denis Pavlov

Intersystems technology for healthcare
Intersystems technology for healthcareIntersystems technology for healthcare
Intersystems technology for healthcare
Denis Pavlov
 
Cache2012 administrationbasics
Cache2012 administrationbasicsCache2012 administrationbasics
Cache2012 administrationbasics
Denis Pavlov
 
ИКТ в здравоохранении: новые цели в новых условиях
ИКТ в здравоохранении: новые цели в новых условияхИКТ в здравоохранении: новые цели в новых условиях
ИКТ в здравоохранении: новые цели в новых условиях
Denis Pavlov
 
основные подходы к информатизации здравоохранения на региональном уровне на ...
 основные подходы к информатизации здравоохранения на региональном уровне на ... основные подходы к информатизации здравоохранения на региональном уровне на ...
основные подходы к информатизации здравоохранения на региональном уровне на ...
Denis Pavlov
 
опыт выполнения интеграционного проекта на Inter systems ensemble в министер...
 опыт выполнения интеграционного проекта на Inter systems ensemble в министер... опыт выполнения интеграционного проекта на Inter systems ensemble в министер...
опыт выполнения интеграционного проекта на Inter systems ensemble в министер...
Denis Pavlov
 
лис InterSystems Trakcare lab v2
лис InterSystems Trakcare lab v2лис InterSystems Trakcare lab v2
лис InterSystems Trakcare lab v2
Denis Pavlov
 
Nk russia symposium 2012 corp overview
Nk russia symposium 2012 corp overviewNk russia symposium 2012 corp overview
Nk russia symposium 2012 corp overview
Denis Pavlov
 
Simposium bi 2012 1109
Simposium bi 2012 1109Simposium bi 2012 1109
Simposium bi 2012 1109
Denis Pavlov
 
Health share абрамов
Health share абрамовHealth share абрамов
Health share абрамов
Denis Pavlov
 
симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...
симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...
симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...
Denis Pavlov
 
Russia symposium 2012 corp overview draft 2
Russia symposium 2012 corp overview draft 2Russia symposium 2012 corp overview draft 2
Russia symposium 2012 corp overview draft 2
Denis Pavlov
 

Mais de Denis Pavlov (12)

Intersystems technology for healthcare
Intersystems technology for healthcareIntersystems technology for healthcare
Intersystems technology for healthcare
 
Cache2012 administrationbasics
Cache2012 administrationbasicsCache2012 administrationbasics
Cache2012 administrationbasics
 
ИКТ в здравоохранении: новые цели в новых условиях
ИКТ в здравоохранении: новые цели в новых условияхИКТ в здравоохранении: новые цели в новых условиях
ИКТ в здравоохранении: новые цели в новых условиях
 
основные подходы к информатизации здравоохранения на региональном уровне на ...
 основные подходы к информатизации здравоохранения на региональном уровне на ... основные подходы к информатизации здравоохранения на региональном уровне на ...
основные подходы к информатизации здравоохранения на региональном уровне на ...
 
опыт выполнения интеграционного проекта на Inter systems ensemble в министер...
 опыт выполнения интеграционного проекта на Inter systems ensemble в министер... опыт выполнения интеграционного проекта на Inter systems ensemble в министер...
опыт выполнения интеграционного проекта на Inter systems ensemble в министер...
 
лис InterSystems Trakcare lab v2
лис InterSystems Trakcare lab v2лис InterSystems Trakcare lab v2
лис InterSystems Trakcare lab v2
 
Nk russia symposium 2012 corp overview
Nk russia symposium 2012 corp overviewNk russia symposium 2012 corp overview
Nk russia symposium 2012 corp overview
 
Simposium bi 2012 1109
Simposium bi 2012 1109Simposium bi 2012 1109
Simposium bi 2012 1109
 
Health share абрамов
Health share абрамовHealth share абрамов
Health share абрамов
 
симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...
симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...
симпозиум 2012. опыт выполнения проектов по созданию электронного правительст...
 
Russia symposium 2012 corp overview draft 2
Russia symposium 2012 corp overview draft 2Russia symposium 2012 corp overview draft 2
Russia symposium 2012 corp overview draft 2
 
Ad cloud
Ad cloudAd cloud
Ad cloud
 

подходы к проектрованию, разработке и развертыванию больших систем

  • 1. Подходы к проектрованию, разработке и развертыванию больших систем Высокопроизводительные решения на платформе InterSystems
  • 2. На что вы потратите следующий час? • Проекты, отличные от нормы по требованиям к производительности и числу пользователей, это всегда вызов • Технологии InterSystems позволяют успешно справляться с такими требованиями и создавать уникальные решения по скорости и производительности • Как спроектировать и успешно реализовать такие системы? 2
  • 3. План • Выбор архитектуры развертывания • горизонтальное/вертикальное масштабирование • сайзинг • технология отказоустойчивости • Особенности программного дизайна высоконагруженных систем • архитектурные принципы • организация разработки • Управление рисками - необходимая дисциплина для больших проектов • Особенности сопровождения и внесения изменений 2
  • 4. Что такое большая система? • Количество пользователей • одновременные пользователи: от сотен до тысяч • общее кол-во: от сотен до десятков тысяч пользователей • Транзакционная нагрузке • от сотен до сотен тысяч транзакций в минуту • Размер данных • Терабайты и десятки терабайт • Сложность задачи • большое количество модулей • сложная предметика 4
  • 5. Примеры внедрений • Департамент по делам • Credit Suisse ветеранов США • 1 млрд. сделок в день • 155 000 пользователей • Mediterranean Shipping • >500Tb Company • Partners HealthCare • 300 000 транзакций в • 55 000 пользователей день • 9000 одновременных • Пенсионный Фонд РФ • >6 Tb • > 15 000 • Česká spořitelna пользователей • 5000 пользователей • 1 700 одновременных 5
  • 6. Результаты тестов • Intel® Xeon® Processor X5570-based Blade Servers Deliver Unmatched Performance for InterSystems® Caché® Database Benchmark 6
  • 7. Как считают в InterSystems? • Technical Bid Worksheet • Вход: • TrakCare CPU Calculator • Кол-во эпизодов в год • Кол-во пользователей • TrakCare IO Calculator • Тип процессора • TrakCare Network • Выход: Bandwidth Calculator • Кол-во ECP серверов • Память на ECP сервер, ядер на ECP сервер • Размер и параметры дисковой подсистемы • Параметры сервера БД 7
  • 8. Типовой сценарий. Входные данные. • Веб приложение на платформе InterSystems Caché • Характер приложения: OLTP и OLAP • Количество пользователей: 10 000 • Одновременное кол-во пользователей: 1500 • Типовая бизнес-транзакция: • 5 000 000 транзакций в год • Размер 100 KB • Упреждение в 3 года, прогнозируемый рост 3% 8
  • 9. Что хотим получить на выходе? рабочие рабочие рабочие 10 000 !"#$%"&'()#)* места места места 1000 "+,"&-).),,/0 500 !"#$%"&'()#)* !"+121()./ ','#2(23)14"5" 0-',2#26' ;-)+&'-2()#$,'< "=),4' -'%.)-' 0-',2#26' ,' "1,"&): 10 000 000 (-=2* & 5"+ 1 :!-)8+),2). & (-2 5"+' 100 KB ,' (-=2>, 3 TB 321(/0 HTTP +',,/0 %' (-2 5"+' Балансировщик нагрузки HTTP HTTP сервер HTTP сервер HTTP сервер 8 ядер CPU 8 ядер CPU 8 ядер CPU 7'8+/* 1)-&)- !-2#"8),2* 16 Gb RAM 16 Gb RAM 16 Gb RAM "91#:82&')( "+,"&-).),," 430 !"#$%"&'()#)* TCP ECP Application ECP Application ECP Application ECP Application ECP Application ECP Application Server Server Server Server Server Server 8 ядер CPU 8 ядер CPU 8 ядер CPU 8 ядер CPU 8 ядер CPU 8 ядер CPU 32 Gb RAM 32 Gb RAM 32 Gb RAM 32 Gb RAM 32 Gb RAM 32 Gb RAM Подсистема OLTP TCP Подсистема аналитического хранилища Mirror кластер Failover кластер Database Server Database Server Database Server Database Server Mirror Primary Node Mirror Backup Node Mirror Primary Node Mirror Backup Node 16 ядер с частотой не 16 ядер с частотой не 16 ядер с частотой не 16 ядер с частотой не менее 2.3 MHz менее 2.3 MHz менее 2.3 MHz менее 2.3 MHz 128 Gb RAM 128 Gb RAM 128 Gb RAM 128 Gb RAM Сервер управления Тестовый сервер конфигурациями и разработчиков Система Массив SAN администрирования бэкапирования 20 терабайт 4 ядер CPU 8 ядер CPU 16 Gb RAM 16 Gb RAM 9
  • 10. Определение типов серверов • Кластер ECP Database серверов • ECP Application сервера • Сервера интеграции/обмена сообщениями • Веб сервера • Сервера печати для Zen Reports • Сервера для BI (OLAP) • Терминальные сервера 10
  • 11. Горизонтальное vs. вертикальное масштабирование ECP Application ECP Application ECP Application ECP Application Server Server Server Server ECP Application ECP Application ECP Application ECP Application 8 ядра CPU Server 8 ядра CPU Server 8 ядра CPU Server 8 ядра CPU Server 32 Gb RAM 32 Gb RAM 32 Gb RAM 32 Gb RAM 8 ядра CPU 8 ядра CPU 8 ядра CPU 8 ядра CPU 32 Gb RAM 32 Gb RAM 32 Gb RAM 32 Gb RAM Mirror кластер Database Server Database Server Mirror Primary Node Mirror Backup Node 16 ядер с частотой не 16 ядер с частотой не менее 2.3 MHz менее 2.3 MHz 128 Gb RAM 128 Gb RAM Горизонтальное масштабирование Вертикальное масштабирование Mirror кластер Database Server Database Server Mirror Primary Node Mirror Backup Node 40 ядер с частотой не 40 ядер с частотой не менее 2.3 MHz менее 2.3 MHz 160 Gb RAM 160 Gb RAM 11
  • 12. Горизонтальное vs. вертикальное масштабирование • Горизонтальное • Вертикальное + пользователь/CPU + keep it simple + пользователь/память + привычно + запас по - смешанная нагрузка масштабированию - предел по + ECP Cluster масштабированию - потеря в суммарной - стоимость решения производительности - осторожно с кэшем - архитектура сложнее • Если требуется два ECP сервера, это значит, что ECP не нужно. • Если нагрузка не будет расти и под такую нагрузку существует сервер, ECP не нужно. 12
  • 13. Способы определения параметров • Зная типовую транзакцию и параметры нагрузки, можно все подсчитать. Как определить параметры для транзакции? • эмпирический путь • тестирование на производительность • здравый смысл и опыт схожих проектов (Performance Group) 13
  • 14. ECP Application и Database сервера • Память • Кол-во пользовательских процессов • Память под ECP кэш • Кол-во ECP серверов • Процессор • Модель процессора - в Caché single threaded процессы • Коэффициент нагрузки • Сетевая нагрузка • Диск • IOPS • Объем 14
  • 15. Разделение транзакционной и аналитической нагрузок • Старый принцип: OLTP и OLAP врозь Подсистема Подсистема OLTP аналитического хранилища Database Server Database Server Mirror Primary Node Mirror Primary Node 16 ядер с частотой не 16 ядер с частотой менее 2.3 MHz не менее 2.3 MHz 128 Gb RAM 128 Gb RAM Primary Node Async Node 15
  • 16. Разделение записи и чтения Light C++ Binding Cache Extreme for Java Cache Extreme for .Net 16
  • 17. Отказоустойчивость и высокая доступность • InterSystems Caché Database • ECP Cluster Mirroring • External Backup (snapshots) • Failover Cluster 1 Удаленный ECP Application ECP Application ECP Application Дата Центр Server Server Server 8 ядер CPU 8 ядер CPU 8 ядер CPU 32 Gb RAM 32 Gb RAM 32 Gb RAM 2 Подсистема 4 Подсистема OLTP аналитического хранилища Mirror кластер Failover кластер Database Server Database Server Database Server Database Server Mirror Primary Node Mirror Backup Node Production Node Standby Node 16 ядер с частотой не 5 16 ядер с частотой не 16 ядер с частотой не 6 16 ядер с частотой не 3 менее 2.3 MHz менее 2.3 MHz менее 2.3 MHz менее 2.3 MHz 7 128 Gb RAM 128 Gb RAM 128 Gb RAM 128 Gb RAM Система бэкапа 5 Массив SAN 6 17
  • 18. Программная архитектура • Модульная, трехзвенная архитектура • Готовность к оптимизации • Простота внесения изменений • Тестируемость • Разделение данных • Конфигурация • Пользовательские настройки • Транзакционные • Аналитические 18
  • 19. Управление рисками • Предупрежден, значит вооружен: • первичная оценка для выбора железа • возможность проведения тестов на производительность • разработка приложения • оптимизация производительности приложения • оптимизация производительности приложения • оптимиза…. 19
  • 20. Сопровождение • Регламенты сопровождения крайне важны • защита от дурака • любой неоптимальный шаг при работе с большим объемом данных выливается в часы и дни ожиданий • InterSystems Enterprise Management System • обеспечивает управление конфигурациями нескольких серверов • упрощает задачи администрирования 20
  • 21. Технологии InterSystems для больших систем • InterSystems Enterprise Cache Protocol (ECP) • InterSystems Caché Database Mirroring • InterSystems Enterprise Management System • Инновации InterSystems Caché Database 21
  • 22. Вопросов нет? Отлично! Пишите & звоните oleg.olenin@intersystems.com skype: oleg.olenin