JoeKillaMofo
n00b
- Joined
- May 12, 2011
- Messages
- 11
Hey all!
So I have a file server performance issue that I have been banging my head against a wall for at least a few months now.
The clients (windows 7) mount the server (centos 5.6) via Samba for the most part and stream HD file sequences. Doing tests on just the server itself, copying files to the array from a ramdisk or vice versa and it performs admirably (sequential copies r kewl). But when I go to copy those files out via the network I get an insane drop in performance, by insane I mean from hundreds of MBps down to maybe 40-60MBps.
These clients, and the server, are 10Gbit btw.
Now before you tell me to RTFM on the NIC, I can serve out said files at almost 200MBps from a Ramdisk on the server (over Samba). So the problem has been narrowed down to not being the Raid card or the FS, and not being the NIC card (or tuning parameters). It looks to be the linux kernel itself... How that is possible I have no clue, BUT this has been replicated on 5.6 and 6.2 (both CentOS).
I am thinking there is something I am doing wrong maybe on the FS side, that I should be building the FS itself in such a way as to optimize it for serving out LAN traffic, maybe the chunks of data coming off the disks are needing excessive fragmentation to be brought down to a level acceptable for the NIC. A friend of mine suggested that maybe the RAM on the raid controller may be double penalizing somehow (fragmenting data going into the ram (the files are large) but again local performance isn't terrible (500MBps+). Is there some switch I am missing? I have done all the TCP tuning/optimization for large files, set a very large read-ahead (16MB) in the kernel and changed the scheduler to "noop" to offload the data handling to the raid card itself, etc. Nothing I have found allows me to take the full performance I get from the raid and slam it through the NIC's out on to the network, nothing!
The raid card is an Areca 1880x btw. The NIC is a Myricom 10gbe. Backplane and disk chassis is Supermicro and drives are 1TB sata 7200 seagate.
Thanks for any help!
JKM
So I have a file server performance issue that I have been banging my head against a wall for at least a few months now.
The clients (windows 7) mount the server (centos 5.6) via Samba for the most part and stream HD file sequences. Doing tests on just the server itself, copying files to the array from a ramdisk or vice versa and it performs admirably (sequential copies r kewl). But when I go to copy those files out via the network I get an insane drop in performance, by insane I mean from hundreds of MBps down to maybe 40-60MBps.
These clients, and the server, are 10Gbit btw.
Now before you tell me to RTFM on the NIC, I can serve out said files at almost 200MBps from a Ramdisk on the server (over Samba). So the problem has been narrowed down to not being the Raid card or the FS, and not being the NIC card (or tuning parameters). It looks to be the linux kernel itself... How that is possible I have no clue, BUT this has been replicated on 5.6 and 6.2 (both CentOS).
I am thinking there is something I am doing wrong maybe on the FS side, that I should be building the FS itself in such a way as to optimize it for serving out LAN traffic, maybe the chunks of data coming off the disks are needing excessive fragmentation to be brought down to a level acceptable for the NIC. A friend of mine suggested that maybe the RAM on the raid controller may be double penalizing somehow (fragmenting data going into the ram (the files are large) but again local performance isn't terrible (500MBps+). Is there some switch I am missing? I have done all the TCP tuning/optimization for large files, set a very large read-ahead (16MB) in the kernel and changed the scheduler to "noop" to offload the data handling to the raid card itself, etc. Nothing I have found allows me to take the full performance I get from the raid and slam it through the NIC's out on to the network, nothing!
The raid card is an Areca 1880x btw. The NIC is a Myricom 10gbe. Backplane and disk chassis is Supermicro and drives are 1TB sata 7200 seagate.
Thanks for any help!
JKM