After your comments and my questions answered, here are my recommendations/best practices.
Probably the only real remedy would be to have the office AP switch local traffic indeed locally.
This feature is available in Cisco's APs/AP controller, called FlexConnect.
If you read the first paragraph and look at the illustration in the following PDF, you'll see that this is pretty much your use case. The AP controller is located in a remote location connected via a dedicated (VPN'ed) line – but traffic within the local branch/office is switched locally.
You should probably have a word with your net ops people to see if this is possible to setup or if your AP fits the requirements (a list of supported APs is also in the PDF).
The PDF is from the AP controller software version 8.1, but this feature goes way back (formerly known as Hybrid REAP). You should probably also consult the documentation version corresponding to your AP controller software version to have an accurate list of supported APs.
The real limiting factor will always be the sluggish data rate caused by your specific network setup, regardless of AFP vs. SMB.
So, all the following measures are only additional remedies and best practices you can try.
Check/set your maximum non-fragmenting network MTU over the Wi-Fi connection.
There is still the magic MTU number of 1453 floating around the interwebs in regards to (at least older) macOS versions, especially when interacting with Cisco equipment.
SMB vs. AFP
SMB should generally be preferred over AFP by now, as AFP has been deprecated by Apple for quite some time.
AFP is not even supported anymore when sharing from APFS-formatted volumes.
Time Machine backups over SMB are supported in QNAP QTS version 4.3 and later.
By default, macOS packet-signs SMB connections, which greatly impacts transfer performance (transfer speed here with signing disabled is doubled!).
As I have no idea if/where you can disable signing globally/server-side in QTS (Syno guy :) or if this would be recommended in your use case, you can disable SMB packet-signing client-side on specific macOS machines.
You can check if signing is disabled by using the command "smbutil statshares -a" (a SMB volume has to be mounted, otherwise the command output will be blank).
Please see the following URL fore more info:
The two following best practices are not really related to Time Machine but greatly improve the general SMB experience for macOS clients.
You should augment the Samba config file (smb.conf) on the QNAP NAS according to the following URL:
Ignore the FCP X specific stuff, this setting basically enables macOS-specific features in Samba.
Please check the QNAP specifics for Samba configuration.
(For instance, Synology uses a private Samba build with some configuration differences, like commas instead of spaces for multi-attribute config lines.
Also, augment the Samba config file by this:
access based share enum=yes
This setting forces Samba SMB shares to resemble the behaviour of AFP shares by only showing shares that you have permissions for.
By default Samba shows all shares, even the ones you don't have permissions for, which shows a permissions error message when trying to access a share w/o permissions.
Disable .DS_Store on network shares
You can try to disable creation of .DS_Store files on network volumes. This can speed up SMB performance.
First paragraph in the following URL:
Try to exclude as many items/locations in the Time Machine preferences as feasible.
For instance, I excluded the /Applications folder, as it is usually the same/less hassle to reinstall an application than to recover it from a backup. Also, the ~/Downloads folder is usually a good no-backup candidate.
Additionally – but this is depending on the specific workflow – it can be feasible to exclude directories that contain data managed by version control systems.
Time Machine is a low priority process. Any other activity will suspend the Time Machine backup process.
You can try to disable the low priority throttling in macOS to speed up Time Machine.
Please see the following URL for more info (including how to make this setting permanent):
You can then use the free tool "Time Machine Editor" to exclude your work hours from the Time Machine schedule.
Use these recommendations at your own risk. Specifially, try out the settings/modifications first on a test machine before rolling out to production systems.
These are my 2 cents (actually, it's more like 1,50 Euro).
Assuming from your name that you are located in a German-speaking region:
[EDIT] With QTS 4.3.5 it looks like QNAP added GUI options to enable access based share enumeration, so it is probably not necessary anymore to manually edit the smb.conf for this functionality. From the QNAP QTS 4.3.5 release notes:
- Added Microsoft Networking Advanced Options for ABE (access-based enumeration) and ABSE (access-based share enumeration).