«От cms к highload: работа с backend» Алексей Сазанов, Александр...

16
От CMS к Highload Работа с backend

Upload: it-share

Post on 15-Jun-2015

424 views

Category:

Technology


6 download

DESCRIPTION

- анализ производительности ORM; - особенности работы с DB при нагрузке; - Sphinx как дополнение к MySQL; - сессия в ASP.NEТ: зачем нужен кастомный провайдер.

TRANSCRIPT

Page 1: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

От CMS к Highload

Работа с backend

Page 2: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич
Page 3: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

CMS vs Highload

CMS• Шаблоны• Скорость разработки• Простота задач• Простота решений

Highload• Большой объем трафика• Большой объем

информации• Уникальность решений• Скорость работы

Page 4: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

С чего все начиналось…

Page 5: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

ORM

• Devart• Entity Framework• CustomORM• ADO *

Page 6: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Тест производительности

25 50 100 150 250 500 10000

100,000

200,000

300,000

400,000

500,000

600,000

700,000

devartentitycustomado

Количество запросов

ms

25 50 100 150 250 500 10000

2,000

4,000

6,000

8,000

10,000

12,000

14,000

entitycustomado

Количество запросов

ms

Page 7: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Время, ms

devart

entity

custom

ado

0 100 200 300 400 500 600

519.07

12.09

3.42

0.90

Page 8: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Время, ms

entity

custom

ado

0 2 4 6 8 10 12 14

12.09

3.42

0.90

Page 9: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Ресурсы

0 0.904142857142857 3.42366666666667 12.0885238095238 519.0721428571430

10

20

30

40

50

60

70

80

90

devartentitycustomado

Page 10: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

РезультатWeb сервер

DB сервер

до после0

1020304050607080

CPU

CPU

до после0

20

40

60

80

CPU

CPU

Page 11: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

DB

• Рефакторинг «тяжелых» запросов• «Чистка» количества запросов• Кэширование• Репликация master-slave

Page 12: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Результат

до после0

10

20

30

40

50

60

70

80

90

Web Requests/sec

На 5 000 000 просмотров в день 750 000 000 запросов к DB в день 400 000 запросов к DB в минуту

Page 13: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Полнотекстовый поиск =MySQL + Sphinx

• Высокая скорость индексации• Высокая скорость поиска• Масштабируемость• Полнотекстовый поиск• Поддержка стоп-слов, синонимов, морфологии и т.д.• Родная поддержка MySQL• API + SphinxQL

Page 14: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Сессия

Page 15: «От CMS к Highload: работа с backend» Алексей Сазанов, Александр Каскевич

Итог