MTU determines how big a packet can be before it gets sent over a network. Higher MTU doesn't necessarily mean better download speeds. You need the appropriate bandwidth to handle a specific MTU, otherwise you'll end up clogging the line (MTU is set bigger than bandwidth allowed) or receive all the required packets too slowly (MTU is set a lot smaller than the efficient trough of latency), both which increase latency and approximate time to download something. Also, data corruption could make larger packet size more prone to having a corrupted bit, which in turn forces remaking said packet. And the larger the size of the packet, the more time it takes to remake.
This is why a lot of people set MTU to low numbers when playing online video games. There's not a lot of data to be transferred to and from the server, but the demand for low lag is high. In that situation, a MTU value lower than MTU is more ideal, as there is less focus on building up packet size (for better transfer of larger download size over a frame of time when fitted into the bandwidth size correctly) and more focus on sending the packets as soon as possible (for lower latency/ping/lag).
You could set MTU at default 1500 (largest size allowed over Ethernet cables), but you could try to calculate the best MTU number for your bandwidth instead of maximum efficiency. Of course, the best way to take advantage of MTU is to have .bat files to set your MTU to high for file downloads, to low for online gaming, etc. Just have to restart the network card or computer every time you do this though.
As for Nagle Algorithm, it doesn't matter much, because it's designed for
weak bandwidth like dial-up (which I'm assuming you don't have) or networks that rely more on packet stability than latency. I find it better to have it off anyway if you're playing online games frequently. The only time it should matter is if you're stuck on a dial-up connection.
The reason why, is that Nagle forces Person A to send two packets to Person B, after receiving two packets from Person B. This is because Nagle Algorithm links with
TCP delayed acknowledgements, causing noticeable delays in packet transferring. This is more useful for slower, less stable connections. For bandwidth the majority of us use today, it's generally more efficient to send one packet for every one packet received instead. This one packet process is far more useful for connections that are small but require frequent transferring, such as playing video games online (It's why Nagle Algorithm is disabled for nearly every multiplayer game today).