Jump to content
RESET Forums (homeservershow.com)

Half-Duplex vs Full-Duplex Transfer Rates


HellDiverUK
 Share

Recommended Posts

Moderator Edit - This topic began in another thread with the discussion about file transfer rates and was slit off to create it's own topic and discussion. - CSKENNEY

 

 

 

It seems I am copying over 100MB/s to the server, AND copying over 100MB/s from the server at the same time.

 

Unless you've got both NICs bonded as a 2Gb link, that's impossible.

Link to comment
Share on other sites

No, ever heard of Full Duplex? Quite normal these days.

 

It doesn't work like that.  FDX doesn't mean you're going to get 125MB/s each way.  

 

I get 125MB/s sustained across an 8GB file from my server to my workstation.  If I'm copying one file off the server and one back on (to different SSD drives), I get ~60MB/s on both transfers.  

 

You WILL NOT get 125MB/s both directions at the same time across one single gigabit interface, period.

 

Edit: Just tested it here at work - Dell Precision Xeon E3-1240V2 with Intel NIC and SSD connected to the same Cisco switch as the server, a Poweredge R515 with 6x10k drives in RAID 6.  125MB one way, just over 60MB when one file sending and one receiving. 

Edited by cskenney
Link to comment
Share on other sites

wrong after TCP/IP overheads you get around 116MB/s true throughput one way

when pushing and pulling i usually get around 100MB/s each way full duplex does work that way

Link to comment
Share on other sites

I think it's a bit confusing to constantly be switching between megabit and megabyte. Let's simplify it a bit.

 

A typical gigabit card should be able to transmit data at 1 gigabit per second, part of which is overhead. In Full Duplex mode, that card should be able to transmit data at 1 gigabit per second in both directions, at the same time.

 

To simplify things, I typically use 10 bits per byte, rather than the technically correct 8. This helps take care of some of the overhead and I find it is a very quick, pretty accurate, and very easy way to estimate what kind of actual data throughput I can expect. Shonk's Full Duplex results support this.

 

Using 10 bits/byte, a gigabit card should be able to transmit data at 100 megabytes per second. In Full Duplex mode, it should be able to transmit data at 100 megabytes per second in both directions, at the same time. This is simple logic, based on the rated gigabit speeds.\

 

HellDriverUK, it really sounds like you're tests indicate that your NICs are operating in Half Duplex mode.

  • Like 1
Link to comment
Share on other sites

Here is one of the best tech explainations:

http://rickardnobel.se/actual-throughput-on-gigabit-ethernet/

 

HelldriverUK is correct, best throughput on a gigabit Ethernet connection is 110MB/s to 125MB/s.

 

Thank you.  Hopefully ikon and Shonk will read that and figure out that getting 100MB/s+ in both directions at the same time is impossible.  

 

But, hey, I've only been a server admin and network engineer for 20 years.  What would I know?  :rolleyes:

Edited by cskenney
moderator
Link to comment
Share on other sites

From that article I copied this:

 

This makes that each frame actually consumes 1538 bytes of bandwidth and if we remember that we had “time slots” for sending 125000000 bytes each second this will allow space for 81274 frames per second. (125000000 / 1538)

 

So on default Gigabit Ethernet we can transmit over 81000 full size frames each second, a quite impressive number. Since we are running full duplex we could at the same time receive 81000 frames too!

 

I added the emphasis to the quote. This says to me that it's possible to send and receive at least 100MB/sec concurrently. Am I reading it wrong?

 

Link to comment
Share on other sites

It can be confusing, Gigabit Ethernet chips are capable of sending and receiving 1Gb/s, so 2Gb/s total throughput, but that is not how Ethernet works. It is possible to write a custom program that could send and recieve raw data at 1Gb/s at the same time in both directs 2Gb/s, but that would not be Ethernet. Ethernet is a protocol and the way it is implemented has a good deal of overhead. Overhead is not a bad thing.

Link to comment
Share on other sites

From that article I copied this:

 

 

I added the emphasis to the quote. This says to me that it's possible to send and receive at least 100MB/sec concurrently. Am I reading it wrong?

Technically, the chip is capable of that, but that is not how Ethernet works.

The constant handshaking and the extra bits in the frames gobble up the available bandwidth.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...