Transcription
Alrighty guys, welcome to the video. So today, what I wanted to go over is an extremely important, um, network tweak that you guys are going to want to actually take a look at for yourselves. Because I was doing a lot of the research about some networking tweaks, and I stumbled across a very interesting specific network tweak, which is known as interrupt moderation.
And at first, when I was researching this, there was a lot of correlation between disabling or enabling your interrupt moderation. Now, one thing that I know about interrupts is that interrupts basically are what happens when the system essentially becomes interrupted by a certain device in your system. And when it interrupts, it basically says that I need to do this first, so put everything to the side. So it'll put aside just about everything that's going on in your system.
Now, the thing about this is that interrupts are extremely important for your latency. Because when you have interrupts that take too long, then that means that there's essentially a lot of waiting happening in the system. So, a lot of the time, if you run, for example, like LatencyMon, you'll notice that if your latency on values are really, really high, you'll notice that you'll hear things like popping audio, you'll notice that you'll hear things like, you know, for example, where you'll feel a delay with your mouse. Just all sorts of things will start to go wrong, especially if you like check out like the CPU tab or the just the main stats page. And so that's the main thing of why interrupts matter a ton.
Now, with networking, I was thinking, well, I don't necessarily know the exact stats about how interrupt moderation works, but I know one thing that I can do is I can open up LatencyMon. And what I can do is I can run it at the same time that I'm also using an internet speed test, just the simple one that Google provides. And so I basically ran the test, and at the same time, I went into the CPU tab, and I enabled the internet speed test in my browser. And so what I found is that this is the actual value. So I'll show you where it is in Device Manager. So if you go into here, and then you can just look at your regular one right here, for example, it's going to be right here. It's going to be interrupt moderation rate.
Now, I ran the test and I wanted to see what the interrupt moderation values were going to be, just for like, let's say, low interrupt moderation. So that basically means that that's the lowest essentially excessiveness of an interrupt moderation. So like, let's say you're not completely disabling it, this would be the slightly slight amount of interrupt moderation. But even within just the the same time frame of 15 seconds, because that's as long as the actual speed test takes, we have effectively cut the amount of interrupts by over 10 times. So I have a million interrupts in 15 seconds, and I have 100,000 interrupts in, you know, the same time with low interrupt moderation. Now, this can go all the way up to extreme.
To give you guys an example of what extreme does, it cuts the actual amount down to like about a thousand or like a hundred. You will almost never see the actual like interrupts happening on the system because what it does is it tries to essentially defer chunks of interrupts together, and then once it finally finds that it's a big enough size, it's going to combine them all together. And that's essentially what interrupt moderation does. It's essentially compresses. It's really, it's basically compression is the best way to describe it. It's a really strong compression too. Even on a moderate amount, like a very small amount, the compression is high. But our DPC latency isn't any different, nor is our interrupt latency. It's the same. And so is everything here when we talk about pinging to going to the same servers, we get the same bandwidth, we get the same everything.
So then why is this enabled and why is this something that I'm bringing up? Well, because I ended up discovering an actually fascinating part of this. Because when I looked at my Ethernet adapter, I noticed the interrupt moderation was enabled by default, which is interesting because I was wondering why it was. And so I went and ran tests. And what I did was the Cloudflare latency test, which basically measures a bunch of different things. It measures the latency for different sizes of packets, different packets themselves, upload, download, jitter, all of that. And so I'm, I'm going to show you guys a bunch of different statistics that are going to give you guys an idea as to how important this is to actually, if you're going to optimize your system and your networking, you're going to want to tweak this first.
So I went into the interrupt moderation, but then this is the first result. So this is with interrupt moderation turned off. And then I'm going to bring in another one. And so that one's going to be the, for example, we'll bring in the extreme value. So this is what extreme interrupt moderation will do. And so here we go, I'll bring it up. And let's just focus on the first part, which is the latency, because that's the main thing that really differentiates why this matters. So if we go and look at the latency values, we'll see that on this side, we have a latency value of 9 to 10 milliseconds, 15 milliseconds of download, and then about 22 milliseconds of upload, 7 milliseconds of download, and then 10 milliseconds of jitter. So that's essentially the values for those. And then we have another estimate values over here.
Well, turning it on to extreme absolutely destroys our latency. It makes it absolutely horrendous. If we look at just the upload, it is nearly triple. And if you look at a bunch of the other values too, like just the raw latency numbers, we're getting literally cut in half by just disabling this. And so if you actually look at the values that it was reporting, you'll also see that we get an average ratings of good, average, and good on those scores. But on here, we're getting values of great across the board. So disabling this can actually be something that can be really useful to you guys if you have it enabled.
Now, at first, I didn't believe it. And so I went and re-ran the test because I didn't believe that I could cut my latency in half just by disabling this. So I re-ran it again, and then here's the other results as well. And a consistently, this is an actually extremely consistent result that I discovered with this. So I'm going to pull up the second one here as well. And then again, we're going to focus on the latency first, because that's the main thing. The bandwidth is destroyed as well, so don't worry about that part. That that part's already taken well care of by interrupt moderation. But for the latency values, if we actually look at it here, we have a value reporting of 10 milliseconds, and then we get that same result, 22 milliseconds. We get a large decrease in our latency milliseconds for our upload and our download. This one's still cut in half even after running it again. And our jitter is slightly higher, but that's almost nothing in comparison to how much we're cutting in half with all the other values.
And then when we actually look at the other values down here, so like, let's look at the unloaded latencies, which is a different kind of measurement of latency, we'll see that again, our ranges are dramatically tighter. This is at 10, and this is at 20. So that's again, the reason why is because if we look at the values here, our our ranges are much much better, and they're tighter too. So for here, this one is sitting all the way past way past 20 and starting to bridge into 40. This one is at 10, sitting on average of 15, bridging over into maybe 20. And if we look at the upload, obviously that one we already knew was going to be trash. So this is, this is already touching a hundred.
So I ran this a couple more times for each. And so the same result kept coming back. And so then I thought, okay, well, if it's enabled, extreme is extreme, so that that kind of makes sense that you would see some sort of networking deficiency, we'll say, or some sort of, uh, manipulation of the networking. We get a lot of bandwidth cut and cut down, and our latency is dramatically dramatically increased. Well, I decided, how do we test medium? Because that's the perfect, that's what it's going to be anyway. Medium is what most people probably have enabled anyway. And so let's bring out those off results again, and then I'm going to bring out the medium results, and I'm going to show you guys another few of them as well.
So let's go over here, drag this one across. And then what we're going to see is the main thing that happens when you decide to change from medium to off. We'll notice that if we look at the latency values, they're roughly similar. So they're actually not too bad. They're pretty close to each other. So we've got 9.5, and then we've got 15, and then we've got 22, right? So we're very close to what we actually have. All right, I did find consistently though, that the interrupt moderation of off did get below 10 milliseconds. So that's something important to note, just a fun fact. But you know, that's not necessarily the most important thing about setting it to medium.
So then I went and checked over here on the latency measurements, and again, it's roughly the same. They're about sticking in the same latency measurements of around 10 to 20. This one's a little bit worse, but it's still pretty close. It's not too bad, right? We're still pretty close in that range. And then obviously, our upload is still pretty bad, a little bit lower, obviously, we're in the 70s, this is touching the 80s, and this one we're going into like the sub 15. So pretty similar, right?
Okay, now let's do that one more time. So this is medium turned on as well. So here we go. This is the next result. So this is with medium enabled as well, again. Now let's test that result again. So if we go over to here, and then we test that latency value again, a little bit higher latency, but again, not much. It's still mostly in line, it's not that bad. So if we go and examine in here, we get 10 milliseconds, then we get 9.5, we get roughly slightly higher jitter, but not much. And again, slightly lower on this side. So again, the latency is about the same, which is cool, because that means that we can still have a little bit of interrupt moderation if we need it. Because again, that's a million interrupts in 15 seconds. So having some interrupt moderation is going to be really nice for some people.
But the main thing that changes when you change the interrupt moderation to medium, which is a fairly expected value for most people, is your bandwidth. It gets crushed. Your download tests are terrible. So let me show you this with interrupt moderation off. What we can see is that our values right here are sitting in the roughly around the 50s. And then if we go and look over here, our one megabyte download test. So this is 100 kilobytes, this is a very small chunk size, so this is not going to be very difficult for anything to handle, right? But then when we start to move up into the higher download tests, right, where like the one megabyte, the 10 megabyte, the 20 megabyte, you know, that's the larger size, we'll notice that our values are destroyed. We've lost two almost 200 megabytes of like download bandwidth, and then we've also lost another, let's say 300 here. So again, interrupt moderation seems to be just cutting our network into pieces. It's destroying it.
Over here, we have almost 900,000, and then over here we have almost 500,000, or sorry, at 500, not 900,000, but 900, and then 500, and then the 100 megabyte test. Yeah, that one's gone. That one's completely gone. This one even touching 600, this one's well up into that 1000. So it keeps your bandwidth consistency. That's the main thing.
So let me run it again. So I'll pull up two different, I'll pull up two different sets here. So let's close out of this, close out of this, and then I'll pull up the, uh, let's do medium three. So I ran three tests for each because I wanted to make sure that this was not something that I was misreporting, because I didn't, I couldn't believe that this was such a dramatic change in values. And so I went and ran this again. So here we go. This is the off number two. And now we're going to do is we're going to check it one more time. So again, but we'll notice this again, the latency, very similar. That's nice to know. So we can, if you need to have interrupt moderation on for whatever reason, like let's say you can't handle a lot of interrupts on your system, because interrupts are going to be taxing, that's okay, because again, it's still at least getting roughly similar latency values.
But again, your bandwidth, when we go over to here, is the cut to pieces. We have, if we check over here, so if we go and check into the here, obviously the 100 kilobyte size is very, very small, so it's not going to be difficult for anything to handle doing that. And then if we go into the one megabyte tests, again, we're looking obviously this one's actually slightly better, but you'll notice that the range is a lot wider with it turned on. So we have 200, and this one's sitting at around 300. And then once we finally get up into those larger download test sizes, that's when it really starts to come out. So we've got a touching of 600 and roughly 500 here. This one's sitting around that same range, give or take. And then but this one's touching 400, this one's barely even touching 500 at all. Then we go in that 25, and then it's gone. It's basically completely undetected, like it's basically on a completely different plane of existence of interrupt moderation.
So yeah, guys, hopefully you enjoyed this video. If you're wondering how to disable it, all you do is you just go into Device Manager. You right-click on your adapter or your driver or whatever it is, and you just want to make sure that this is disabled. So what I do to specifically make sure that it's disabled, I go in here and I click the value of off, and then I click OK. And then I go back into there, and then I disable it one more time. So I'll go back into here and I'll open it up one more time, and then I'll go back and I'll put properties, and I'll put here, and I'll do the interrupt moderation, and then I'll set this one to disabled, and then hit OK. Because I did have a few results, only like once or twice, where I could tell that the interrupt moderation was still working, because when I switched it back to extreme, yeah, the latency was in the wrong reporting values. And then when I pressed OK one more time, it went back to the same thing.
So yeah, guys, hopefully you enjoyed this video. This is something I found so interesting because it was consistently repeatable where regardless of whatever is happening, interrupt moderation in some way just messes with your system's networking by a lot. Whether it's your latency, whether it's your bandwidth, it doesn't matter. It seems to just kind of break everything apart because it's not just, you know, deferring the actual amount of interrupts, it seems to be affecting the bandwidth as well. And so I can't recommend to keep this enabled, even if it does have some benefits, because you're trading so much, especially if you have anything above medium. Anything above medium seems to cause a ton of latency. And mine was set on high as default. And I think the reason why it was set on high was because I have a gigabit, so I have, I get a thousand megabytes a second. So I think the reason why it turns it up to high is because it essentially is trying to think, okay, well, there's a lot of data coming through here, so let's compress it as much as we can so this user doesn't have to worry about all these interrupts.
But again, I, I've designed my system with the interrupt affinity policy configuration tool, which is this neat little tool right here, where I was able to assign my Ethernet driver to whatever I wanted it to be on the interrupt core. So I know how to reduce my interrupt latency, so that wasn't a problem. And so this was an amazing thing to discover because it means that I can still modify my network values and still get amazing results. And so hopefully you guys enjoyed this video. Hopefully you guys found it informative and educating and interesting, because I certainly did. And yeah, guys, please subscribe. Definitely helps the channel out. It definitely means a lot. It shows that you guys are interested in this stuff, that you guys are interested in learning and discovering lots of fun stuff out there. Anyway, guys, I do plan on making the next larger compilation video, so more of like an ultimate networking guide soon. This was just something I found while testing and experimenting. So hopefully you guys enjoyed this video. Please like and subscribe. My name is Sevaterix, and I'm out.