Django under load, или django тоже может быть быстрой

Django under load, или django тоже может быть быстрой

Алексей Штырняев (Х5 Retail Group, разработчик) @ MoscowPython Meetup 70

"В своей работе используем Django для высоконагруженного сервиса. И постоянно тестируем сервисы под нагрузкой, чтобы удостовериться, что новый код выдержит наш следующий релиз. За время регулярных высоконагруженных тестов выработали n-советов, которые помогают увеличить производительность в проектах на Django".

Видео: http://www.moscowpython.ru/meetup/70/django-under-load/

53b0434aded1fb944ec3037c382158c1?s=128

Moscow Python Meetup

November 28, 2019
Tweet

Transcript

  1. Django под нагрузкой или django тоже может быть быстрой

  2. Цифровая трансформация

  3. Microservices

  4. Microservices • Легко внедрять ◦ Поэтапный отказ от старых решений

    • Быстро разрабатывать ◦ Любой микросервис мы пишем за 1 спринт за 2 внедряем • И недорого
  5. Проблема

  6. Микросервисы работают • Настроенный CI/CD • Непрерывное тестирование • У

    микросервиса есть владелец • Документация
  7. CI/CD

  8. None
  9. Как мы тестируем Merge Request

  10. Тем временем в OpenShift Пространство TANK Пространство TEST yandex tank

    test DB Mock service #1 Mock service #2 Mock service #3 Стресс Нагрузочное Тест #1 Тест #2 Сервис
  11. Ресурсы

  12. Client ms-service Partner ms- auth ms-service

  13. Bottlenecks

  14. WSGI сервер • Waitress • Bjoern Server App wsgi

  15. MIDDLEWARE MIDDLEWARE здорового человека обычного проекта MIDDLEWARE микросервиса

  16. MIDDLEWARE for microservices - 'django.contrib.messages.middleware.MessageMiddleware' - 'django.middleware.clickjacking.XFrameOptionsMiddleware' - 'django.contrib.sessions.middleware.SessionMiddleware' -

    'django.middleware.csrf.CsrfViewMiddleware' + 'django.middleware.gzip.GZipMiddleware'
  17. Concurrent programming

  18. Python 3

  19. Выводы • Правильно распоряжаться ресурсами • Обращать внимание на пакеты

    и middleware которые используем • Очень важен WSGI сервер • Обращайте внимание на альтернативные библиотеки написанные на Си
  20. Вопросы