• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
м.токовинин   компромиссная производительность
 

м.токовинин компромиссная производительность

on

  • 1,220 views

 

Statistics

Views

Total Views
1,220
Views on SlideShare
798
Embed Views
422

Actions

Likes
0
Downloads
34
Comments
0

6 Embeds 422

http://www.highload.ru 320
http://highload.ru 48
http://2012.highload.co 48
http://archive.highload.ru 3
http://2012.highload.ru 2
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    м.токовинин   компромиссная производительность м.токовинин компромиссная производительность Presentation Transcript

    • Компромиссная производительность Михаил Токовинин ( QSOFT)
    • Что такое «большой» проект
      • Сотни тысяч, миллионы, десятки миллионов хитов; Бесперебойная работа; Сложная структура ( серверный парк, большое количество кода ) ; Большое количество данных.
      • В чем измерять нагрузку? Технический отдел меряет посещаемость в хитах (желательно в единицу времени)
      • Соотношение хитов и посетителей зависит от типа проекта
    • Что такое рост нагрузки?
      • Рост ресурсов, требуемых на обработку потока запросов;
      • Рост ресурсов, требуемых для хранения пользовательских данных;
      • Рост ресурсов, требуемых для передачи данных между пользователями и сервером.
      • Типичные узкие места: База данных (объемы и производительность), Производительность серверов, Скорость и объемы жестких дисков,
    • Как с этим быть?
      • План по нагрузкам;
      • Нагрузочное тестирование для определения производительности системы;
      • Инвестиции в повышение предела по производительности
    • Масштабирование
      • Горизонтальное: Увеличение производительности системы за счет подключения дополнительных cерверов. Но как быть с базой данных?
      • Вертикальное: Увеличение производительности системы за счет увеличения сервера. Но всегда есть предел!
      • Функциональное разбиение: Разные функциональные части работают и хранятся на разных серверах системы.
      • Шардинг: Разбиение данных на кусочки, которые раскладываются по серверам-шардам. Есть статический (по первой букве) и динамический (с координирующим центром)
    • Может перестраховаться?
    • Проекты, Риски, Деньги
      • Любой проект действует в условиях ограниченных ресурсов
      • Проект представляет собой комплекс задач, решение каждой из которых критично для успеха проекта
      • Проект, а точнее каждая составная задача содержит в себе множество рисков. И производительность, лишь одна из задач
      • Производительность только кажется самой сложной и необходимой задачей (люди боятся неизвестного или того, в чем плохо разбираются)
    • Производительность как риск
      • Производительность содержит себе во много раз меньше рисков, чем, например, сама разработка или «продвижение» и легко поддается планированию
      • Реализация рисков по производительности растянуты во времени и у владельцев проекта есть время на исправление ошибок (в отличие, например, от рисков надежности или безопасности)
      • Производительность – это приятные хлопоты
    • Достаточная производ-ность
      • Стоит понимать, что для снижения рисков по производительности проект должен удовлетворять требованиям «достаточной производительности». Нет необходимости переплачивать за то, чего еще нет и скоро не будет.
      • Вероятность необходимости полной переделки системы больше связана с рисками самой разработкой, чем с рисками по производительности
      • Всегда есть запас по времени, чтобы все успеть
    • Нормальный цикл
    • Быстрая помощь
      • Программные решения наиболее эффективны, но требуют много времени; кроме того, требуемый уровень специалистов иногда запредельно высок;
      • Более мощное аппаратное обеспечение;
      • Редуцирование функциональности;
      • Уменьшение качества;
      • Оптимизация нагрузки;
    • Вопросы? Михаил Токовинин, [email_address] Директор компании QSOFT ( www.qsoft.ru ) Блог: http://mtoko.livejournal.com