• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Why does my file server performance suck (windows) ?

venm11

2[H]4U
Joined
Oct 6, 2004
Messages
2,236
In the past I've used Linux for file servers, after noticing that they tend to give better raw file transfer performance. Keeping up with all the administration tasks got to be a bit much, so I tried switching to Windows 2003 last year, but am finding the performance to be quite sucky.

Why is this? Are there known FS performance "characteristics" on windows, perhaps something that can be changed for a small number of clients?

Currently, I'm running the built-in CIFS, filezilla ftp server, and TVersity DLNA server. All of them deliver far less performance than I'm expecting from this system. CIFS is subjectively "slow". FTP pushes about 10MB/s. TVersity cannot keep up on some 720p content and cannot do 1080p at all regardless of client or network type (wifi / GbE) and there's no transcoding going on.

This computer is an old P4 (2.8 HT) with seagate 1.5/2gb drives (non-raid) that each move about 75MB/s according to benchmarks. CPU utilization always low. Network is all-gigabit, and this PC uses the onboard CSA intel GbE controller.
 
In the past I've used Linux for file servers, after noticing that they tend to give better raw file transfer performance. Keeping up with all the administration tasks got to be a bit much, so I tried switching to Windows 2003 last year, but am finding the performance to be quite sucky.

Why is this? Are there known FS performance "characteristics" on windows, perhaps something that can be changed for a small number of clients?

Currently, I'm running the built-in CIFS, filezilla ftp server, and TVersity DLNA server. All of them deliver far less performance than I'm expecting from this system. CIFS is subjectively "slow". FTP pushes about 10MB/s. TVersity cannot keep up on some 720p content and cannot do 1080p at all regardless of client or network type (wifi / GbE) and there's no transcoding going on.

This computer is an old P4 (2.8 HT) with seagate 1.5/2gb drives (non-raid) that each move about 75MB/s according to benchmarks. CPU utilization always low. Network is all-gigabit, and this PC uses the onboard CSA intel GbE controller.

Well, in this day and age a P4 2.8 (is your model 1 533 FSB or 800 FSB model?) is pretty much good as a space heater. You said you have upgraded to windows server 2003. How much RAM is in this box? What patch level? Motherboard, BIOS, chipset?
 
Although I'm ready to upgrade, I'm running server 2008 on a p4 3.0 ghz cpu with ht. The storage drive consists of 4 1.5TB seagates in raid 5 on a Highpoint rocketraid 1820a. I use it for media streaming including mp3, multichannel flac, and video, including hd quality rips, as well as full blu ray iso streaming, all over your standard gigabit connection. I highly doubt you have a cpu bottleneck. The 10MB/s sounds like, for whatever reason, you connection is being limited to 100mbps. I'd investigate into that.
 
Yeah I'd say it's running at 100mbps, unless there is something very wrong with one of the hard drives involved. Even the crappiest GbE controllers I've seen still do at least 30MB a second. It's not a an underpowered server problem though, you have plenty of power there to handle the task at hand. That said, even 100mbps should be ample for 1080p at full BluRay rates, which max out at about 40mbps and average considerably lower than that.
 
Every device on the network appears to be running at 1000mbit speed. The computers all use intel or broadcom GbE NICs, and the router and switch are both netgear (WNR3500 and GS105). Most of the wires I crimped myself, but all those links are up at 1000mbit.

That 10MB/s figure I'm quoting is average (maybe a bit optimistic) as it fluctuates quite a bit. I've always assumed its due to other sporadic traffic on the line going to internet which is 6mbit/s. But, it could well be something else.

Is there a windows utility that will do a raw bandwidth test between two machines (eg., two windows machines)? Is it possible to show the ethernet error rate, in case there's interference?
 
Last edited:
Iperf can do raw network testing between two machines, look at Jperf for a gui version.
 
iperf looks like a unix tool. I haven't downloaded jperf, but I'm guessing it's a wrapper for iperf? any equivalent windows tools?
 
How are you getting your 10MB/s figure? Are you copying many small files or a single really large file?

Many small files will yeild a lot lower overall speed than a very large file.

Is your file server, the computer(s), and the switch/router you are testing to/from running the same exact packet size? If you are running different packet sizes it can kill performace, especially if you are trying to push "jumbo packets" to a machine that doesn't accept them.

Do you have your AV set to scan network/remote files? If so, that can slow things down quite a bit as well. It would be better to have an AV on the file server and have an AV on your other system(s) and have network file scanning disabled.
 
no jumbo packets, speed measured with ftp on large files, no av scans.
 
ipref will tell you immediately if you have an issue. You may have to adjust the packet size to see what your system can do.

The networking stack on Server 2008 is significantly better than the one in Server 2003. You'll see an immediate performance increase using Server 2008. That said, run ipref first and see what you get. An OS change is not going to fix physical issues.


Run a crossover cable between two machines, rerun ipref.

Add the GS105 in between, rerun Ipref

Now add the router, rerun Ipref.

Do that and you'll figure out where the issue is.
 
Ok, so iperf showed a maximum of 477mb/s. I'd have expected a bit higher for a pure network test. One thing I can't figure out is how to get the error rate out of it.

But even if that's the max through all this gear, that should still translate into 40MB/s or so of actual data, and that's well under the data rates for the hard drives involved.

I do have a suspicion that some of the network and drive controllers maybe bottlenecked by a bus (like PCI), and they may be sharing that bus. But 10MB/s is still half what you'd expect even in that scenario.
 
You'll also have to go into the driver options and try toggling settings like TCP/IP offload.

Sometimes it helps, sometimes it hurts. Depends in your configuration.

Make sure your drivers are up to date too.

400mbps is a little low for gigabit. You should be seeing near 800mbps using ipref if everything is working uncorked at gigabit speeds.

FYI, At 400mbps you should be seeing 50MBps
 
I too am having issues with a file server but mine is running FreeNAS. I am new to using iperf, but found that by default the iperf server sets a tcp window size to 64K and the client seemed to default to 56K. I was getting around 350mb/s prior to changing my TCP Window size from 56K to 64K on the client. After that change I got upwards of 850-900mb/s. I will admit that I am not sure what the TCP Window size is really all about and what I could change to tweak my setup to take advantage of this, but you might want to try playing with that setting.
 
I haven't tried nexenta out, but unless it just has built-in options for tweaking everything then I'm not so sure it will help me. I'm no guru when it comes to a *nix box but I do know my way around the *nix world fairly well. I just need to spend some time and research what kind of tweaking can be done to fix my situation.
 
Back
Top