DSM-G600, DNS-3xx and NSA-220 Hack Forum

Unfortunately no one can be told what fun_plug is - you have to see it for yourself.

You are not logged in.

Announcement

#1 2008-09-05 17:52:31

HMR
Member
Registered: 2008-09-05
Posts: 8

DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Question... had the DNS-323 for about a year now.  For the most part been very happy with it.  Thing is now I am looking to upgrade to a gigabit router to make my home network fully gigabit.  I noticed that on the box of the DNS-323 it says max network transfer rate is capped at about a max of 25MB/sec (200Mbps).  Question is why is this if the unit has a Gigabit ethernet?  What is holding back the unit from transferring at gigabit speed?  It cant be the hard drives since they can push data easily over 50MB/s (400Mbps). 

I know 100Mbps ethernet can regularily push data at 11MB/sec (90Mbps) so what is holding back the DNS-323 from transferring at gigabit speeds (i.e. 250MB/sec or 900Mbps)?  Is the gigabit controller on the unit not a true gigabit controller?

Regards,
HMR.

Last edited by HMR (2008-09-05 17:53:29)

Offline

 

#2 2008-09-05 18:07:38

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

I have yet to see a gigabit network transfer data at anything remotely approaching that 900mbps - mind you I'm not saying it's impossible - the best I can do is around 300 mbps.

Also where did you get that 400 mbps figure for hard drive transfers from - a lot of disk manufavturers don't quote sustained transfer speeds which will actually vary depending on which part of the disk you're reading/writing - outer cylinders have mode data passing under the head in any give time frame than inner.

Anyway - to answer your qestion - you can get close to 30 MB/sec (I've seen as much as 35 MB/s reported) using jumbo frame, the throughput seems to be limited by processor resources - it does take a certain amount of oomph to calculate the CRCs etc. involved in tcp/ip transfers

Offline

 

#3 2008-09-05 18:16:43

HMR
Member
Registered: 2008-09-05
Posts: 8

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Thanks for the reply fordem.  I used the 50MB/sec HDD transfer speed based on what modern hard drives typically do just as a conservative example.  You are correct in stating that sustained transfer speeds vary depending on which part of the disk you're reading/writing.  However, 50MB/sec should be easily attained as some newer HDDs are now pushing 80-90MB/sec. 

Going w/ that.... assuming the HDD was able to push 50MB/sec then since the DNS-323 has a gigabit controller I dont see why transfer speeds should be limited to 200Mbps as indicated on the box.  Thats why I was thinking maybe it wasnt a true gigabit controller on the unit.  So you beleive that the DNS-323 could be CPU bound which is why it cannot transfer at anything over 200Mbps?  If so Im curious why D-Link would put such a controller on it knowing that the onboard CPU cant even come close to utilitizing it.  Seems more like a marketing related ploy to me.  sad

Offline

 

#4 2008-09-05 18:57:26

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Ì have tested the CPU load on a DNS-323 and it rarely goes oves 35% when copying with samba and I have the jumbo frames on.

The speed on a 430 MBytes file I am getting is 10MB/s while writing and 18MB/s on reading the RAID1. It would have been under 4 MB/s on a 10 Mbit network.

The same samba test against FC8 server with exactly the same disks and also in RAID1 on the same network yields 54 MB/s write and the same speed for read operations.

Offline

 

#5 2008-09-05 20:23:15

HMR
Member
Registered: 2008-09-05
Posts: 8

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

skydreamer,

Which CPU load are you measuring?  Your PC CPU or the DNS-323 CPU?  If you are measuring the DNS CPU what tool are you using to do that as I'd be curious to measure mine.

Regards,
HMR.

Offline

 

#6 2008-09-05 20:36:54

Pejn
Member
Registered: 2007-12-17
Posts: 61

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

You can check with cat /proc/loadavg in telnetpromt gives you cpuload over 1, 5 and 15 minutes.

Offline

 

#7 2008-09-05 21:22:29

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

HMR wrote:

skydreamer,

Which CPU load are you measuring?  Your PC CPU or the DNS-323 CPU?  If you are measuring the DNS CPU what tool are you using to do that as I'd be curious to measure mine.

Regards,
HMR.

famous 'top' on DNS-323, the workstation CPU load is negligible

Offline

 

#8 2008-09-06 01:26:09

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

I'm aware that the reported cpu loads do not back my statement on the lack lustre network performance of the device, but, I'd love to hear some one else provide a better explanation.

Here is my reasoning - and yes it is a conclusion based on obervation and reasoning.

On a 100mbps LAN on which I can routinely achieve 98mbps transfers, my DNS-323 cannot deliver greater than approximately 70~80 mbps, switch to gigabit and prior to the introduction of jumbo frame, my best speeds were 150~160 mbps, on a LAN known to deliver 300+ mbps performance.

What we can see here is that the limitation is internal to the DNS-323, since all other components involved in the transfer are known to achieve speeds at a minimum 25% greater than that observed with the DNS-323.

Now introduce fw 1.05 and jumbo frame and with gigabit+jumbo we record a dramatic increase to ~270 mbps, again, less than the external components are know to be capabale of delivering, so again, we can assume safely, that the limitation is internal to the DNS-323.

What does jumbo frame do - how does it achieve greater throughput - by reducing the overhead in the tcp/ip stack, the framing, the addressing and the crc calculations required to assemble the packets.

Now - where is all of this work being done?  As far as I'm aware, there is no ToE (tcp offload engine) in the DNS-323, so it's being done by the system processor - a reduction in the amout of work required to transfer the data and the end result is more data can be transferred in the same period of time.

As my old math teacher used to say QED - quod erat demonstrandum

Feel free to shoot me down, but, please if you do, show me the mistake in my reasoning

Offline

 

#9 2008-09-06 02:08:32

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

fordem wrote:

Feel free to shoot me down, but, please if you do, show me the mistake in my reasoning

There is a difference in speed between the read and write operations. If your NIC theory was correct it would not matter which way the data flows- but it does.

There is no speed difference on a reference linux machine. I think that the weakest point is the disk I/O subsystem including in my case the RAID 1 overhead. The fact that the write operations are 50% slower points to some inefficiency there.

I have the same disks in a workstation and the sustained read/write speed is 90MB/s on ICH8.

Offline

 

#10 2008-09-06 03:45:24

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Interesting - but my theory is not that the NIC limits the performance, but rather the processor.

And just for the sake of discussion - even if the nic limited the performance then depending on where that limit was you could still see a difference in between read & write operations.

Purely for the sake of discussion - lets assume the nic limits at 150 mbps - and I can write at 100 and read at 200 - any tests of write speed would be limited to 100 mbps, whilst any test of read speed would be limited to 150 mbps - I'm pretty certain in other posts on this subject I have pointed out that the transfer speed is as fast as the slowest link - it is now a matter of determining where that link lies.

Lets go back to my theory.

How are the disks read and written - PIO ? DMA ?  Is it not the same processor still doing the work?
And the RAID1 overhead comes from where - a RAID controller?  This is software RAID - do we not once again have the same processor doing duplicated writes?

Using NASTester 0.4 for convenience

To/from the DNS-323...

100mbps - write - 7.39 MB/sec, read - 8.39 MB/sec
GbE - write - 14.82 MB/sec, read - 15.87 MB/sec
GbE+Jumbo - write - 17.31 MB/sec, read - 21.72 MB/sec

And as a reference - to/from my desktop (Windows XP Pro and running the same make & model of disk as the DNS-323)

GbE - write - 24.46 MB/sec, read - 40.59 MB/sec

First - we can see that the network itself and the node running NASTester is capable of writes of at least 24 MB/sec and reads of 40 MB/sec - so it is safe to assume that any lower limitation that exists is in the DNS-323.

Second - we know that the NIC is capable of transferring data at least up to 21 MB/sec (I have actually recorded over 30 MB/sec)
Third - we know that the disk subsystem is capable of transferring data at least up to 17.31 MB/sec in either direction

How do you account for the drop in performance from 17.31 MB/sec to 14.82 MB/sec (on a write) and from 21.72 MB/sec to 15.87 (on a read)?

What have we changed - the amount of work required to assemble the data packets in the tcp/ip stack - what is doing this work - the processor.

Offline

 

#11 2008-09-06 05:37:17

bspvette86
Member
Registered: 2008-05-09
Posts: 81

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Fordem, (or anyone else for that matter)
Just out of curiosity, have you ever run a Disk IO throughput test internal to the DNS-323?   That would take the network out of the equation.  (ie for a read test: "time cat ANYLARGEFILE > /dev/null"  Take the filesize and divide by the real time reported by time)



Regards,
BSPvette

______________
Raid-1 can be used for a backup via sync/split.

Last edited by bspvette86 (2008-09-06 05:58:31)

Offline

 

#12 2008-09-06 05:56:54

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

No - that would take more know how than I possess

Offline

 

#13 2008-09-06 06:11:58

bspvette86
Member
Registered: 2008-05-09
Posts: 81

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

I just did a couple quickie read tests on my box.  Test 1 is 57 MB and test 2 is 4.3 GB

# # ls -l
-rwxrwxrwx    1 nobody   501      59782440 Jun  2 20:34 iTunesSetup.exe
-rw-r--r--    1 root     root    4602126336 Jun 10 10:42 openSUSE-11.0-DVD-i386.iso


Test 1
_______________________________________
# # time cat iTunesSetup.exe > /dev/null
real    0m 1.33s
user    0m 0.05s
sys     0m 0.99s

INT(59782440 / 1.33) = 44949203    (roughly 43 MB/s and 343 Mb/s)
_______________________________________

Test 2
_______________________________________
# # time cat openSUSE-11.0-DVD-i386.iso > /dev/null
real    1m 36.48s
user    0m 1.35s
sys     1m 9.96s

INT(4602126336 / 96.48) = 47700314  (roughly 45 MB/s and 364 Mb/s)
_______________________________________

Regards,
BV

Offline

 

#14 2008-09-06 20:36:07

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

bspvette86 - I'm not certain if I understand you correctly, but it seems that you're saying a read off of the disk (writing to /dev/null - which is a none existent device, effectively the bit bucket) delivers 43~45 MB/sec.

I have that correct it would eliminate the disk interface (or I/O subsystem) as the bottleneck which is skydreamer suggestion.

Offline

 

#15 2008-09-06 21:26:26

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Reference FC8 server- using the same disks as DNS-323:

hdparm -t /dev/md0

/dev/md0:
Timing buffered disk reads:  226 MB in  3.01 seconds =  74.98 MB/sec
[root@fortress ~]# hdparm -T /dev/md0

/dev/md0:
Timing cached reads:   6934 MB in  2.00 seconds = 3473.77 MB/sec

DNS-323:

hdparm -t /dev/md0

/dev/md0:
Timing buffered disk reads:  102 MB in 3.01 seconds = 34586 kB/s
/ # hdparm -T /dev/md0

/dev/md0:
Timing buffer-cache reads:   110 MB in 0.51 seconds = 217546 kB/s

I cannot get /dev/sda settings to compare them to the FC8 reference machine?

hdparm -i /dev/sda

/dev/sda:
hdparm: ioctl 0x304 failed: Invalid argument
hdparm: HDIO_GET_IDENTITY: Invalid argument

Offline

 

#16 2008-09-06 22:51:44

bspvette86
Member
Registered: 2008-05-09
Posts: 81

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

fordem wrote:

bspvette86 - I'm not certain if I understand you correctly, but it seems that you're saying a read off of the disk (writing to /dev/null - which is a none existent device, effectively the bit bucket) delivers 43~45 MB/sec.

I have that correct it would eliminate the disk interface (or I/O subsystem) as the bottleneck which is skydreamer suggestion.

Fordem,
That is what the results indicate.  Perhaps you should run some similar tests on yours with some big files...

To me, hdparm does not reflect the results of reading "real" files from the disks.

Regards,
BV

Offline

 

#17 2008-09-07 00:39:33

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

bspvette86 - right now I don't even have fun_plug loaded - been running it as D-Link intended for several months now, using it as a backup respository since my DDS4 drive is on the fritz and a new one is USD$800~900

skydreamer - disk speeds tests on a different box don't necessarily serve a purpose, you introduce a new set of variables - are you bottlenecking on the disks or on the I/O channel?  Just as an example - if I run NASTester on my server and let it read/write the disks in the same server it returns 240MB/sec +/- 5% (yes, those are the same disks and the same configuration as I'm using in the DNS-323) - all I know at this point is the disks can handle at least 240 MB/sec - who is to say if that is the max throughput on the disks ot on the server hardware?

Before fw 1.05 my comments on the bottleneck were that it was "in the silicon" on the DNS-323, there was no way to really narrow it down, but, you can find several articles on jumbo frame on the internet that will all tell you where the advantage of jumbo frame lies - in a reduction of the processing required to assemble the tcp/ip frames.

I believe you'll find that more than one of those articles will suggest that jumbo frame will net you 10~15% more throughput - you can find claims on this forum for 50%, which I initially disbelieved when I could not get jumbo frame functional (prior to 1.05) - but I have personally seen throughput increases approaching 60%.

Do you have a better explanation - or any explanation at all - I'm willing to listen.

Offline

 

#18 2008-09-07 01:26:31

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

I know well the Seagate disks used in my tests and they are able to produce 90MB/s sustained rate which drops to 60 MBytes/s closer to the center. There is a lot of variables affecting the disk susbsystem performance indeed but having Linux Software RAID on both the FC8 and DNS-323 I feel confident that the hdparm read test produces results which are OK to compare.

I quite do not understand why would the write speed drop so significantly and knowing that the CPU load is rather low I would assume that the bottleneck is lying between the CPU and the disk interface. It does not help that I cannot read hdparm -I the interface status, it may reveal more information- perhaps the DNS-323 turns off caching on the disks, who knows?

I had some very peculiar experience with RAID1 on ICH8 under windows that resulted in 30% RAID speed drop when the RAID1 volume cache was on. This was unlikely the disk cache itself, which in contrast boosted the RAID performance.
I am not sure if this is a bug in Intel's Fake RAID driver or some sort of interaction between the volume cache and the hard drive cache. And along this line of thought there might be a similar issue with the DNS-323.

I agree with your point that the jumbo frames do provide significant speed boost but am not sure why should they contribute to a higher processor load? The CPU should need less interrupts to dispatch/receive the packet as all the overhead information is calculated less frequently and the dataflow handling is not as demandig as it is in the case of smaller packets.

Eventhough the SATA disks are equipped with a 32 MByte buffer I do not think that it is sufficient to hold the full track and my guess is that because of this inefficient data handling by the DNS-323 the disks do not manage to pump the data out in one go as the head flies over the track hence the sudden speed drop. In comparison the read operations are cached in advance using speculative read hence there is less missed turns of the disk platters. I assume that the data is defragmented here.

Let's take this as a brainstorming session and we might figure out what is not working well and perhaps even fix it? I am still behind my theory that it is the disk subsystem rather than network interface that contributes to the speed issues.

Would you have any idea why is the hdparm not producing any results on the physical disks in DNS-323?

Offline

 

#19 2008-09-07 02:20:05

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

skydreamer wrote:

I agree with your point that the jumbo frames do provide significant speed boost but am not sure why should they contribute to a higher processor load? The CPU should need less interrupts to dispatch/receive the packet as all the overhead information is calculated less frequently and the dataflow handling is not as demandig as it is in the case of smaller packets.

I'm suggesting that with jumbo frame less processing is required, and this allows the processor to do more work in a given time period - ie - put more data on the wire.

Offline

 

#20 2008-09-08 10:58:35

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

Well this post is getting results very close to the speeds that we have seen on the network- so it looks more like an inefficient disk I/O subsystem:

http://dns323.kood.org/forum/p20185-Tod … tml#p20185

bspvette 86:

I did an internal copy of a 220MB file from /mnt/HD_a2 to /mnt/HD_b2 in 9.21 seconds.  That is a transfer rate of roughly 24MB/s.


# # time cp /mnt/HD_b2/tmp/test1 .

real    0m 9.21s
user    0m 0.21s
sys     0m 7.62s


Regards,
BSPvette

Last edited by skydreamer (2008-09-08 10:59:18)

Offline

 

#21 2008-09-08 13:52:48

dickeywang
Member
Registered: 2007-06-29
Posts: 59

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

The problem for jumbo frame is that it requires the switch, the DNS and the client all set to the same frame size. In my case the NIC on my laptop doesn't support jumbo frame (Intel sucks!) so I am stuck on 12-15MB/s. sad
btw, you can clearly see the high CPU usages of the "smbd" process when copying large amount of data from/to the DNS. After all, it is a $100 unit, so you get what you paid for. It is said that the DNS-343 has a much higher transfer rate, but it will cost you more.

Offline

 

#22 2008-09-08 14:25:15

oxygen
Member
Registered: 2008-03-01
Posts: 320
Website

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

The small ram size is also a problem. if you manage to lower the ram usage by disabling not needed services, you can improve the performance.

Offline

 

#23 2008-09-08 15:06:44

fordem
Member
Registered: 2007-01-26
Posts: 1938

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

skydreamer wrote:

Well this post is getting results very close to the speeds that we have seen on the network- so it looks more like an inefficient disk I/O subsystem:

I'm not disputing the efficency (or lack therof) of the disk I/O subsytem - but - I still haven't heard your theory as to why jumbo frame would/should affect the efficency of the disk I/O subsystem.

If the disk I/O subsytem is the limiting factor in a non jumbo frame environment, then we should not see any throughput improvements with jumbo frame.

I'd also like to point out that I have personally seen 30MB/sec throughput and I believe Richneo has reported as much as 35MB/sec - my tests were done with NASTester and a 200MB file size which theoretically eliminates caching (by both the disk and the NAS) as contributing to the result.

Offline

 

#24 2008-09-08 16:06:56

bspvette86
Member
Registered: 2008-05-09
Posts: 81

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

In my book, the DNS-323 is CPU bound based on the fact that  A load average > 1 = CPU bound.  When I fire off an FTP copy of a very large file, the load average is > 1.  Network by itself is not the issue, disk by itself is not the issue, but when you add it all up, the CPU is choking.

Regards,
BSPvette

Offline

 

#25 2008-09-10 16:05:36

oxygen
Member
Registered: 2008-03-01
Posts: 320
Website

Re: DNS-323 not transferring at Gigabit speeds (250MB/sec or 900Mbps)?

bspvette86 wrote:

In my book, the DNS-323 is CPU bound based on the fact that  A load average > 1 = CPU bound.  When I fire off an FTP copy of a very large file, the load average is > 1.  Network by itself is not the issue, disk by itself is not the issue, but when you add it all up, the CPU is choking.

That is a common miss understanding. The load says how many process want to run at the same time. But they can be slowed down by low mem or bad io performance. Using a broken hdd can also lead to a high load.

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2010 PunBB