Skip to main content

Speed

What can I do to make Zyncs faster?

There are actually a number of things you can do to speed up the zync.

General

Zync over WIFI instead of 3G or 4G. =)

Zync fewer fields. Even with field level merge on, the fewer fields on your Zync layouts, the faster it works.

Found Sets

Zync fewer records. Bring down only the data a user needs to see that day / week, etc. See downloading found sets for details on how to do this. This is probably the most important thing you can do to affect zync speed.

Scripted finds on un-stored fields in the script building your found set can be a slowdown. If you've modified that "Filter Records to Pull" script, check it out.

Photos

If you have photos in your table among other fields, you may want to turn field level merge on. This will prevent photos from being sent when they didn't change. This alone can speed things up dramatically. Note that an even faster structure is to sync photos as related records and have field level merge off for that table: that's what we recommend.

Even empty fields have an impact on sync speed so instead of syncing 10 repeating container fields it can be faster to sync 1 related table with a single container field. This is true of regular fields as well as of container fields.

Slim down your photos using FileMaker's GetThumbnail() function: it can make images smaller, not solely make thumbnails.

Use FileMaker Server

If you're using FileMaker Pro as your host, GoZync can't utilize Perform Script on Server (PSOS) when pulling records. PSOS has the biggest impact on large tables and especially on large tables where few records change. Switching to FileMaker server makes PSOS possible. You won't need to change anything else in your code; GoZync 5 uses PSOS by default when it can.

Field Level Merge

Field Level Merge (FLM) should be off in most cases for the fastest sync.

For wide records (records with LOTS of fields), turn field level merge on. The more unchanged fields you have with data in them, the more of an impact field level merge makes.

For narrow records (just a few fields), turn off field level merge. It may actually slow things down to use field level merge as it can take us longer to check the fields changed than to just send the whole record. Remember, we're only sending modified records anyway. This is probably something to experiment with once you get the sync down, using the times in the Zync log as a guide.

And don't forget the first Zync (for each user) using field level merge will take a while: it is the subsequent Zyncs that are faster. Be sure to 'seed" the FLM database before you deploy your mobile files.

Modular Sync

Don't zync the whole file (all the tables) every time. Rather, use GoZync's API scripts to sync specific tables. This will let you give users buttons to just pull down those tables that change most often, and let them run their other syncs less often.

For example, they can sync the workorders table several times a day but only sync products once a month when prices change. Even better would be to deliver prices IN a new copy of their mobile file once a month.

The script to call is "Zync It - Public API - ( TOName ) { Action ; RecordID }" in GoZyncMobile. Comments at the head of that script will tell you how to pass parameters to it so you can specify which tables to zync.