When we released v2 of fmAccounting Link (Xero Edition) a few months ago we mentioned in the announcement that users could expect to see faster downloads and uploads between FileMaker and the Xero API and that we had seen improvements of 35% from v1 to v2.
We had seen similar improvements when releasing the updates to our other solutions to run on the FileMaker v16 or later platform using native functions and script steps, compared to the previous version that required a FileMaker plug-in to communicate with the various APIs (Shopify, WooCommerce, MYOB and now Xero).
We had some early feedback from customers letting us know just how much faster they were finding v2 compared to v1. For example we had reports that users were seeing improvements of between 45-80% when performing bulk operations with Products, Invoices and Contacts. This meant that users were going from requests that were previously taking over 16 minutes to now taking just over 4 minutes – that’s a significant timesaver!
We decided to perform our own series of benchmark tests using the same data set for both v1 and v2 of fmAccounting Link (Xero Edition), focusing on bulk uploads and downloads of Contacts, Products and Invoices which represent the most common API endpoints that most of our users engage with. Working with a sample of 100 records we found the following:
- Contacts (including Addresses and Phone Numbers) uploaded 44% faster and downloaded 61% faster
- Products uploaded 45% faster and downloaded 56% faster
- Invoices (with multiple line items) downloaded 65% faster
Our tests with v2 were running too fast initially – we kept encountering the
429 (too many requests) response code which is returned by the Xero API when you exceed their API Rate Limits. We kept hitting the limit of 60 calls per minute with our bulk upload tests and ended up adding a short pause to these scripts so they would stay within the Xero API Rate Limits (we added the same pause to our v1 tests).
Here’s some charts showing the time taken to complete each request for v1 and v2 – you can see that v2 is typically 50% faster than v1 in most operations:
We’re planning to do some further optimisations of our fmAccounting Link solutions for Xero and MYOB and our fmEcommerce Link solutions for Shopify and WooCommerce to further improve the performance when processing large sets of JSON data. For example we believe we can reduce the time it takes to download large numbers of Orders from Shopify and WooCommerce – we’ll report back on our findings in a future blog post.