SlideShare a Scribd company logo
Быстродействие Python в Web.
Цыганов Иван
Positive Technologies
Постреляем по веб-серверу?
Как все работает?
database
server
application
wsgi
nginx
client_1
client_2
client_3
client_4
WSGI
Как тестировали?
databaseapplicationwsgiyandex-tank
Тесты
✤ Простое Flask-приложение
✤ Запрос к базе по индексу
✤ Запрос к базе по индексу со смещением
✤ Перманентная нагрузка в течении 60 секунд
Простое приложение
0%
25%
50%
75%
100%
RPS
m
ax
RPS
avg
Tim
e
m
ax
Tim
e
avg
M
em
ory
m
ax
M
em
ory
avg
C
PU
m
ax
C
PU
avg
gunicorn uwsgi
Запрос к базе по индексу
Запрос к базе по индексу
Победитель?
Запрос по индексу со смещением
(MySQL, MariaDB)
Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?
А что же gunicorn?
Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?
Mongo спешит на помощь!
Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу?
Постоянная нагрузка
0%
25%
50%
75%
100%
Time max Time avg Memory avg Memory max CPU avg
gunicorn uwsgi
Победитель!
+ Потребление ресурсов
+ Скорость
+ Гибкий конфиг
- Тяжелые запросы к базе
- Сложный конфиг
Спасибо за внимание!
@tsyganov_ivan
https://www.linkedin.com/in/TsyganovIvan

More Related Content

PPTX
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
PPTX
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
PPTX
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
PDF
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
PDF
Percona XtraDB Cluster, Galera под капотом / Николай Ихалайнен (Percona)
PDF
Nikolay
PDF
Типовое внедрение мониторинга
PDF
Near-realtime аналитика событий в высоконагруженном проекте
Ускорение показа превью изображений в Яндекс.Диске / Сергей Нечаев (Яндекс)
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Percona XtraDB Cluster, Galera под капотом / Николай Ихалайнен (Percona)
Nikolay
Типовое внедрение мониторинга
Near-realtime аналитика событий в высоконагруженном проекте

What's hot (20)

PPT
Mafiozi Performance2 1
PDF
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PDF
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
PDF
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
PPTX
Опыт построения СХД на базе Windows Server для использования в публичном обла...
PDF
Tech Talks @NSU: Что такое Highload? Секреты высокой нагрузки.
PDF
Как не положить тысячи серверов с помощью системы централизованного управлени...
PPTX
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
PPTX
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
PDF
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
PPTX
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
PPTX
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
PPTX
Диагностика postgresql для системного администратора
PPTX
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
PDF
Клиентские приложения под нагрузкой (HighLoad 2014)
PPTX
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
PPSX
Мониторинг, когда не тестируешь
PPTX
Скорость с доставкой до пользователя
PPTX
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Mafiozi Performance2 1
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
Опыт построения СХД на базе Windows Server для использования в публичном обла...
Tech Talks @NSU: Что такое Highload? Секреты высокой нагрузки.
Как не положить тысячи серверов с помощью системы централизованного управлени...
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Диагностика postgresql для системного администратора
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)
Клиентские приложения под нагрузкой (HighLoad 2014)
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Мониторинг, когда не тестируешь
Скорость с доставкой до пользователя
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Ad

Viewers also liked (14)

PDF
Fighting async JavaScript (CSP)
PDF
Moscow Python Conf 2016. Почему 100% покрытие это плохо?
PDF
API Description Languages: Which Is The Right One For Me?
PDF
Communicating Sequential Processes (CSP) in JavaScript
PPTX
API Workshop: Deep dive into REST APIs
PDF
My talk from PgConf.Russia 2016
PDF
Ansible in the enterprise
PDF
My talk on Hadoop stack operations engineering at OSPCon
PDF
PyconRu 2016. Осторожно, DSL!
PDF
My talk at Linux Piter 2015
PPTX
Another API-Blueprint, RAML and Swagger Comparison
PDF
API Description Languages
PDF
API Docs Made Right / RAML - Swagger rant
PDF
My talk at Linux Piter 2016
Fighting async JavaScript (CSP)
Moscow Python Conf 2016. Почему 100% покрытие это плохо?
API Description Languages: Which Is The Right One For Me?
Communicating Sequential Processes (CSP) in JavaScript
API Workshop: Deep dive into REST APIs
My talk from PgConf.Russia 2016
Ansible in the enterprise
My talk on Hadoop stack operations engineering at OSPCon
PyconRu 2016. Осторожно, DSL!
My talk at Linux Piter 2015
Another API-Blueprint, RAML and Swagger Comparison
API Description Languages
API Docs Made Right / RAML - Swagger rant
My talk at Linux Piter 2016
Ad

Similar to Piterpy #2. Быстродействие Python в Web. Постреляем по веб-серверу? (20)

PPTX
Hosting for forbes.ru_
PPTX
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
PPTX
Крадущийся сервер, затаившийся диод (Андрей Аксенов)
PDF
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
PPT
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
PPTX
Крадущийся сервер, затаившийся диод
PDF
Алексей Иванкин: Highload + PHP
PPTX
Web осень 2013 лекция 9
PPTX
Варианты развертывания проектов на M3
PPT
Development on the Knee by Vladimir Khramtsov
PPTX
Industrial Programming Java - Lection Pack 02 - Distributed applications - La...
PDF
Рост с нуля до 15000 сообщений в секунду. Мучительный и поучительный / Юрий К...
PPT
Web осень 2012 лекция 4
PPTX
Виталий Гаврилов (Ленвендо)
PDF
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
PPT
Воюем за ресурсы (ZFConf2011)
PDF
Alexander shigin slides
PPT
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
PPT
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
PPTX
Python tools for web development (Python meetup Almaty #ALAPY)
Hosting for forbes.ru_
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
Крадущийся сервер, затаившийся диод (Андрей Аксенов)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Крадущийся сервер, затаившийся диод
Алексей Иванкин: Highload + PHP
Web осень 2013 лекция 9
Варианты развертывания проектов на M3
Development on the Knee by Vladimir Khramtsov
Industrial Programming Java - Lection Pack 02 - Distributed applications - La...
Рост с нуля до 15000 сообщений в секунду. Мучительный и поучительный / Юрий К...
Web осень 2012 лекция 4
Виталий Гаврилов (Ленвендо)
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
Воюем за ресурсы (ZFConf2011)
Alexander shigin slides
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
Python tools for web development (Python meetup Almaty #ALAPY)

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