How CPU Efficient is your App?

  Рет қаралды 13,673

Hussein Nasser

Hussein Nasser

Күн бұрын

Identifying whether an application is CPU or IO bound is important for scaling, we explore this using the top command in Linux in this video.
0:00 Intro
2:30 us sy wa id
10:00 CPU Bound
12:20 Pressure Stall Information
14:45 IO Disk Bound
Discovering Backend Bottlenecks: Unlocking Peak Performance
performance.husseinnasser.com
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Follow me on Medium
/ membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on KZbin
/ @hnasr
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
/ @husseinnasser
🔥 Members Only Content
• Members-only videos
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/6...
Stay Awesome,
Hussein

Пікірлер: 23
@hnasr
@hnasr 24 күн бұрын
Fundamentals of Operating Systems course oscourse.win
@rohrvy1989
@rohrvy1989 9 ай бұрын
Explained beautifully and technically.. hats off to you Hussein
@secretsanta3029
@secretsanta3029 9 ай бұрын
This also applies to mobile apps, battery drain isn’t looked after in most apps. In my experience JS based mobile apps like cordova, ionic, RN suck battery at crazy rates if not done correctly
@voicevy3210
@voicevy3210 9 ай бұрын
even if done correctly 😂
@sultan_of_oop
@sultan_of_oop 9 ай бұрын
Thank you Hussein for sharing this valuable information
@jasdeepsinghgrover2470
@jasdeepsinghgrover2470 9 ай бұрын
This is amazing... I think even databases like Oracle and Spark track this very well for optimization!
@morale3056
@morale3056 9 ай бұрын
Oh my god. What I've been looking for recently! 😮
@architsinha6105
@architsinha6105 9 ай бұрын
Great explanation !! Thanks Hussein. One question - As you mentioned "wa" being higher can indicate CPU waiting on disk IO. Is there a similar metric in top or any other standard linux command which can indicate CPU waiting on network?
@UrvishShah03
@UrvishShah03 9 ай бұрын
Thanks!
@imhassane
@imhassane 6 ай бұрын
I have to optimize one of our application page which currently use 100% of CPU when only 200 users are on it at the same time. Never done it before 😅 great opportunity to learn about CPU optimizations
@akashagarwal6390
@akashagarwal6390 9 ай бұрын
IO bound vs CPU Bound? considering socket creation & all things that go into making a round trip n/w call like e.g. serialization, copying data from disk to some share mem pool, then to the NIC pool etc...
@hnasr
@hnasr 9 ай бұрын
My Backend course backend.win
@wirytiox1577
@wirytiox1577 6 ай бұрын
Hehe. Dot win are cheap. Hey. Could you do a review to members about their website or infraestructure? I want somebody with knowldage to tell me what i fucked up in my first website.
@user-gq9lr7ue2g
@user-gq9lr7ue2g 9 ай бұрын
Brilliant !
@MaulikParmar210
@MaulikParmar210 9 ай бұрын
Real world apps usually are never starving CPU unless they are computational intensive. A lot of data processing software will wait for IO, and as IO speeds up, so do the lower level caches and CPUs that essentially eliminate this scenario. If you're churning numbers like in opencl or in image processing pipeline, you're likely to be CPU bound. Ideally there's no way to squeeze out 100% cpu in most apps except the compute ones as you will always be waiting for IO, and the system can't do anything about it as whole process is serial operation. The closest you get is having an event loop with parallel processing, but implementations are not always ideal for the task. For speeding up compute you will always make compromises with fetching and retiring data which has it's own complexities. With this case, you're better off with spawning lightweight processes and have architectural benefits of higher level stack rather than doing it at a lower level. Again it always depends on context and contexts are not always simple that's why OS scheduler makes sure it uses miltiple strategies and code paths to schedule threads so none gets starved including the one running this scheduler ( even in single core system )
@mathieud2106
@mathieud2106 4 ай бұрын
Thanks 👍🏼
@user-ok4fx3kl6f
@user-ok4fx3kl6f 9 ай бұрын
How can I check wa metric on mac ? The top command over there does not give all details.Checked activity monitor , it simply shows high CPU load when i do I/O intensive task.
@saeedul
@saeedul 9 ай бұрын
Hello bro I am from Pakistan. I am starting new tech career like development I choose to domain iOS and backend which one is good .
@ankitpare6493
@ankitpare6493 9 ай бұрын
Whatever interests you the most. For me it’s backend.
@yarmgl1613
@yarmgl1613 9 ай бұрын
for iOS you need a mac computer with 16 GB ram and 500+ GB storage, I would choose web and backend
@prashanthb6521
@prashanthb6521 9 ай бұрын
Stay with backend, more jobs.
@haythamasalama0
@haythamasalama0 9 ай бұрын
❤❤❤❤
@yes-ni1od
@yes-ni1od 9 ай бұрын
you may aswell just be an AI you just regurgitate information
How does the Kernel manage backend Connections?
4:56
Hussein Nasser
Рет қаралды 10 М.
Postgres Internal Architecture Explained
33:16
Hussein Nasser
Рет қаралды 143 М.
Super gymnastics 😍🫣
00:15
Lexa_Merin
Рет қаралды 8 МЛН
Заметили?
00:11
Double Bubble
Рет қаралды 3,3 МЛН
He tried to save his parking spot, instant karma
00:28
Zach King
Рет қаралды 19 МЛН
The effect of Random UUID on database performance
18:51
Hussein Nasser
Рет қаралды 68 М.
DO NOT USE BUN (bun install is good dough)
17:54
strager
Рет қаралды 138 М.
Understanding  Linux Processes in 8 minutes
7:41
TechTimeFly
Рет қаралды 1,5 М.
60 Linux Commands you NEED to know (in 10 minutes)
10:50
NetworkChuck
Рет қаралды 1,3 МЛН
A Deep Dive in How Slow SELECT * is
39:24
Hussein Nasser
Рет қаралды 36 М.
They made Kafka 80% faster by switching file systems
31:30
Hussein Nasser
Рет қаралды 32 М.
Docker Networking Crash Course
49:19
Hussein Nasser
Рет қаралды 75 М.
Check out these tips to improve Node.js API performance
5:02
Jelvix | TECH IN 5 MINUTES
Рет қаралды 2,9 М.
System Design: Why is Kafka fast?
5:02
ByteByteGo
Рет қаралды 1 МЛН
Main filter..
0:15
CikoYt
Рет қаралды 756 М.
How much charging is in your phone right now? 📱➡️ 🔋VS 🪫
0:11
Mi primera placa con dios
0:12
Eyal mewing
Рет қаралды 550 М.
wireless switch without wires part 6
0:49
DailyTech
Рет қаралды 1 МЛН
Pratik Cat6 kablo soyma
0:15
Elektrik-Elektronik
Рет қаралды 8 МЛН