david_negrier Profile Banner
David Négrier Profile
David Négrier

@david_negrier

Followers
798
Following
7K
Media
109
Statuses
2K

@workadventure_ CTO, ex @coding_machine cofounder and CTO. My Twitter avatar is all about PHP, JS, Typescript, WebRTC and web development in general.

Joined November 2010
Don't wanna be here? Send us removal request.
@david_negrier
David Négrier
6 days
Currently playing with the idea of organizing a #PHP unconference online on @Workadventure_ . Interested? Please give your feedback on this Reddit thread!
0
0
0
@david_negrier
David Négrier
12 days
RT @mattpocockuk: Here's how to guarantee you've handled every known error in your system. from the very top of a potentially enormous call….
0
23
0
@david_negrier
David Négrier
12 days
RT @brendt_gd: I'm so proud: two years of working together with a lot of talented programmers, finally we tagged Tempest 1.0: a new framewo….
0
75
0
@david_negrier
David Négrier
13 days
RT @Workadventure_: No slides, no stress, just sun. Our team retreat = 5 days in the South of France with bikes, beach, paintball. and a….
0
1
0
@david_negrier
David Négrier
2 months
So it seems that the "Active users" messages from Livekit are generating quite a load (~8MB/s, that's a lot!), but it does not completely explain the very high load on Redis. We need to dig deeper!.
0
0
0
@david_negrier
David Négrier
2 months
Hypothesis tested: it's the messages related to the active users that generate this load. To test this, we did 2 tests. The first test (on the left), with sound => Redis bandwidth: ~30MB/s.The second test (on the right), without sound => Redis bandwidth: ~22MB/s.
1
0
0
@david_negrier
David Négrier
2 months
Some more @livekit related Tweets!. Current question: why is Redis under such a high load when using Livekit?. In Yellow: the Livekit output bandwidth during load tests with 70 to 100 users. In Green: the Redis output bandwidth.
Tweet media one
@david_negrier
David Négrier
2 months
We'll test that hypothesis and I'll come back here as we advance in those tests :).
1
0
0
@david_negrier
David Négrier
2 months
We'll test that hypothesis and I'll come back here as we advance in those tests :).
0
0
0
@david_negrier
David Négrier
2 months
Current hypothesis: the load test scenario we use (based on Playwright) is emitting short "beeps". All 70 users of the test scenario emit the beeps at regular interval and need to dispatch those to the other users (so that's a O(n2) complexity).
1
0
0
@david_negrier
David Négrier
2 months
It turn out the 20MB/s bandwidth is generated by. the communication between Livekit and Redis 😱😱😱. Redis does not receive any video streams, but it receives messages anytime something happens in a room (like the active user is changing).
1
0
0
@david_negrier
David Négrier
2 months
Our first hypothesis: the other node was relaying some video streams, somehow. We investigated Kubernetes Service NodePorts and stuff like that to no avail. Livekit is exposing UDP ports directly on the host node, so this part is working correctly.
1
0
0
@david_negrier
David Négrier
2 months
In yellow: the output bandwidth of the Livekit server (up to ~80MB/s).In green: the output bandwidth of the **other** server (up to ~20MB/s).Why the hell is it taking a part of the bandwidth?.
1
0
0
@david_negrier
David Négrier
2 months
During our load tests, I see this:
Tweet media one
1
0
0
@david_negrier
David Négrier
2 months
Our test K8S Livekit cluster has 2 nodes. - 1 node that contains ONLY the "Livekit server" we are load testing.- 1 node for all the rest (Redis required by Livekit, Prometheus to gather metrics, etc. ).
1
0
0
@david_negrier
David Négrier
2 months
I'm keeping doing load-balancing tests with @Livekit for fun and profit. Today's mystery: an unexplained network load on one of our servers. 🧵.
1
0
0
@david_negrier
David Négrier
2 months
The good news?. Security measures at OVH are in place to keep their system safe. The bad news. I'm not sure how I will circumvent those :). Anyway, it's a fun ride and I'll keep posting my findings as we progress in those load tests!.
0
0
0
@david_negrier
David Négrier
2 months
BOOM! This is the sound of a livekit server that crashes! Or is it? . After thorough investigation, it turns out that the #OVH anti-hack system was triggered and #OVH simply turned down our Livekit node because they thought it was under attack (it was somehow 😀).
1
0
0
@david_negrier
David Négrier
2 months
The number of users is piling up to about 70 simultaneous users and at that time. .
1
0
0
@david_negrier
David Négrier
2 months
This saves a lot of bandwidth and allows.@livekit.to scale greatly. So. in practice, what does my first load test looks like?
Tweet media one
1
0
0
@david_negrier
David Négrier
2 months
They most probably have one stream taking most of the page and maybe 5-10 smaller videos at the top. The beauty of Livekit is that it automatically detects if a video is visible or not on your screen, and will adapt the video stream downloaded automatically.
1
0
0