Understanding Unito's Performance: A Guide to Speed Expectations
Here’s a closer look at why your flow’s sync speed can vary, may appear slow, and other performance factors.
How long does Unito take to sync?
Section titled “How long does Unito take to sync?”Unito constantly monitors your tools for any changes, but the speed at which those changes are synced between tools depends on a few factors:
- Your Unito plan: Not all plans support live syncing.
- Webhooks: Not all Unito integrations support webhooks. You can learn more about webhooks here.
- Data volume: The number of changes Unito needs to sync at one time can affect performance.
- API response times: Each connector has its own API, and response times can vary depending on the API. Learn more below.
A technical guide to the syncing process
Section titled “A technical guide to the syncing process”To better illustrate this process, let’s consider a scenario in which you create a Trello card and Unito needs to generate a corresponding Jira issue. Here are the steps involved:
- Detection: Your Unito flow identifies the newly created Jira issue.
- Evaluation: It then compares the specifics of that issue against the rules in your flow. Does your issue have the correct label or assignee?
- Creation and Verification: Unito then tells Jira to create an issue, ensures it’s in the right project, and verifies that all fields align with what’s happening in Trello.
This sequence of actions and sub-actions requires your Unito flow to interact with each tool’s API, which can take place within seconds. The more interactions involved in a single flow at once, the longer it might take for all your data to sync.
Recap: The actual time it takes to apply changes once they’ve been detected depends on the volume of changes and the response time of the tool’s API, (e.g. how fast Trello can apply a change).
What are webhooks and how do they affect performance?
Section titled “What are webhooks and how do they affect performance?”Webhooks are essentially notifications sent by an app or tool (which supports webhooks) about any new changes within the app, e.g., if a task or other work item is edited or modified in some way.
What are rate limits and how do they affect performance?
Section titled “What are rate limits and how do they affect performance?”Each app or tool we connect has its own set limits on the number of requests a specific user can make within a given timeframe. These restrictions, known as “rate limits,” significantly influence our service speed.
How do rate limit requests work?
Section titled “How do rate limit requests work?”A “request” is essentially a single instruction or question that Unito asks another app or tool.
How Unito Manages Rate Limits
Section titled “How Unito Manages Rate Limits”Unito employs a method known as throttling to avoid overwhelming tool APIs. We meticulously control the request rate to ensure we don’t exceed the rate limits established by each app or tool.
This is crucial to cater to our extensive user base, but can introduce delays in the synchronization process.
The goal is to optimize the syncing process for as many users as possible without compromising the functionality of the tools themselves.
What are response times and how do they affect performance?
Section titled “What are response times and how do they affect performance?”The speed of Unito is inherently tied to the response time of the APIs we rely on. Response time is the total time it takes to send a request to the API and get a response back, and it can vary greatly from one API to another, and even from one request to another.
How Unito’s sync platform is affected by response times
Section titled “How Unito’s sync platform is affected by response times”Unito’s User Interface (UI) is dynamic, meaning it routinely calls APIs to load lists and perform other functions at various stages.
Balancing Data Freshness and Speed
Section titled “Balancing Data Freshness and Speed”We understand the importance of having up-to-date information that syncs quickly. For all of the reasons outlined above, it’s crucial to consider how best to prioritize which data points need to be updated soonest.
If you’re constantly dealing with large volumes of data, it may be worth creating flows with stricter rules to sync the most important work items first. Then, create a second flow for additional information that isn’t as urgent. You can achieve this simply by, for example, including only one status or label in the more concise flow, and excluding that same label from the broader flow.