Hard disk bottle neck
I have this problem for years but couldn't find a way to solve it.
I have a file server handling large files from 1MByte to 1GByte.
DELL PowerEdge 1850
2GB RAM (only 184MB is active)
6x300MB SCSI 10K RPM RAID5
Gigabit Ethernet Connection
My server can output NO MORE than 60Mbps (read only).
The bottle neck is the hard disk. If I use ONE connection to download file from my server, the speed can go up to about 400Mbps.
If I let visitors download using multiple connections, the server cannot output more than 60Mbps.
My service is similar to rapidshare/megaupload, I am wondering how they configure their server?
I know that my apache use FreeBSD sendfile() syscall to handle file transfer. I don't know how sendfile works. But is there a way I can configure the server to read larger block instead of small block.
To my knowledge, it doesn't cost much time to read the data but it does cost a lot of time to seek for the data. Correct me if I am wrong, if I increase the read buffer size, there would be less disk seek (disk access). Let's say the read buffer is 64K, if I increase it to 640K, the disk seek would reduce to 10%.
The problem is how do I increase the read buffer size or it cannot be configure at all?
Any suggestion is appreciated!
|Thread||Thread Starter||Forum||Replies||Last Post|
|mounting NTFS external hard disk.||bsdnewbie999||OpenBSD General||16||4th September 2010 01:59 PM|
|Hard disk reliability||ephemera||General Hardware||32||20th April 2010 10:17 AM|
|Formatting Hard Disk Drive to UFS in OS X 10.5||Turquoise88||Other BSD and UNIX/UNIX-like||1||7th March 2009 09:57 PM|
|Copy VCD film to hard disk||mfaridi||FreeBSD General||4||5th June 2008 01:57 PM|
|how to mount external hard disk ?||bsdnewbie999||FreeBSD General||6||27th May 2008 02:37 AM|