Mac – Slow network-home-folder use, many spinning beachballs

home-directorymacmac-osxmac-osx-serverslow-connection

Xserve with 10.4.11 connected to Xserve RAID via FC. 208GB of 1.82TB available.

Xserve connects to HP 2848 Gigabit switch

Xserve houses network-home-folders for 14 users.

Clients (mac mini – intel core solo 1.5GHz running 10.4.11)

Symptom: Clients slow to logon to network home folders, slow behavior throughout the workday.

Checked so far: physical networking, dns resolution for server (forwards and backwards). ApplePasswordServer.Server.log (people are authenticating properly). Activity monitor shows no abnormal activity. A brief packet analysis showed no extraneous network traffic.

Tried a simple power-cycle of the switch, clients, and server to no avail.

Best Answer

Here are three things to try:

Check if authentication is your bottleneck

  • See how long it takes a user to log in under ssh.

    • Make sure ssh is turned on. [System Preferences -> Sharing -> Remote Login]
    • Open up a terminal and run ssh <username>@localhost
      • Yes, you trust it, and yes, here is the password
      • exit
    • Now, copy the user's password to the pastebin
    • Run time ssh <username>@localhost echo "Done" hit return, and as soon as you are queried for the password, hit ctrl-v to paste, and return
      • This will log the user in over SSH (and do so by authenticating through your server, provided it is a network account)
      • It will run the echo "Done" which should take almost no time to execute, and quit the ssh session
      • it will then display how much time it took. [On my local account, the total was about 1.1 seconds]
    • If the result is large, then authentication is slow

Check if the network file access is slow:

  • See how long it takes to transfer files

    • Log in with a local account. [Not strictly necessary, but will help rule out other file accesses slowing you down.]
    • Mount the user's network home folder
    • Make a large file. mkfile 100m 100MB
    • Time how long it takes to make a copy the file from the local computer to the network:
      • time cp 100MB /Volumes/<network-home>
      • or just possibly curl file:/current/path/100MB -o /Volumes/<network-home>/100MB
    • Delete the file and time how long it takes to copy in the other direction
    • [It may not hurt to time how long it takes to create it, too.]

See what other network traffic your computers see:

  • consider using iftop to get some feel what the actual transfer speeds are and if the computer is doing other things on the network. [You may want to run it on your server as well].