Networking Troubleshooting

I’ve got a networking troubleshooting problem for readers to help me solve. Network transfer performance when copying from my Quicksilver PowerMac G4 to my Quad is really slow, 1MB/second. Both machines have Gigabit Ethernet, so transfer rates should be at least 10MB/second.

What’s strange is that network performance from the Quad to the G4 runs at Gigabit speed. If I connect the two computers together, transfers between both computers run at Gigabit speed. I have an AirLink Gigabit switch, but I don’t think that’s the problem because I get Gigabit speed going from Quad to G4 and from my ReadyNAS to both the G4 and G5.

Here’s a quick table to explain my speed problem:

From To Using Perceived Speed
G4 G5 AirLink Switch 100Mbps
G4/G5 G4/G5 Direct Connection 1000Mbps
G5 G4 AirLink Switch 1000Mbps
ReadyNAS G4/G5 AirLink Switch 1000Mbps

Anyone have any clues as to why this might be happening? Performance is slow from G4 to G5 regardless of the file transfer protocol AFP, SMB, FTP, etc.

4 thoughts on “Networking Troubleshooting

  1. Hi Adam,

    It’s strange that it fast from G5 to G4 and slow the otherway. You may want to take a look at the duplex and speed
    settings on the switch and make sure it matches on the G4 end. I’ve seen duplex mismatch like this and it will work
    but will be very slow. I know they have auto settings/auto detect- but set the speed and duplex.

  2. Anon

    Hey Adam,

    I agree–it’s always better to explicitly set link speeds and duplex on switches rather than rely on auto. FreeBSD stacks especially with the intel fxp just get murdured on autoselect. But, if you have fast transfer in one direction, it doesn’t suggest the switch is “at fault”. Although as you point out, it’s fast directly (crossover), but through the switch it’s slow. Its surprising how a little bit of latency screws things up.

    Use sysctl -a | grep tcp to take a look at your tcp settings.

    You’ll probably get what you need just by changing the send space from 32K to 64K and setting the local slow start to 64K.
    net.inet.tcp.sendspace: 32768 ->65535
    net.inet.tcp.local_slowstart_flightsize: 4 ->65000

    Additionally, you can increase your receive space on all your systems so delayed acks don’t get in the way
    net.inet.tcp.recvspace: 32768 -> 65535

    I’m assuming all your boxes are on the same subnet, but to improve sending performance to devices outside your subnet (i.e. from your web server to clients) increase the slow start from 1 packet to 3 packets.
    net.inet.tcp.slowstart_flightsize: 1 ->3

    Cheers,
    stanford twain’er

    net.inet.tcp.delacktime: 50

  3. Manually setting the Ethernet speeds on both the Quad and Quicksilver solved the problem for a little bit, but it’s back to slow speeds from G4 to G5. I set both for 1000baseT and Full Duplex.

    Will see how configuring sysctl does.

  4. Hi Adam,

    Try it at a slower rate – 100meg or 10 meg.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: