My home server setup is the following:
- MSI KT4 Ultra
- Athlon xp 2200+
- 2x 256 MB pc 2100 ddr ram
- 40 Gb bootdisk as master on the primary IDE controller (onboard)
- 250 Gb data disk as master on the secondary IDE controller (onboard)
- 3Ware Escalade 7506 in the 1st PCI slot (under the AGP card) with 4x Western Digital WD2000JB in hardware RAID5, one array of 600 GB. Write cache is enabled in the controllers bios. There is one Ext3 partition present on the raid array.
- Intel Pro/1000 GT Desktop NIC (2nd PCI slot)
- On-board audio is disabled, so I can "reserve" the pci bus for only the raid controller and the gigabit nic.
The mentioned clients are running Windows XP SP2
My OS is Fedora Core 3. I'm using this server voor Samba (Windows filesharing), FTP, HTTP (Apache), Msql and PHP. Gnome is installed, so I don't have to work in console mode.
The drivers for the 3Ware raid controller are present in Fedora Core 3, I didn't install something special, except the 3DM management webbased tools.
Webmin is installed to configure the server remotely within my network.
The main problem is a very poor write performance to the RAID5 array. Speed is peaking at about 40 MB/s, but average is laying about half the maximum.
I know that this controller isn't a good performer for writing in RAID5, but the problem is more then only a low transfer speed...
When I copy a file localy from the bootdisk to the raid array, I see the progress bar stopping regulary for some seconds.
When I upload a file (for example a DVD iso file) from my client (with gigabit nic interface), I get this high peak speeds of 40 MB/s too, but frequently speed drops to zero, in worst case for about 10 seconds, where after the transfer continues at very varying speeds (between 0 KB/s and about 35 MB/s).
Because of this reason, the average speed is very lower then the maximum transfer speed.
At that moment, it looks like the server hangs for a moment. A client accessing the webserver of files on that machine has no access at that given moment.
For example, client 1 is playing a MPEG or AVI movie with a bitrate of +- 700 KByte/s from the server.
At the same moment, client 2 with a gigabit nic starts uploading a (big) file to the raid array on the Linux server. The movie stops playing for some moments on client 1, the upload transfer from client 1 stops regularly for some seconds.
Neither the webserver is accessable on that given moment of transferring the big file to the raid array.
Also is visible during the transfer: all ram memory is used. It looks like the controller uses the ram memory as cache, when the ram is full, it has to write back to the array, wait with transferring when this is finished (when the data is written to the arra, the transfer continues.
This problem situation doesn't happen when uploading a file to a separate disk in the Linux server. Upload transfer speed is doing wel (about 30 MB/s, no peaks of 40), no transfer drops, other client are in the same time able to play a movie from the server or browse the webserver.
Other noticed problems with this raid 5 array:
- deleting files goes very slow
- after a ftp transfer from a client to the raid array on the server, it take about 5 seconds or longer to refresh the directories contents.
I don't experience problems when downloading files to a client from the server.
Things I've tried until now:
- another motherboard with a Sis chipset instead of the VIA chipset.
- changing the card from pci slot
- enable or disable write cache on the controllers bios
What I also tried:
Installing Windows XP on another bootdisk.
Installing the nic en raid controller cards drivers, installed Bullet Proof ftp server.
Then I formatted the raid 5 array as NTFS, I found also something helpfully to boost the windows write performance (adding a register entry).
And it did work.
A couple of times, I transfered a 4 Gb ISO file from the boot-disk to the raid 5 array, and the transfer speed is between 30 MB/s and 40 MB/s. Via ftp over the network, transfer speeds of 30 MB/s are attainable, but no peaks of 40 MB/s.
Why all those transfer problems under Linux?
thx a lot