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

Сравнение нагрузки — PyCurl vs HTTPClientFactory+Deferred

Время на прочтение1 мин
Количество просмотров2.1K
В процессе разработки одного проекта на Python+Twisted (распределителя СМС запросов) пришлось переписать вызов URL различных сервисов с разных серверов c блокирующего вызова через PyCurl на неблокирующий (client.HTTPClientFactory + deferred). Чтобы иметь перед глазами реальные данные, решил дать нагрузку и посмотреть на результаты


Описание теста


Использовался Jakarta Jmeter

В 200 потоков прогнано 100 запросов на один и тот же сервер, но со случайными данными (чтобы исключить кэширование). Прогонялось на обыкновенной рабочей машине с GUI — так для примерной оценки.

Результаты теста




Одна ошибка — не справилась база, так что погрешностью можно пренебречь


Графики распределения



Блокирующий (PyCurl)




Неблокирующий (deferred)



Итоги


Как видно из результата — у defered минимальное значение отклика сервера почти в 2.5 раза меньше (из-за отказа базы), а максимальное — меньше в два раза, чем у блокирующего. Среднее также меньше в 2 раза.

Америку я, конечно, не открыл, но по-крайней мере — теперь на руках конкретные цифры. Надеюсь, кому-нибудь они пригодятся.
Теги:
Хабы:
+13
Комментарии19

Публикации

Изменить настройки темы

Истории

Работа

Data Scientist
62 вакансии
Python разработчик
134 вакансии

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн