Slow Speed - Should I just get a dicretete NIC?


Recommended Posts

Hi, I am having slow write speeds to my unraid server.

 

Tried lots of troubleshooting steps and I-m pretty sure it has to be something on the server itself....

 

What I mainly use is one computer, with Gb card, connected through Gb switch, etc.  I'm pretty sure at one point writing was fine but I can-t assure when that was or if it was even before upgrading to better hardware.

 

Anyway, I even tried connecting PC to unRAID directly together and nothing improved, same low speeds (of course tested several new cables and up to Cat6).

 

The speeds I'm getting are around the 10MB/sec mark. Like mentioned before, reading is ok.

 

At this point I'm thinking the onboard Ethernet might not be very good, and thinking of replacing it. Here are the details from system info:

 

NIC info (from ethtool)

Settings for eth0:

Supported ports: [ TP MII ]

        Supported link modes:  10baseT/Half 10baseT/Full                         100baseT/Half 100baseT/Full                         1000baseT/Half 1000baseT/Full

        Supports auto-negotiation: Yes

        Advertised link modes:  10baseT/Half 10baseT/Full                         100baseT/Half 100baseT/Full                         1000baseT/Half 1000baseT/Full

        Advertised auto-negotiation: Yes

        Speed: 1000Mb/s

        Duplex: Full

        Port: MII

        PHYAD: 0

        Transceiver: internal

        Auto-negotiation: on

        Supports Wake-on: pumbg

        Wake-on: g

        Current message level: 0x00000033 (51)

        Link detected: yes

 

NIC driver info (from ethtool -i)

driver: r8169

version: 2.3LK-NAPI

firmware-version:

bus-info: 0000:02:00.0

Ethernet config info (from ifconfig)

eth0      Link encap:Ethernet  HWaddr 6c:f0:49:6c:db:65

            inet addr:192.168.0.7  Bcast:192.168.0.255  Mask:255.255.255.0

            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

            RX packets:135128510 errors:0 dropped:0 overruns:0 frame:0

            TX packets:41523302 errors:0 dropped:0 overruns:0 carrier:0

            collisions:0 txqueuelen:1000

            RX bytes:2457827120 (2.2 GiB)  TX bytes:1349882717 (1.2 GiB)

            Interrupt:26 Base address:0xc000

 

 

Thoughts? Can you recommend a card?

 

 

Link to comment

If you are getting 100 meg/sec read but only 10 meg/sec write, I don't think it's your card. I think you have hd cabling, controller or drive issues.

 

Diagnostics with full syslog might help

 

Reading hovers around 70MB/s and writing to the array only 10...

 

Cabling is not an issue I would say as I tried several, including several cetegory cabling (i.e. 5e and 6) and also direct connection PC<-->unRAID.

 

Where should I pull diagnostics from?

Link to comment

Are you sure you dont have a disabled disk or a bad disk? That will impact write speeds.

 

Yes, all disks are enabled, ok status and 0 errors.

 

A d sorry but out of curiosity, and even that is not my case of having one, how would a missing dosk impact write speads? Doesn't it impact READ speads, as it's info must be reconstructed using all other disks..?

Link to comment

Are you sure you dont have a disabled disk or a bad disk? That will impact write speeds.

 

Yes, all disks are enabled, ok status and 0 errors.

 

A d sorry but out of curiosity, and even that is not my case of having one, how would a missing dosk impact write speads? Doesn't it impact READ speads, as it's info must be reconstructed using all other disks..?

It also impacts write speeds for the exact same reason (To a greater extent than reads depending upon your hardware).  The system can only recalculate parity for any particular bit if it knows #1 What bit is already stored on the parity drive, and #2 what bit is already stored on the drive being written to in question (which means that all drives have to be read to calculate that if the drive being written to is disabled)

 

You can get the diagnostics from "Tools / Diagnostics"

Link to comment
  • 2 weeks later...

Are you sure you dont have a disabled disk or a bad disk? That will impact write speeds.

 

Yes, all disks are enabled, ok status and 0 errors.

 

A d sorry but out of curiosity, and even that is not my case of having one, how would a missing dosk impact write speads? Doesn't it impact READ speads, as it's info must be reconstructed using all other disks..?

It also impacts write speeds for the exact same reason (To a greater extent than reads depending upon your hardware).  The system can only recalculate parity for any particular bit if it knows #1 What bit is already stored on the parity drive, and #2 what bit is already stored on the drive being written to in question (which means that all drives have to be read to calculate that if the drive being written to is disabled)

 

You can get the diagnostics from "Tools / Diagnostics"

 

I was thinking about this the other day, and well..

 

I mean, shouldn't it impact only if you're NOT writing to that disk?

 

If you write to THAT disc it need to know what is on the OTHERS (it will already know the future value of the missing disk since it has to "write" to I) and all that info is available.

 

If you write to any OTHER disk than sure, it need info from the others which includes the missing one which has to be calculated.

 

right?

 

In any case that would all still be a verification (which it probably does) but would a (less secure) methos be to just compare to where it-s writing against + parity only?

 

 

Anyway, could RAM be also responsible for speed?  My server only has 2GB.  I just got a hold of 2 other sticks but of course, just opened up the case and turns out I forgot this mobo only had two dim slots... :S

 

Link to comment

I was thinking about this the other day, and well..

 

I mean, shouldn't it impact only if you're NOT writing to that disk?

 

If you write to THAT disc it need to know what is on the OTHERS (it will already know the future value of the missing disk since it has to "write" to I) and all that info is available.

 

If you write to any OTHER disk than sure, it need info from the others which includes the missing one which has to be calculated.

 

right?

 

In any case that would all still be a verification (which it probably does) but would a (less secure) methos be to just compare to where it-s writing against + parity only?

See this recent post of mine which explains how unRAID reads and more importantly for your question, how it writes, to a disabled disk.
Link to comment

I was thinking about this the other day, and well..

 

I mean, shouldn't it impact only if you're NOT writing to that disk?

 

If you write to THAT disc it need to know what is on the OTHERS (it will already know the future value of the missing disk since it has to "write" to I) and all that info is available.

 

If you write to any OTHER disk than sure, it need info from the others which includes the missing one which has to be calculated.

 

right?

 

In any case that would all still be a verification (which it probably does) but would a (less secure) methos be to just compare to where it-s writing against + parity only?

See this recent post of mine which explains how unRAID reads and more importantly for your question, how it writes, to a disabled disk.

 

Thanks, I will give it a read!

 

Just receive two new 3TB so will install to upgrade sizes, but first I will upgrade my server (I'm still on 4.7)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.