Slow JumpStart on a Sun Fire V240


Revision as of 15:33, 16 October 2007 by Hutch (Talk | contribs)
Jump to: navigation, search

I was asked to investigate a slow custom JumpStart build over gigabit ethernet on a Sun Fire V240. Apparently, packages were installing at the rate of 40 MB/hour.

I noticed two problems:

  • The sysidcfg file specified DNS name service, but the DNS server was unreachable. This really slowed down JumpStart. The time server was also unreachable (although it shouldn't affect JumpStart speed), so I put the following in sysidcfg:
  • 100 Mbit transfers were 3-4x faster than 1000 Mbit between the JumpStart client and JumpStart server. I did a boot net -s and copied a ~120 MB directory from the JumpStart server:
1000 Mbit: 10-12 seconds
100 Mbit: 2-3 seconds

To force 100 Mbit during the JumpStart, I created a Begin script that disables the 1000 Mbit capability. Although you can apparently do a boot ...:speed=100,duplex=full on ce interfaces[1], it didn't seem to work on the bge interface.


echo "Current /dev/bge0 link_speed:"
ndd -get /dev/bge0 link_speed
echo "Current /dev/bge0 link_duplex:"
ndd -get /dev/bge0 link_duplex

ndd -set /dev/bge0 adv_1000fdx_cap 0
# Not needed
ndd -set /dev/bge0 adv_1000hdx_cap 0

echo "Sleeping 10 seconds..."
sleep 10

echo "New /dev/bge0 link_speed:"
ndd -get /dev/bge0 link_speed
echo "New /dev/bge0 link_duplex:"
ndd -get /dev/bge0 link_duplex

(I don't know if the sleep command above is needed, but when I didn't have it, link_speed immediately returned 0, and link_duplex immediately returned -1)

Since the switch and the OS are set to autonegotiate, the interface falls back to 100 Mbit.

Current /dev/bge0 link_speed:
Current /dev/bge0 link_duplex:
Sleeping 10 seconds...
New /dev/bge0 link_speed:
New /dev/bge0 link_duplex:

Although the inability of the JumpStart client to reach the specified DNS server was the main cause of the problems, forcing the bge interface to 100 Mbit may also have improved the build speed.

Personal tools