Тёмный

Go (Golang) vs Python Performance Benchmark (Kubernetes - OpenTelemetry - Prometheus - S3/Postgres) 

Anton Putra
Подписаться 67 тыс.
Просмотров 12 тыс.
50% 1

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 83   
@AntonPutra
@AntonPutra 11 месяцев назад
🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com
@MDFireX5
@MDFireX5 24 дня назад
Антон, тест говно, какой фласк, где и как ты подумал, что он топ 1 ? фаст апи
@GabrielPozo
@GabrielPozo 11 месяцев назад
Your benchmark videos are always the best and most complete!
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Gabriel! Any suggestions for the next benchmark?
@GabrielPozo
@GabrielPozo 11 месяцев назад
@@AntonPutra Now, I don't have anything in mind, but I will think of something.
@PikaChu-fz4ij
@PikaChu-fz4ij 11 месяцев назад
@@AntonPutra Really want python-sanic vs golang and node.js
@099watcher
@099watcher Месяц назад
Really like your content! For suggestion in python's ecosystem django is the most dominant backend framework, I know It will get beaten by node, java and golang in performance but still we would love to see how slow it is compared to other languages. Tip: In django most of the people use DRF (Django Rest Framwork) for building REST APIs so combining django with DRF makes sense when doing benchmark.
@AntonPutra
@AntonPutra Месяц назад
thanks for the tip. yeah, django is very popular.
@nitishmalang4844
@nitishmalang4844 11 месяцев назад
awesome anton liked this quality content found rarely on internet thanks for this 😇
@marknefedov
@marknefedov 11 месяцев назад
Hi, I love your videos! Would you consider making a video about GitOps strategies and best practices in a closed, bare metal environment (without using a cloud solution like GitHub)? Specifically, how do you host your infrastructure Git repo? Do you create a separate non-GitOps cluster to deploy HA-Git and CI/CD? Do you deploy Git to a plain VM? Or do you go through the "chicken and egg problem" and deploy Git and CI/CD into the same cluster that you manage with GitOps tools like Flux or Argo?
@RABWA333
@RABWA333 11 месяцев назад
that is really great , hope to see the same for Nodejs (express) with postgress or DBmongo db
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Ghubein! Will do at some point.
@duke007x3
@duke007x3 11 месяцев назад
Hello Anton, thanks for the video, great as always. If you have time and possibility can you please make videos a little bit longer with deeper explanations for such noobs like me?)) Do you plan any videos on such topics as jenkins, ansible? Anyway thanks, you are doing great job.
@denisgr1
@denisgr1 11 месяцев назад
спасибо, ваши видео помогают мне правильно стартовать и развиваться в новых технологиях, выкладывайте еще!
@floriankapfenberger
@floriankapfenberger 11 месяцев назад
Great video Anton! I would be interested in an Elixir/Phoenix Benchmark if you be able to do that :)
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks Florian, I've just added it to my list.
@floriankapfenberger
@floriankapfenberger 11 месяцев назад
@@AntonPutra Awesome!
@valerikehayov2393
@valerikehayov2393 11 месяцев назад
Thanks Anton, amazing as always. I can see you are using Grfana stacks for these statistics and reports, what about Elastic stack do you think Grafana stack is better? Could you please compare both solutions: Elastic stack with metric beat and Opentelemetry Elasticsearch exporter and Grafana with tempo?
@AntonPutra
@AntonPutra 11 месяцев назад
Grafana was one of the first to support Prometheus as a data source. For ELK, you need to use Elastic to store metrics, and the pipeline would be somewhat different and more complex, but, I will definitely create a comparison video at some point.
@valerikehayov2393
@valerikehayov2393 11 месяцев назад
@@AntonPutra Yep, completely agree. It’s kind a common use case to use Elastic or Opensearch in many companies, so I was wondering why. Thanks for the reply, awesome as always!
@AntonPutra
@AntonPutra 11 месяцев назад
@@valerikehayov2393 initially it was only for logs, but ELK trying to create universal solution for metrics/traces/logs but it's expensive. Try out loki, it indexes only labels and much cheaper to host
@valerikehayov2393
@valerikehayov2393 11 месяцев назад
@@AntonPutra yes I will try it.
@aimericsorindev253
@aimericsorindev253 5 месяцев назад
I just discovered your channel, really great content ! What tools do you use to make your diagrams ?
@AntonPutra
@AntonPutra 5 месяцев назад
thanks, i use adobe suite
@horseinthesky
@horseinthesky 11 месяцев назад
Thank you for an amazing content. Could you one day make a tutorial about how to set up multiple node k8s cluster locally: ESXi or lxd if possible. It would help to learn k8s without AWS stuff so much.
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Kirill! Well why not minikube? Just run "minikube start --nodes 2" or set to any number of nodes
@horseinthesky
@horseinthesky 11 месяцев назад
@@AntonPutra That is a good starting point to begin the journey but these nodes would be docker containers on the same host/VM. I consider building a k8s cluster manually on different nodes (physical hosts/VMs) to play with it.
@AntonPutra
@AntonPutra 11 месяцев назад
@@horseinthesky got it, will do at some point (by the way you can use virtualbox as a driver and those nodes will be vms)
@horseinthesky
@horseinthesky 11 месяцев назад
@@AntonPutra Thank you! You used ESXi in this video and since I have a dedicated ESXi host where I build virtual network topologies and practice my programming skills I thought it would be great to have a small k8s lab there too to (you know) some kind of versatile IT experience =)
@AntonPutra
@AntonPutra 11 месяцев назад
@@horseinthesky take a look, I'll create a tutorial soon ## Control Plane ### Preparing the hosts sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/control-plane-00/' /etc/hostname sudo sed -i 's/ubuntu/control-plane-00/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-00/' /etc/hostname sudo sed -i 's/ubuntu/node-00/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-01/' /etc/hostname sudo sed -i 's/ubuntu/node-01/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-02/' /etc/hostname sudo sed -i 's/ubuntu/node-02/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-03/' /etc/hostname sudo sed -i 's/ubuntu/node-03/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-04/' /etc/hostname sudo sed -i 's/ubuntu/node-04/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-05/' /etc/hostname sudo sed -i 's/ubuntu/node-05/' /etc/hosts sudo reboot ### Disable swap sudo swapoff -a sudo sed -i 's/\/swap.img/#\/swap.img/' /etc/fstab free -h ### Installing a container runtime (containerd) curl -L github.com/containerd/containerd/releases/download/v1.7.3/containerd-1.7.3-linux-amd64.tar.gz -o containerd-1.7.3-linux-amd64.tar.gz sudo tar Cxzvf /usr/local containerd-1.7.3-linux-amd64.tar.gz sudo curl -L raw.githubusercontent.com/containerd/containerd/main/containerd.service -o /lib/systemd/system/containerd.service sudo systemctl daemon-reload sudo systemctl enable --now containerd #### Installing runc curl -L github.com/opencontainers/runc/releases/download/v1.1.8/runc.amd64 -o runc.amd64 sudo install -m 755 runc.amd64 /usr/local/sbin/runc #### Installing CNI plugins curl -L github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgz -o cni-plugins-linux-amd64-v1.3.0.tgz sudo mkdir -p /opt/cni/bin sudo tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.3.0.tgz sudo mkdir /etc/containerd/ sudo sh -c 'containerd config default > /etc/containerd/config.toml' sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml sudo systemctl restart containerd stat -fc %T /sys/fs/cgroup/ ### Install and configure prerequisites cat
@lipin007
@lipin007 Месяц назад
Kindly consider benchmarking ruby on rails vs go gin!
@AntonPutra
@AntonPutra Месяц назад
ah ruby on rails, it's been a while❤️ yes will do
@lipin007
@lipin007 Месяц назад
@@AntonPutra Thank you!
@pietraderdetective8953
@pietraderdetective8953 9 месяцев назад
Do the performance benchmark for Quart please! It's the async version for Flask so you can use your Flask code and modify it a lil bit. Plenty of Flask extensions are working in Quart too! Cheers!
@AntonPutra
@AntonPutra 9 месяцев назад
thanks for the feedback, i'll see what i can do
@funkindy
@funkindy 11 месяцев назад
In real world scenario add network roundtrip latency and the overall latency difference would dissappear, i guess
@AntonPutra
@AntonPutra 11 месяцев назад
But it would applied to both languages, interesting question if golang handle network requests better
@funkindy
@funkindy 11 месяцев назад
@@AntonPutra sure, add constant like 50-150ms for both languages and the difference would almost disappear. But CPU/MEM difference would not, for sure)
@mariusmuller4340
@mariusmuller4340 11 месяцев назад
Nice video, what tool do you use to make your graphics like minute 1:50?
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks! Adobe Suite
@malikt7z
@malikt7z 2 месяца назад
Great Video 👍🏻
@AntonPutra
@AntonPutra 2 месяца назад
thank you!
@tHe0nLyNeXuS
@tHe0nLyNeXuS 11 месяцев назад
I wonder how FastAPI would perform, compared to Flask. I am assuming that since it supports asynchronous processing of requests, contrary to Flask (ASGI vs WSGI), it should overall reduce latency.
@AntonPutra
@AntonPutra 11 месяцев назад
Ok, I've just added it to my list.
@LukaLočičnik-v2k
@LukaLočičnik-v2k 11 месяцев назад
Great video! Can you do .NET vs Go next?
@az6876
@az6876 11 месяцев назад
I agree. But, if possible, with version 8 using AOT compilation.
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks Luka, I've just added it to my list.
@AntonPutra
@AntonPutra 11 месяцев назад
ok, I'll check
@kittipongpiyawanno315
@kittipongpiyawanno315 2 месяца назад
It surprises me a little bit that both have more or less equivalent request rate. I expect more from Go.
@AntonPutra
@AntonPutra 2 месяца назад
maybe not the fastest framework
@lohithvenkatesh4831
@lohithvenkatesh4831 24 дня назад
Can you compare gin vs Robyn the new python framework?
@AntonPutra
@AntonPutra 24 дня назад
ok, i'll take a look!
@Antonio-yy2ec
@Antonio-yy2ec 11 месяцев назад
Thanks Anton!!!
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Antonio! Any suggestions for the next benchmark?
@ievgenmajor3301
@ievgenmajor3301 11 месяцев назад
great content!
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Ievgen! Any suggestions for the next benchmark?
@Antonio-ib6ii
@Antonio-ib6ii 11 месяцев назад
Very interesting video. Thank
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Antonio! Any suggestions for the next benchmark?
@kamurashev
@kamurashev 11 месяцев назад
Great 👍
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Kyrylo! Any suggestions for the next benchmark?
@yuksgas
@yuksgas 11 месяцев назад
Please benchmark rust actix vs cpp drogon 😬
@CsAlchemy-eg6ch
@CsAlchemy-eg6ch 6 месяцев назад
Very great content , thanks
@AntonPutra
@AntonPutra 6 месяцев назад
Thank you!!
@DataPastor
@DataPastor 6 месяцев назад
Could you please make a similar benchmark with FastAPI+asyncpg+gunicorn on the Python side?
@AntonPutra
@AntonPutra 6 месяцев назад
sure, added to my list
@sombiri9147
@sombiri9147 11 месяцев назад
This is good
@AntonPutra
@AntonPutra 11 месяцев назад
Thanks, Sombiri! Any suggestions for the next benchmark?
@clintonndi1308
@clintonndi1308 11 месяцев назад
You got courses on udemy or something? Thanks
@AntonPutra
@AntonPutra 11 месяцев назад
Not yet, still a full time employee...
@clintonndi1308
@clintonndi1308 11 месяцев назад
@@AntonPutra It will make sense if you put up a course on Linux/system engineering or DevOps. Think about it. Thanks
@uday4717
@uday4717 14 дней назад
Can you do the same thing for fastapi
@AntonPutra
@AntonPutra 14 дней назад
yes i'll do more python soon
@АртемШестаков-д9в
@АртемШестаков-д9в 10 месяцев назад
Please test FastApi framework with Go
@AntonPutra
@AntonPutra 10 месяцев назад
🫡
@VitaliiAkhmetzianov
@VitaliiAkhmetzianov 11 месяцев назад
Yo man you are super
@yunyang6267
@yunyang6267 11 месяцев назад
make a firebase vs supabase benchmark
@AntonPutra
@AntonPutra 11 месяцев назад
Ok, added to my list
@alberkhan
@alberkhan 11 месяцев назад
Boss please do golang vs php swoole
@AntonPutra
@AntonPutra 11 месяцев назад
Ok, I've just added it to my list.
@RomaDeveloper
@RomaDeveloper 11 месяцев назад
I made the first video about my project in python, i will be happy to get your feedback ❤
Далее
Go 1.23 Released
32:23
Просмотров 98 тыс.
DONT USE AN ORM | Prime Reacts
25:46
Просмотров 232 тыс.
Back. Go vs Python
1:03:40
Просмотров 7 тыс.