Running Tap Forms appears to degrade network speed

Tap Forms – Organizer Database App for Mac, iPhone, and iPad Forums Using Tap Forms Running Tap Forms appears to degrade network speed

Viewing 10 reply threads
  • Author
    Posts
  • August 12, 2017 at 5:25 PM #23975

    Mike Schwartz
    Participant

    Brendan,

    After much hair-pulling and testing I believe that there is a correlation between running Tap Forms and Wi-Fi slowdowns on my iMac. Here is some data I collected, showing download and upload network speed test results from speedtest.net:

    (1) Tap Forms not running: 55.6 Mbps download, 60.8 Mbps upload
    (2) Launch Tap Forms: 4.5 Mbps download, 13.4 Mbps upload
    (3) Quit Tap Forms: 55.0 Mbps download, 61.1 Mbps upload
    (4) Re-launch Tap Forms: 2.5 Mbps download, 10.7 Mbps upload
    (5) Disable TF iCloud sync: 3.2 Mbps download, 11.1 Mbps upload (i.e., didn’t help)

    I’m not seeing Tap Forms itself using any excessive bandwidth, it just seems to have a definite detrimental effect on Wi-Fi network performance. Curiously, if I turn off Wi-Fi and run an Ethernet cable between the iMac and my router, then I retain full Internet speed even with Tap Forms running.

    My setup:
    Tap Forms 5 build 1670 (similar results when testing with TF 5.1.4 build 861)
    MacOS Sierra 10.12.6
    iMac (Retina 4K, 21.5-inch, 2017)

    Please look into this — I like leaving Tap Forms up and running all the time.

    Thanks,
    Mike

    August 13, 2017 at 7:07 AM #23976

    Ron
    Participant

    Very interesting. I just did an experiment to test your theory and I had similar results. My results showed a definite speed slowdown for downloads but not uploads. I also saw not degradation in speeds when connected via Ethernet cable.

    1. TF not running: 235 Mbps down, 11.5 up
    2. TF running: 125.9 down 11.8 up

    My setup:
    Tap Forms 5.1.4 (build 1610)
    MacOS Sierra 10.12.6
    iMac (Retina 4K, 21.5-inch, 2017)

    Ron

    August 13, 2017 at 9:04 AM #23977

    Mike Schwartz
    Participant

    Ron, thanks for adding your experience to the thread. We both have the same computer and OS. Impressive download speed you have there!

    Brendan, I also tested this on my daughter’s desktop, and her setup does NOT show any slowdown with Tap Forms open:

    Tap Forms 5.1.4 (build 861)
    MacOS El Cap 10.11.6
    iMac (20-inch, early 2008)

    — Mike

    August 13, 2017 at 9:49 AM #23979

    Ron
    Participant

    I have done a test on my laptop and the it does NOT show significant slowdown.

    The setup:
    TF 5.1.4 (build 1660)
    OS El Cap 10.11.6

    Could it possibly be related to Sierra since both Mike’s test with El Cap and my test with El Cap did NOT have slowdown??

    Ron

    August 14, 2017 at 4:28 PM #24002

    Brendan
    Keymaster

    Well this is very interesting.

    Yes, I’m finding this behaviour too.

    There are a couple of things that are causing this.

    If Tap Forms starts up a listener for incoming network connections, that seems to have a detrimental impact on Internet download speeds. At least for me. When I disable all the code in my app that starts up a listener, then the download performance is not impacted. But as soon as I enable the code, it has a problem.

    There are two places where Tap Forms starts up a listener. One is with the Nearby Sync. Tap Forms starts up a listener for managing peer-to-peer syncing. The second place is when Tap Forms starts up a listener so that you can use the Send Document function to send a document from one device to another.

    I don’t really know why this is happening, but it’s definitely something I’m looking into. I don’t know if I can do anything about it just yet. The peer-to-peer sync listener for Nearby sync is pretty much out of my control as it’s required for Nearby syncing. I suppose instead of starting it up by default when you launch the app just in case you want to use Nearby sync, I can put a Start button on the Nearby sync screen that starts it up only if you intend of using Nearby sync. But you’ll still get that performance problem then.

    The other place is on the Send Document function. I suppose I could also put a button there that says “Start to accept incoming connections” or something like that when you want to send a document to another device. But that just makes it more complicated to send documents from one device to another.

    I have no idea why starting up a listener affects the performance of downloads.

    I was doing a speed test and if I have Tap Forms running, I get anywhere from 20 mbps to 50 mbps. Without Tap Forms running, I get 160 – 170 mbps download speed.

    It has no effect on upload speed (16 mbps).

    This is strange.

    August 14, 2017 at 6:44 PM #24005

    Mike Schwartz
    Participant

    Brendan,

    I’m relieved that you can reproduce this issue and that you’re on the case! Concerning the two conditions that start up a listener:

    • I have iCloud sync enabled, not Nearby sync. Is the listener always active, or just when you choose Nearby sync as your sync method?
    • Regarding Send Documents, my Database Documents window is closed, so the Send Document… command is greyed-out in the File menu.

    Has something changed under-the-hood with the way that Sierra manages network connections? I’m sure that you’ll get to the bottom of this.

    Thanks,
    Mike

    August 14, 2017 at 8:22 PM #24008

    Brendan
    Keymaster

    1. The listener is always active just in case you go to the Nearby sync screen and add a device there. The listener has to be listening on the device because it never knows when someone else will try to connect to it.

    2. Yes, but that listener is always active just in case you try to send to it from another device. It will bring the Database Documents window forward when the file is sent to it.

    It’s very puzzling. I’ll have to see if this same thing happens with High Sierra. It could be a Sierra only bug.

    August 14, 2017 at 11:51 PM #24012

    Brendan
    Keymaster

    I created a small sample application to test this out and it’s not just Tap Forms that causes this issue. Whenever an app sets up a listener and registers itself with Bonjour, it causes a network performance drop on that Mac. It’s also a problem in the latest beta version of High Sierra.

    I’m going to do another test and send it off to Apple as a bug report. So far the test I did was to setup a Couchbase Lite listener. I’m going to do another test just using Apple’s own MCNearbyServiceAdvertiser which I believe also causes the problem.

    August 15, 2017 at 1:28 AM #24015

    Brendan
    Keymaster

    I wrote a sample app to demonstrate the problem. You can try it out yourself with the attached sample Xcode project. It’s not Tap Forms. Just a sample app that starts a listener using Apple’s MCNearbyServiceAdvertiser. It demonstrates the problem nicely. Also attached a pre-built binary. But you might have to right-click on it and select Open if it doesn’t launch for you. I didn’t sign it with my Developer ID.

    Attachments:
    You must be logged in to view attached files.
    August 15, 2017 at 2:45 PM #24023

    Mike Schwartz
    Participant

    Brendan,

    I can confirm that the mini-app works as advertised and kills network speed. After launching the app and clicking the Start button, I looked at Activity Monitor to see if I could find a process running named MCNearbyServiceAdvertiser, or just Advertiser, or Listener. Couldn’t see anything like that. I was hoping to be able to keep an eye on things in case any other application might be doing the same thing. Before homing in on Tap Forms I was suspicious of the Amazon Music app, and I still don’t trust it.

    Until Apple fixes this issue, is there any chance that you can add a switch to disable launching the offending service? I wouldn’t mind if it were accessible only from a Terminal command line.

    — Mike

    August 15, 2017 at 5:05 PM #24025

    Brendan
    Keymaster

    I’ve already submitted the sample app to Apple as a bug report.

    No new service is launched when you start the advertiser. It’s just the app itself that’s advertising a service on the network. If you launch the Bonjour Browser application (http://www.tildesoft.com) then you can see the service being registered on the network.

    I’ll think about an NSUserDefaults switch to let you turn them off and on.

Viewing 10 reply threads

You must be logged in to reply to this topic.