piterpy #2. Быстродействие python в web. Постреляем по...

18
Быстродействие Python в Web. Цыганов Иван Positive Technologies Постреляем по веб-серверу?

Upload: ivan-tsyganov

Post on 13-Feb-2017

46 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Быстродействие Python в Web.

Цыганов Иван Positive Technologies

Постреляем по веб-серверу?

Page 2: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Как все работает?

database

server

application

wsgi

nginxclient_1

client_2

client_3

client_4

Page 3: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

WSGI

Page 4: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Как тестировали?

databaseapplicationwsgiyandex-tank

Page 5: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Тесты

✤ Простое Flask-приложение

✤ Запрос к базе по индексу

✤ Запрос к базе по индексу со смещением

✤ Перманентная нагрузка в течении 60 секунд

Page 6: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Простое приложение

0%

25%

50%

75%

100%

RPS max

RPS avg

Time m

ax

Time a

vg

Memory m

ax

Memory av

g

CPU max

CPU avg

gunicorn uwsgi

Page 7: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Запрос к базе по индексу

Page 8: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Запрос к базе по индексу

Page 9: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Победитель?

Page 10: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Запрос по индексу со смещением (MySQL, MariaDB)

Page 11: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?
Page 12: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

А что же gunicorn?

Page 13: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?
Page 14: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Mongo спешит на помощь!

Page 15: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?
Page 16: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Постоянная нагрузка

0%

25%

50%

75%

100%

Time max Time avg Memory avg Memory max CPU avg

gunicorn uwsgi

Page 17: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Победитель!

+ Потребление ресурсов+ Скорость+ Гибкий конфиг

- Тяжелые запросы к базе- Сложный конфиг

Page 18: Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?

Спасибо за внимание!

@tsyganov_ivan

https://www.linkedin.com/in/TsyganovIvan