Troubleshooting Performance

An introduction on how to find the cause for performance concerns, and what to do about them.

When every request feels slow

Step 1. - Check if your server is being overloaded with requests

A. Look at Instance Usage - When you log into Xano, the Instance Dashboard will reflect where there might be a usage spike based on your capacity. This is a near real-time graph (delayed by a few min) of the last 24 hours. Ideally, you want to keep things below 50% at all times, but if you aren't on the appropriate Scale plan, usage spikes could push your Database and API capacity up.

  • If Database usage is high - When the Database (blue) request line is high as shown above, this usually means that your Database is not optimized or indexed properly. Please visit the Database performance section to look at ways to fix the tables that are being queried. Usually, API usage goes hand-in-hand with Database usage, so it isn't surprising to see them at the same level in the above example. Once fixed, you should see both Database and API usage go down.

  • If API usage is high - When the API usage is high on its own, this usually indicates that there is a traffic spike and your server is running out of capacity. This normally happens when multiple users are trying to request data from your API at the same time. You can increase your capacity by upgrading to a different Scale package.

While we do obfuscate this somewhat as a No-Code platform, remember that your Xano instance is a server, which is just a computer like any other. Your usage does not necessarily have to hit 100% usage to be considered "maxed"; as load increases, performance can decrease even if the increase does not seem significant.

If you need hands-on private help diagnosing this, you can schedule a premium support call with one of our Xano team members.

B. Instance Stats You can see the volume of requests happening across all your workspaces here. This is also across a 24-hour window and is updated every hour. If you see a large volume of requests as pictured above, proceed to step 2 to see where it's coming from.

To dig deeper into the details of each request, you can proceed to Step 2 below.

Step 2. Look at the API requests for each workspace

Each workspace has a dashboard item of request history. Click DETAILS at the top right of the graph to see each request.

A. You can filter down the requests that are taking the longest. Select the magnifying class to do this. A good rule of thumb is to select requests that are greater than 5s.

B. You can click the refresh button to ensure you're getting the latest data.

C. Click on the request that takes a long time to show the details. How to diagnose a slow API endpoint

When a single API Endpoint feels slow

1. Look at the response times in the Debugger

Start by finding the API endpoint that is causing issues.

When the Function stack is executed within Xano, you'll be able to see each statement's response time.

Example

This API endpoint takes a Star Wars planet name and returns information about the planet using the Star Wars API (swapi.dev). They don't have an API that searches a planet by name so this function stack has to recursively loop through the returned planets and match up the user's request.

Debugging the screenshot below

A. There are technically three (3) items in the function stack.

B. After you click Run & Debug, click the debugger tab to see the results and response times.

C. You'll see that while there were only three functions, 14 statements got executed. This is because Function 3 is a For Each loop that goes through each result of what is returned by the API and creates a variable.

D. You'll see that the total response time is 5.39s which is quite long for a response, however you can also see in Line 1 of the Debugger that the Star Wars API request is taking 5.37 seconds to return a response. Xano's execution of the request happens much faster.

If you have already addressed efficiency concerns in your database and function stacks as detailed in how to improve your API response time, the next step is to upgrade your Xano plan for improved performance.

When Compute is Low, but Performance Still Suffers

This is an edge-case scenario, where all of the following are true:

  • Your API compute is very low (less than 30%).

  • Your DB compute is very low (less than 15%)

  • You are not querying large tables (typically 10,000 records or higher)

  • You are still experiencing one or more of the following:

    • Slow API responses

    • Trouble accessing or working in Xano

When this happens, this can mean that you have exceeded the running memory (RAM) limits of your current plan. This is not a typical scenario, but can still be addressed by exploring one or more of the following:

  • Check the amount of APIs, functions, addons, and tasks you have.

    • The more you're asking out of your server instance, the more power it needs to ensure everything can execute in a proper and timely manner. It is possible to have "too many items", which can cause some of the issues described above.

      • Reduce the amount of these items in your workspace and try again.

  • Check your table schemas

    • While it may seem strange that, as an example, a table with 100 records is taking an extended period of time to query, the number of records is not always the contributing factor. If this table with 100 records has over 150 fields (this is just an example value), this increases the query time on that table.

      • Reduce your table schema by potentially offloading some of that data into a new table.

Contacting Support

If you are experiencing slowness with Xano and can't figure it out on your own, you can contact support.

Please carefully read the following to resolve your issue as streamlined as possible.

  • Have you tried the debugging steps listed above to narrow down problematic requests or steps in your function stack?

  • If you are having an issue on your front-end, have you taken the necessary steps to ensure that everything is set up correctly on your front-end to use external data sources (like Xano)?

  • Have you consulted the Xano community and the documentation on this issue?

If you have taken the steps to troubleshoot your endpoint, please make sure that you prove the following information when contacting support.

Please be sure to read and understand support expectations around these types of issues.

Please provide the following details:

  • Workspace name

  • API endpoint/function/task that is slow (please include the URL in your address bar)

  • JSON payload, if you are passing data

  • Email or user ID, if authentication is required

  • Screenshot of your usage graph and API request graph

  • Other helpful information (describe the issue in detail), for example:

    • Is this always slow? intermittent?

    • Is this endpoint returning records? If it is, how many records is it returning, and does the amount of records seem high for what you are expecting or is it normal?

If you do not provide all of the information listed above, your support request will likely receive a delayed response

Example Support request

Workspace name: Example API endpoint: https://x07d-e032-f135.n7.xano.io/admin/workspace/1/api/2/query/13 JSON data payload: {"test": "hello there", "value": 123} Authentication: Yes - user: test@email.com Additional information and description of the issue: "This API endpoint seems to always be unusually slow. I'm experiencing a response time of x seconds. The endpoint is returning 25 records and the response looks to be correct. Let me know if you need any additional information"

How do I find all this information?

Workspace name:

API Endpoint URL that is slow:

JSON data payload (if you are passing data to the API endpoint):

User ID or email address (if the endpoint requires Authentication):

What to Expect

Due to the complex nature of these requests, it can take an extended period for us to work together with you to diagnose and resolve these issues. Expect to budget at least two to three weeks to support these specific requests. We do have priority support packages available if this is not sufficient for you.

The team will review with you the actions you have already taken as detailed in our above, and make any recommendations for additional efficiency. Please understand that every Xano plan has its limits, and our ultimate recommendation may be to upgrade to a higher tier plan, but we will do everything we can to address outstanding issues before this.

Is there anywhere else I can get help?

We understand that sometimes waiting isn’t an option. There are multiple other avenues that you can take to get support with Xano.

  • The Xano Community (community.xano.com)

  • Xano Development Partners - We have Xano partners that we can connect you with if you would like direct help developing in Xano. If you would like to enlist a Xano Development Partner, please fill out this form.

  • Connect With Xano Experts - Create a post in the Find an Expert category of the Community. Some members of the Community have a Trusted Xano Expert title. These members have been recognized by the Xano team to give great advice and support, however, they are not directly affiliated with Xano. These members may provide paid support services, which are also not affiliated with Xano in any way.

Last updated