Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Moscow Julia Meetup #2 - Julia and Web under load
Search
Gleb Ivashkevich
June 14, 2019
Technology
0
66
Moscow Julia Meetup #2 - Julia and Web under load
Gleb Ivashkevich
June 14, 2019
Tweet
Share
More Decks by Gleb Ivashkevich
See All by Gleb Ivashkevich
Moscow Julia Meetup #2 - Deep learning in Julia
phtraveller
0
49
Moscow Julia Meetup #1 - Julia and ML
phtraveller
0
82
Moscow Julia Meetup #1 - Julia and Web
phtraveller
0
67
Other Decks in Technology
See All in Technology
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
550
Agile Leadership Summit Keynote 2026
m_seki
1
670
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
200
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
770
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
2
3.1k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Context Engineeringの取り組み
nutslove
0
380
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
120
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
The SEO identity crisis: Don't let AI make you average
varn
0
330
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
Into the Great Unknown - MozCon
thekraken
40
2.3k
Done Done
chrislema
186
16k
Typedesign – Prime Four
hannesfritz
42
3k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
67
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Transcript
Moscow Julia Meetup #2 Владимир Филонов Julia и Web
whoami - Разрабатываю нагруженные и не очень системы. В основном
Python и Erlang/Elixir - Преподаю Python в LearnPython и OTUS - Экспериментирую с новыми технологиями и языками
Disclamer - Не использую Julia в production
Disclamer - Не использую Julia в production - Всё ещё
=)
В прошлый раз
Http.jl Pros - All-in-one - Хорошо развивается - Планируют стать
частью stdlib Cons - Низкоуровнево - Нет встроенного парсера JSON
Mux.jl Pros - Вся сила HTTP.jl - С сахаром Cons
- В HTTP.jl есть своя поддержка middleware - Всё еще встроенного парсера JSON
Bukdu.jl Pros - Генератор форм - Встроенная сериализация JSON Cons
- А вот десиарелизации JSON нет - С документацией не очень
Genie.jl Pros - Очень похож на MVC. Может почти всё
- Наконец полноценная работа с JSON Cons - Сложный старт - С документацией, как и везде - не очень
Нагрузка
- Микросервис смс-рассылок Что тестировал
- Микросервис смс-рассылок - Точнее его часть: проверка статусов -
Что тестировал
Что тестировал - Микросервис смс-рассылок - Точнее его часть: проверка
статусов - Боевая база: ~2 000 000 записей
Что тестировал - Микросервис смс-рассылок - Точнее его часть: проверка
статусов - Боевая база: ~2 000 000 записей - 4 Julia реализаций
Что тестировал - Микросервис смс-рассылок - Точнее его часть: проверка
статусов - Боевая база: ~2 000 000 записей - 4 Julia реализаций - HTTP.jl, Mux.jl, Bukdu.jl, Genie.jl
- Микросервис смс-рассылок - Точнее его часть: проверка статусов -
Боевая база: ~2 000 000 записей - 4 Julia реализаций - (HTTP.jl, Mux.jl, Bukdu.jl, Genie.jl) + LibPQ.jl - 3 Python реализации Что тестировал
- Микросервис смс-рассылок - Точнее его часть: проверка статусов -
Боевая база: ~2 000 000 записей - 4 Julia реализаций - (HTTP.jl, Mux.jl, Bukdu.jl, Genie.jl) + LibPQ.jl - 3 Python реализации - (flask, aiohttp, sanic) + psycopg2 Что тестировал
- wrk Чем тестировал
- wrk - Немного Lua Чем тестировал
- wrk - Немного Lua - Docker Чем тестировал
- wrk - Немного Lua - Docker 2 треда, 50
коннектов Чем тестировал
Что же вышло?
- ~1110 RPS - ~48 ms HTTP.jl
- ~1090 RPS - ~55 ms Mux.jl
- ~920 RPS - ~60 ms Bukdu.jl
- ~720 RPS - ~80 ms Genie.jl
Сравнение с Python
- ~980 RPS - ~50 ms Flask
sanic - ~3400 RPS - ~20 ms
aiohttp - ~3600 RPS - ~25 ms
Резюме
Резюме - Синхронная Julia не медленнее синхронного Python
Резюме - Синхронная Julia не медленнее быстрее синхронного Python
Резюме - Синхронная Julia не медленнее быстрее синхронного Python -
Асинхронный Python сильно быстрее
Резюме - Синхронная Julia не медленнее быстрее синхронного Python -
Асинхронный Python сильно быстрее - Джулии нечем ответить
Резюме - Синхронная Julia не медленнее быстрее синхронного Python -
Асинхронный Python сильно быстрее - Джулии нечем ответить - Пока
Цель
Цель - Реализовать минимальный асинхронный фреймворк на Julia
вопросы?