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

876 views
831 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
876
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Подходы к проектрованию, разработке и развертыванию больших системВысокопроизводительные решения на платформе InterSystems
  2. 2. На что вы потратите следующий час?• Проекты, отличные от нормы по требованиям к производительности и числу пользователей, это всегда вызов• Технологии InterSystems позволяют успешно справляться с такими требованиями и создавать уникальные решения по скорости и производительности• Как спроектировать и успешно реализовать такие системы? 2
  3. 3. План• Выбор архитектуры развертывания • горизонтальное/вертикальное масштабирование • сайзинг • технология отказоустойчивости• Особенности программного дизайна высоконагруженных систем • архитектурные принципы • организация разработки• Управление рисками - необходимая дисциплина для больших проектов• Особенности сопровождения и внесения изменений2
  4. 4. Что такое большая система?• Количество пользователей • одновременные пользователи: от сотен до тысяч • общее кол-во: от сотен до десятков тысяч пользователей• Транзакционная нагрузке • от сотен до сотен тысяч транзакций в минуту• Размер данных • Терабайты и десятки терабайт• Сложность задачи • большое количество модулей • сложная предметика 4
  5. 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. 6. Результаты тестов• Intel® Xeon® Processor X5570-based Blade Servers Deliver Unmatched Performance for InterSystems® Caché® Database Benchmark 6
  7. 7. Как считают в InterSystems?• Technical Bid Worksheet • Вход:• TrakCare CPU Calculator • Кол-во эпизодов в год • Кол-во пользователей• TrakCare IO Calculator • Тип процессора• TrakCare Network • Выход: Bandwidth Calculator • Кол-во ECP серверов • Память на ECP сервер, ядер на ECP сервер • Размер и параметры дисковой подсистемы • Параметры сервера БД 7
  8. 8. Типовой сценарий. Входные данные.• Веб приложение на платформе InterSystems Caché• Характер приложения: OLTP и OLAP• Количество пользователей: 10 000• Одновременное кол-во пользователей: 1500• Типовая бизнес-транзакция: • 5 000 000 транзакций в год • Размер 100 KB• Упреждение в 3 года, прогнозируемый рост 3% 8
  9. 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 78+/* 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. 10. Определение типов серверов• Кластер ECP Database серверов• ECP Application сервера• Сервера интеграции/обмена сообщениями• Веб сервера• Сервера печати для Zen Reports• Сервера для BI (OLAP)• Терминальные сервера 10
  11. 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. 12. Горизонтальное vs. вертикальноемасштабирование• Горизонтальное • Вертикальное + пользователь/CPU + keep it simple + пользователь/память + привычно + запас по - смешанная нагрузка масштабированию - предел по + ECP Cluster масштабированию - потеря в суммарной - стоимость решения производительности - осторожно с кэшем - архитектура сложнее • Если требуется два ECP сервера, это значит, что ECP не нужно. • Если нагрузка не будет расти и под такую нагрузку существует сервер, ECP не нужно. 12
  13. 13. Способы определения параметров• Зная типовую транзакцию и параметры нагрузки, можно все подсчитать. Как определить параметры для транзакции? • эмпирический путь • тестирование на производительность • здравый смысл и опыт схожих проектов (Performance Group) 13
  14. 14. ECP Application и Database сервера • Память • Кол-во пользовательских процессов • Память под ECP кэш • Кол-во ECP серверов • Процессор • Модель процессора - в Caché single threaded процессы • Коэффициент нагрузки • Сетевая нагрузка • Диск • IOPS • Объем 14
  15. 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. 16. Разделение записи и чтения Light C++ Binding Cache Extreme for Java Cache Extreme for .Net 16
  17. 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. Программная архитектура• Модульная, трехзвенная архитектура • Готовность к оптимизации • Простота внесения изменений • Тестируемость• Разделение данных • Конфигурация • Пользовательские настройки • Транзакционные • Аналитические 18
  19. 19. Управление рисками• Предупрежден, значит вооружен: • первичная оценка для выбора железа • возможность проведения тестов на производительность • разработка приложения • оптимизация производительности приложения • оптимизация производительности приложения • оптимиза…. 19
  20. 20. Сопровождение• Регламенты сопровождения крайне важны • защита от дурака • любой неоптимальный шаг при работе с большим объемом данных выливается в часы и дни ожиданий• InterSystems Enterprise Management System • обеспечивает управление конфигурациями нескольких серверов • упрощает задачи администрирования 20
  21. 21. Технологии InterSystems для больших систем• InterSystems Enterprise Cache Protocol (ECP)• InterSystems Caché Database Mirroring• InterSystems Enterprise Management System• Инновации InterSystems Caché Database 21
  22. 22. Вопросов нет? Отлично! Пишите & звонитеoleg.olenin@intersystems.com skype: oleg.olenin

×