Как стать автором
Обновить

Комментарии 9

Как вы считаете, использование Granian вместо Gunicorn даст прирост? Или, возможно, вы уже исследовали этот вопрос и у вас есть какие-то цифры на эту тему?

Granian видел мельком в дайджестах, но сам лично не тестировал. Поэтому сказать особо нечего)

Как будет время постараюсь посмотреть как он без кеширования справляется.

Есть вопросы по конфигурации:
то что сервера "прерывемые" не аффектит тестирование?
какая использовалась субд и с какими параметрами? postgres? какой версии?
тюнили ли её? хотя бы классические:
```
max_connections=100
shared_buffers=256MB
effective_cache_size=768MB
maintenance_work_mem=64MB
checkpoint_completion_target=0.7
wal_buffers=16MB
default_statistics_target=100
work_mem=16MB
random_page_cost=1.1
temp_file_limit=1GB
log_min_duration_statement=200ms
idle_in_transaction_session_timeout=10s
lock_timeout=1s
statement_timeout=60s
```
какой версии django? какой версии drf?
почему не Granian вместо Gunicorn?
в качестве де/сериализатора интегрировали ли pydantic в drf?
orm использовалась в асинхронной манере? если нет, то почему
почему использовали nginx, а не haproxy?
почему использовали redis, а не valkey?

Я сделал репозиторий с кодом, который использовался в статье. Версии библиотек и параметры запуска django и postgresql можете посмотреть там.
https://github.com/egor1344/overclok_django_habr

> почему не Granian вместо Gunicorn?
Как я и отвечал выше, еще не тестировали Granian, поэтому ничего про него сказать не могу.

> orm использовалась в асинхронной манере? если нет, то почему
Использовали стандартный (синхронный) подход, т.к. сама статья была направлена на описание подхода к базовому нагрузочному тестированию. Мне кажется сравнение c асинхронностью в Django, это тема отдельной статьи, там слишком много НО возникает.

> почему использовали nginx, а не haproxy?
ngixn для нас является стандартным инструментом, поэтому и в статье использовали его

> почему использовали redis, а не valkey?
В данной реализации тестирования нет разницы между ними.

А у меня тоже вопрос к @djcrhk3chabrпро запуск через nginx - сколько воркеров использовали. По моему опыту, от хостинга к хостингу могут отличаться настройки при, казалось бы, одинаково выбранной мощности (hetzner vs djangoeurope).

Ну и в принципе, стоило все же сначала дотянуть до 490-500 rps только методами Django и потом кешить (если все сразу обмазать кешем нормально не померяешь улучшения). Как натянуть со стандартных 70-100 до 500 rps я рассказывал в докладах про "Django-FTL"

Слово «ёкодзуна» пишется, всё-таки, через «ё». Или это умышленное искажение?

Возможно, дело не в этом (просто предполагаю), но есть вероятность, что в названии автор делает отсылку на древний аудиомем. Это запись с радио; ищется она легко по фразе "схватка двух якодзун". Одно слово не совпадает, но всё равно довольно похоже на то. Так что именно такое написание "якодзун" может оказаться вовсе не случайностью и не ошибкой (вариант через "я" в названии меметичной записи более распространен, хотя есть названия той же аудяшки и с "йокодзунами", например). )

Все верно, отсылка к древнему аудиомему)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий