For games, the interaction model is that opening a new game closes the previously running one. This is not how other apps work; they remain in the background indefinitely until you explicitly close them. And it's gets worse than that. If your PS4 is configured to suspend any running apps when put to rest mode, you can seemingly power on the machine into a clean state, and still have a hidden background app that's causing the OS to limit your PSN download speeds.
This might explain some of the superstitions about this on the Internet. There are people who swear that putting the machine to rest mode helps with speeds, others who say it does nothing. Or how after every firmware update people will report increased download speeds. Odds are that nothing actually changed in the firmware; it's just that those people had done their first full reboot in a while, and finally had a system without a background app running.
Those were the facts as I see them. Unfortunately this raises some new questions, which can't be answered experimentally. With no facts, there's no option except to speculate wildly! Yes, it must be intentional. It's not any kind of subtle operating system level behavior; it's most likely the PS4 UI explicitly manipulating the socket receive buffers. But why? I think the idea here must be to not allow the network traffic of background downloads to take resources away from the foreground use of the PS4.
For example if I'm playing an online shooter, it makes sense to harshly limit the background download speeds to make sure the game is getting ping times that are both low and predictable. So there's at least some point in that 7kB receive window limit in some circumstances.
It's harder to see what the point of the kB receive window limit for running any app is. The only thing I can think of is that they're afraid that multiple simultaneous downloads, e. But even that seems like a stretch. There's an alternate theory that this is due to some non-network resource constraints e.
CPU, memory, disk. I don't think that works. If the CPU or disk were the constraint, just having the appropriate priorities in place would automatically take care of this. If the download process gets starved of CPU or disk bandwidth due to a low priority, the receive buffer would fill up and the receive window would scale down dynamically, exactly when needed.
Especially in a console UI, it's a totally reasonable expectation that the foreground application gets priority. If I've got the download progress bar in the foreground, the system had damn well give that download priority. Not some application that was started a month ago, and hasn't been used since.
Applying these limits in rest mode with suspended apps is beyond insane. Second, these limits get applied per-connection. So if you've got a single download going, it'll get limited to kB of receive window. If you've got five downloads, they'll all get kB, for a total of kB.
That means the efficiency of the "make sure downloads don't clog the network" policy depends purely on how many downloads are active. That's rubbish.
This is all controlled on the application level, and the application knows how many downloads are active. If there really were an optimal static receive window X, it should just be split evenly across all the downloads. Third, the core idea of applying a static receive window as a means of fighting bufferbloat is just fundamentally broken.
Using the receive window as the rate limiting mechanism just means that the actual transfer rate will depend on the RTT this is why a local proxy helps. For this kind of thing to work well, you can't have the rate limit depend on the RTT.
You also can't just have somebody come up with a number once, and apply that limit to everyone. The limit needs to depend on the actual network conditions. There are ways to detect how congested the downlink is in the client-side TCP stack. The proper fix would be to implement them, and adjust the receive window of low-priority background downloads if and only if congestion becomes an issue.
That would actually be a pretty valuable feature for this kind of appliance. But I can kind of forgive this one; it's not an off the shelf feature, and maybe Sony doesn't employ any TCP kernel hackers. Fourth, whatever method is being used to decide on whether a game is network-latency sensitive is broken.
It's absurd that a demo of a single-player game idling in the initial title screen would cause the download speeds to be totally crippled. This really should be limited to actual multiplayer titles, and ideally just to periods where someone is actually playing the game online.
Just having the game running should not be enough. I have no idea. Sony must know that the PSN download speeds have been a butt of jokes for years. It's probably the biggest complaint people have with the system. So it's hard to believe that nobody was ever given the task of figuring out why it's slow. And this is not rocket science; anyone bothering to look into it would find these problems in a day.
But it seems equally impossible that they know of the cause, but decided not to apply any of the the trivial fixes to it. Hell, it wouldn't even need to be a proper technical fix. It could just be a piece of text saying that downloads will work faster with all other apps closed. So while it's possible to speculate in an informed manner about other things, this particular question will remain as an open mystery. Big companies don't always get things done very efficiently, eh? So idle that I hadn't even logged in, the app was in the login screen.
The CDN that was being used from to was using a delay-based congestion control algorithm, and reacting to the extra latency by reducing the amount of data sent. The CDN used earlier in the connection was using a packet-loss based congestion control algorithm, and did not slow down despite seeing the latency change in exactly the same pattern. If you liked this and want to be notified of new posts, follow me on Twitter.
Very interesting post! Thank you for doing this research. Have a feeling this will be posted in forum debates a lot. PS2 can not run any things in the background but I'm just curious about how it's networking stack works, being an older system. Also has video apps like youtube, twitch and Netflix. Large companies don't really have mechanisms in place for feedback like this. Sure, one could send it to customer support or something like that. But the report will never reach engineering. The best one can hope is that somebody is keeping statistics on exactly the subjects people complain about, and once a quarter somebody looks at those statistics to decide what to prioritize.
And also, I think it's basically guaranteed that somebody at Sony is already aware of all the details in this post. Now if we could only find out why the PS4 "randomly" goes "LAN cable not connected" even though it damn well isn't.
Very interesting read. Could you share more detail on how you went about gathering the data used in the graphs? I took a packet capture on the next hop after the PS4. This packet capture was then analyzed with a hacky perl script which just picked out the parts of the TCP header I wanted, and aggregated them by-connection at a 10s granularity.
I doubt the code going to be useful for anyone, but I do like it as an illustration of just how simple this kind of ad hoc analysis can be even without explicit tool support. That's a good guess! Some sort of new failure of exactly that code is what I was hoping to find.
But unfortunately it's not the case. All of the connections were using TCP timestamps, but the autoscaling was not in effect at all despite that. They're clearly manually setting the receive buffer size with setsockopt , and that disables the autoscaling.
I didn't check whether non-PSN connections had autoscaling enabled or not. Thanks for this very interesting blog post, BTW..
Have been annoyed by this particular set of issues for a very long time. Strangely, I never thought that the software could be such an egregiously bad actor in this case. I think a more egregious issue is why the PS4 is so much slower over WiFi than over Ethernet - would it really just be congestion at the AP?
But I think that ought to be demonstrably false when I can download at high speeds on a laptop that said, I'm most likely not using any of the same sources as the PS4. I honestly think that the set of devices released by Sony around the same time as the PS4 suffer similar problems - Currently, our TV cannot "find internet" over our WiFi, and that's when it manages to find and connect to our WiFi in the first place!
If they wanted to limit the rate of downloads it would make a lot more sense to set the allowed rate to e. Any thoughts on why Wifi speeds are just so slow? Is it a similar issue where the software caps speeds of downloads if the system sees it's on a Wifi connection? You're on the right track, except that it needs to go a step further. The allowed rate should not be static, like 1Mbps. It should actually depend on the network conditions.
The core goal of making sure background downloads don't interfere with games or streaming is reasonable. It's just that it's implemented in the wrong way, and triggered even when not necessary. If I understand correctly, I would not be able to notice these issues at all with my 5 Mbps adsl. Welcome to Germany. Seems like a "feature" that only surfaced with the advent of high Speed internet. Interesting to have some figures on this matter although I thought everyone was aware of the fact that apps being open at all limited the download speed.
That said I have apps set to be suspended in rest mode but have measured how fast the same download took Both with ps4 on and in game and in rest mode with game suspended and even accounting for changes in Internet bandwidth that occurred in that time period the download when in rest mode was almost twice as fast.
Something not explained by changes in Internet bandwidth. Out of interest I don't think you said we're you using normal Ps4 or ps4 pro? As the pro in theory has faster clocks peed on cpu which might effect how games using cpu effect any download limiting in those cases it also has the newer WiFi chipset I believe. Thanks for that, community. Slow download speed can be frustrating and it may be worth it to upgrade to a plan with higher speeds, especially if your household has multiple people and devices.
Explore your options and see if there are packages available that can support a higher volume of data. The more people and devices you have connected to your internet, the slower the connection can be. When downloading, try disconnecting any other devices, like smart TVs , iPads, and phones for the time being. This may increase your internet and download speed significantly. Similarly, you should disable any applications on your device when downloading.
The applications you have running on your computer can take up a good chunk of your bandwidth, which can contribute to slower speeds. For example, video streaming services like Netflix use a heavy amount of bandwidth. Temporarily disable the apps and see if that helps. To make it easier, try downloading one file at a time.
Though this may seem counterintuitive, it can end up saving time. A router not only allows you to connect multiple devices, but it also acts as an antenna to extend the range of the Wi-Fi throughout your home.
The modem you have is typically provided by your service provider. Sometimes the fix can be as simple as restarting your modem. If your download speed has been significantly slow and you saw no change in speed after restarting, it may be time for a new modem.
If your speed increases when you are directly next to the modem, this is a good sign, in which case your router may be the issue. As mentioned, the router allows you to extend your connectivity range. If your device is too far away from the router, this could be impacting your download speed.
The location of your router can have a major impact on your download speed as well. Be mindful of where you are placing your router as some areas in your home may not have a strong connectivity signal. If you have a large house, consider getting Wi-Fi extenders that can boost the range and increase your internet speed.
Avoid putting your router in basements, bathrooms, cabinets, on the floor, or near microwaves and other home appliances. Your router should be in a central location so the connection can reach throughout the entire home. Sometimes Wi-Fi can be tricky, in which case connecting to an Ethernet cable can quickly increase your download speed. To do this, connect the Ethernet from your modem to your device. If the cable is too long or if it is outdated, try upgrading to a higher-quality, shorter cable.
Sometimes this slight change can make all the difference. Viruses on your device can cause a multitude of issues. These viruses can run in the background, using your internet and increasing your bandwidth usage, which results in slow download speed.
And how are you testing? Sorry for the incomplete screen grab. I now am attaching one with uncorrectables, which tend to be 7 to 9 times higher than correctables. You questions led me to take additional troubleshooting steps. I found that the connection between the Belkin router and Netgear CM is a bottleneck. The upload speed stays at Mbps.
However, the Zoom video is still blurry and choppy even when the computer is directly connected to the cable modem. The other side has no problem seeing me though. Thank you for the information! I do not have any splitters, attenuators, or amplifiers.
The cable modem is directly connected to the outlet. When I called Comcast a few days ago, they said that they could not see any problem by remote diagnosis and asked me to contact Netgear instead. They probably did not want to consider sending some guy over to check the line signal as the first resort.
I also have the same problem of choppy video during Zoom meetings using other devices, such as iPads and iPhones. Also Skype meetings were not much better. Figuring that a good remote working experience requires some investment anyway, I have placed an order for a new modem CM and a new router. We will see what happens with the new hardware. We are investigating this as the highest priority and will provide updates at Status. Join Now Log In Help.
0コメント