Optimizing AFP (yes, AFP) over WAN & LAN

Discussion in 'Mac OS X Server, Xserve, and Networking' started by fhturner, Nov 5, 2018.

  1. fhturner macrumors 6502

    fhturner

    Joined:
    Nov 7, 2007
    Location:
    Birmingham, AL & Atlanta, GA
    #1
    Hey Everybody—

    Professionally, I run a lot of servers for my consulting clients; and personally, I have a pair of geographically separated servers w/ RAIDs for media that I like to move content between to mirror them. Server-wise, although it's dated, I really like running Mac OS X Server 10.6.8. The management and admin tools are just way better and easier to view for multiple servers than anything that has come since.

    However, as I am determining more and more clearly, hanging on to this old server OS has some implications for file sharing, both over LAN and WAN connections. Here is what I have observed in increasing detail:

    0. First off, SMB on MOSXS 10.6.8 has some issues w/ file and folder naming, and is not as fast as SMB2/3 in later macOS implementations. Additionally, in some cases, I like to connect via WAN w/o the rigamarole of setting up and initiating a VPN every time. So, I'm specifically interested in AFP for the purposes of this discussion, despite its deprecated status.

    1. At some threshold— 10.9 Mavericks, I believe— I have observed and tested that AFP clients on "opposite sides" of this threshold will not saturate a Gigabit Ethernet LAN link when transferring data. For example, copying to/from a Snow Leopard Server from a current client like 10.13 High Sierra or 10.14 Mojave will top out around 55-65MB/s. Using a 10.6 SL client or transferring between two 10.13 HS systems will saturate the link at around 110-120MB/s. It is an odd condition, but I have tested it and have the results "matrix" to show for it. So, in summary— same side of OS threshold = full speed; opposite sides = ~1/2 speed.

    2. Copying straight to/from a 10.6 SLS AFP share over WAN link will top out at about 2-3MB/s, sometimes up to around 4MB/s, but that's it. This seems to be the norm whether the client is on the opposite side of that threshold or not, and a 1Gbps fiber link won't even help. However, connections between newer 10.12 and 10.13 clients and servers is not as severely limited.

    Example:​
    • Copying a 485MB .dmg file to my MacBook Pro 10.13.6 from 2 remote hosts
    • My connection is a 60Mbps x 4Mbps cable connection. Downloading large files via HTTP can top out at about 8MB/s.
    • A: Mac mini, 10.13.6, via 50Mbps x 50Mbps fiber: 95 sec > 5.1MB/s (40.8Mbps)
    • B: Mac Pro, 10.6.8, via 1Gbps x 1Gbps fiber: 277 sec > 1.8 MB/s (14.4Mbps)
    • [I do not have a newer client or server on that 1Gbps fiber link to test w/ currently...not sure how much that figure would go up if using 10.13 host and a faster link than 60Mbps on my end.]

    I realize I might be the only person on Earth trying to work this out. But I'd like to at least attempt to get the local transfers up to full wire speed and/or the WAN transfers free of this 2MB/s cap. I may yet give in and start doing some server upgrading, but with all the other services I'm running, the massive paradigm shift to Server.app will be a significant headache for testing, migration, reconfiguration, etc.

    Does anyone have thoughts on whether AFP tuning might help here? I saw some fairly detailed posts from @mainstay and @deconstruct60 in a thread about 10.5 Server AFP congestion, including a mention about WAN tuning (afp_wan_quantum and afp_wan_threshold), but that was back in 2011. Anybody revisit this or figure out more details about WAN tuning in the intervening 7 years? :)

    Thanks,
    Fred
     
  2. hobowankenobi macrumors 6502a

    Joined:
    Aug 27, 2015
    Location:
    on the land line mr. smith.
    #2
    Hey Fred -

    Nothing to offer really...other than good luck. You did your homework digging up the details from AFP548, but I expect the world has moved on. So many sync and cloud tools have been optimized for WAN, and require no tweaking (or at least a lot less), it may difficult (nearly impossible) to find the info to tweak for WAN.

    Hopefully I am wrong. Let's see if anybody out there has a real answer.

    If not, you might look at WAN optimized tools readily available. Synology, for example, not only supports AFP and SMB for traditional file sharing; SMB is easily tweakable via the nice GUI. And, they offer a simple file sync tool that is drop-box like that seems to work well over WAN.

    PLus tons of other features if you want them. Presto Server is premium (paid) feature that sounds great, but I have never used it.

    Other NAS suppliers offer similar Mac friendly options too. And don't forget that security concerns are tighter than ever...and such an old, unsupported OS will not cut the mustard.

    If I were in your shoes I would look for a new solution.
     
  3. fhturner thread starter macrumors 6502

    fhturner

    Joined:
    Nov 7, 2007
    Location:
    Birmingham, AL & Atlanta, GA
    #3
    Thanks for the reply, hobo! I am pretty set on the AFP route for the time being, and part of it is simply wanting to learn and make something work better, if possible. IOW, part of it for me is the challenge of solving a "problem". But I will keep those others in mind and maybe give them a look for the future. Thanks again!
     
  4. fhturner, Nov 14, 2018
    Last edited: Nov 14, 2018

    fhturner thread starter macrumors 6502

    fhturner

    Joined:
    Nov 7, 2007
    Location:
    Birmingham, AL & Atlanta, GA
    #4
    Just a little follow up on the #2 point above to add to these test cases. I got an opportunity to test using an iMac with 10.10.5 on that 1Gbps x 1Gbps fiber link. I used it as a client to copy a 981MB .zip file to these hosts (thereby utilizing their faster download pipes):
    • Mac Pro 10.13.16 Server, via cable w/ 200Mbps+ download: ~22–26MB/s (176–208Mbps)
    • Mac Pro 10.6.8 Server, via my cable 60Mbps x 4Mbps: ~1.33MB/s (11Mbps)
    • iMac 10.11.6 Server, via my cable 60Mbps x 4Mbps: ~6–8MB/s (48–64Mbps)
    • Extra: 10.6.8 Server on 60x4Mbps cable, copying FROM 10.6.8 Server on 1Gbps x 1Gbps fiber link: ~1.3MB/s (11Mbps)
    Notice how crippled that transfer is to the 10.6.8 Server! That's going to the same 60Mbps pipe as the iMac 10.11.6, which was maxing it out. Here are screenshots of Activity Monitor during each transfer.


    Mac Pro 10.13.6 via 200Mbps cable:
    Screen Shot 2018-11-14 at 10.37.50 PM.png
    Mac Pro 10.6.8 via 60Mbps cable:
    Screen Shot 2018-11-14 at 10.37.05 PM.png
    iMac 10.11.6 via 60Mbps cable:
    Screen Shot 2018-11-14 at 11.59.12 PM.png

    Couple more observations... Notice how the faster transfers on the "post-threshold" servers stair-step up to maximum speed, then hold that max. Also, interesting how the faster transfers use WAY more outbound packets, along w/ a much higher outbound:inbound ratio (21:1 & 38:1), compared to the slow 10.6.8 transfer (<7:1). I'm pretty sure there must be far more efficient "flow control" going on w/ the faster transfers, whereas the slower ones are throttled by the sender having to wait for high-latency return packets to say "go ahead, send more". Would be nice to know how to tune that...
     

    Attached Files:

  5. hobowankenobi macrumors 6502a

    Joined:
    Aug 27, 2015
    Location:
    on the land line mr. smith.
    #5
    Good stuff.

    If you knew how to easily tune....I suspect you would be doing that in software storage for $.

    A good app for measuring local file transfer thoughput (been around forever, but not commonly known): Helios LanTest
     
  6. VaZ macrumors regular

    VaZ

    Joined:
    Aug 31, 2012
    #6
    10.14.1 to 10.5.8
    Something is CLEARLY Broken
    Screen Shot 2018-11-15 at 4.24.59 PM.jpg
     
  7. marshalleq macrumors newbie

    marshalleq

    Joined:
    Aug 1, 2015
    #7
    Just to add to this - I've been doing the runaround trying to get the best speed because I'm copying 18TB of data back onto my NAS after I have done a reset. My AFP speeds are around 25MB/s, SMB about 65. I had done some analysis before here which I should really go over again, but found a good workaround for my case which got me, for the first time in 5 years I have a transfer speed of 110MB/s on a Mac. I personally don't care what protocol for purposes of copying data. Perhaps this information will help someone.

    Basically I manually mounted to my NAS using NFS by command line. Some examples of how to do that here:

    So assuming that the GUI mounting of NFS is still slow (it was before and as I said I should test this which I'll do after I've restored my data), but it would follow that perhaps manually mounting AFS or SMB might also do the trick.

    And before you say this is just random, I got the idea from another thread on the web that showed similar promise from mounting manually specifically via the command line. :D. Hopefully this helps someone.
     
  8. VaZ macrumors regular

    VaZ

    Joined:
    Aug 31, 2012
  9. VaZ macrumors regular

    VaZ

    Joined:
    Aug 31, 2012

Share This Page

8 November 5, 2018