About performance analyzer
The performance analyzer can help you improve app performance. It analyzes and provides recommendations to improve Quick Base performance when running reports, displaying forms, performing searches, viewing table home pages, sending email notifications, and saving records. It analyzes reports that are called directly, from an API, or from a table home page.
When enabled, a link to Analyze performance displays in the user dropdown on the Global bar. All users can then start measuring the performance of their own actions for the next ten minutes and view an analysis of time spent calculating each filter, field, form element, notification, etc.
The performance analyzer is not available in Internet Explorer.
To enable the performance analyzer:
From the app Home page, click SETTINGS.
Click App properties, then click Advanced Settings to expand the section.
Under Performance options, click Show performance analyzer.
Click Save. A link to Analyze performance displays in the user dropdown on the Global bar.
If the app administrator has enabled the performance analyzer for the application:
Click the user dropdown on the Global bar, then click Analyze performance. A message displays, indicating that the performance analyzer will track performance for the next 10 minutes.
Access the areas that you want to analyze; for example, a report, form, search, etc.
When you are finished, click the user dropdown on the Global bar, then click Get performance details.
If Get performance details (no details yet) displays, that indicates that you have just started performance analysis and have not submitted a request, or your actions have taken place on pages, such as Settings, that are not currently monitored.)
The analysis displays. It includes the name, the time you accessed the page, and a history of the last 10 areas you have analyzed.
Beginning with the most time-consuming category, click to view details about the request and recommendations for improving performance.
When you are finished analyzing, click Stop analyzing performance.
Using analysis to improve performance
Depending upon the areas that you analyzed, different categories may display, along with the amount of time spent performing the action.
The time displayed does not include the time you may wait for the app to load or for other requests to be processed. It also doesn’t measure network latency or how long the browser spends rendering the page after the data is received.
On occasion, the time for a field may display as 0.0 seconds but show a percentage. This is due to rounding. A field that returns fast enough to round to 0.0 is not impacting system performance; you can ignore it.
Recommendations to improve performance within each category
Subtotals — calculate totals and averages for numeric fields in the report
Limit the number of columns returned
Display only the most important data required for the user to take effective action.
Remove fields from the Default Columns list
If there are time-consuming fields in the Default Columns list, remove them.
Filtering includes applying the initial filters (matching criteria), calculating the values of dynamic filters, and applying permissions.
To improve performance:
Evaluate AND conditions first
It is both easier to understand and faster to move the repeated condition out of each sub-clause and evaluate it first. Because it is an AND condition, if a record doesn’t match, that record doesn’t need to be considered again for the other conditions.
Create formula fields for complex OR conditions
You can combine all the OR criteria into a formula field to reduce the number of filter criteria.
Why might a query have a lot of Other processing time?
For the sake of simplicity, we don’t try to categorize everything Quick Base does in a request. We try to highlight categories that you can control— identifying particular fields or matching criteria so you can decide if they are really necessary, or whether there is a simpler way to get the data you need.
Other processing time may be correlated to the total amount of data on the page (number of records, number of columns) but is not directly tied to any particular field. You’ll see a greater percentage of Other processing time on shorter requests because Quick Base spends a fixed amount of time for every query; that amount of time is relatively small, but if the entire query happens very quickly, it may seem like a high percentage. Also, the performance analyzer itself adds processing time, as it starts and stops the timers and collects the statistics on each field.
When you search from the navigation bar in your application, Quick Base looks for the search term in all searchable fields in the current table, or across the entire application. While this is very convenient, if you have large tables with many fields, it can be slow.
To improve performance:
Create home page search widgets or Ask the User reports to allow end users to search for values in specific fields.
Users often use the search box as a way to navigate quickly to a particular record and would be better served by a more specific control. For example, if users are looking up products based on the SKU, they probably don’t want to see other records that happen to have that number included in the description. Having a widget on the home page that lets users search just as easily, but only in the most relevant fields, will be a better user experience.
Only search on fields that are truly necessary.
For example, searching for fields like Record Owner and Lookup fields may not be helpful in a global search. You could improve performance by marking these as non-searchable in the field properties. This reduces the time that it takes to search the table. The fields can still be used in report criteria, but will not be included automatically in a search.
Recommendations for sorting and grouping:
Filter the result set whenever possible
Sort by a field with few duplicated values
Sort by numeric fields rather than by text fields
Avoid sorting by fields that require calculations, such as summary fields or formulas
For API calls in which the sort order doesn’t matter, pass
In this example, a report was returning 1,007,676 records, so the biggest time constraint was sorting all of them. Sorting requires looking at all the records, often multiple times. Additionally, if the field you’re sorting by includes duplicates, Quick Base looks at the default sort field to determine which one to show first. In this case, the field chosen to sort by, Milestone Code had only a few dozen different values, so there were a lot of duplicates and the sort had to use the Date Modified field frequently as a tie-breaker.
Sorting just by Date Modified improved the performance (from 95 seconds to 51), but sorting a result set that big is always going to take a long time. It is rarely useful to page through a million records, so it is both faster and a better user experience to filter a report.
For example, when this report is filtered to show only the last month’s records, the time to display the report is reduced dramatically (from 95 seconds to less than 20—a 79% improvement).
In this example, almost all the time was spent calculating a custom column because the column used a complex formula based on a summary field of a table with custom permissions. Grouping by a simpler value (a multiple choice field, requiring no calculation) reduced the time from over 10 seconds to 1.6: an 84% improvement. If your business logic requires grouping by a complicated calculation, be aware of the cost, so that you can make an informed trade-off between functionality and performance.
Uncheck the field properties for totals and averages on fields for which they are not required.
Consider removing the summary table. If there is a summary table on a table report, all the records in the report must be totaled and/or averaged on every page of the report, not just the final page. While this can be useful functionality, if a table report is slow because of subtotals, removing the summary table might help.
Quick Base performs a number of steps when saving a record. This includes sending email notifications and redirecting to a new page (for example, displaying a newly added record or returning to a report.) If the most time-consuming category on the left:
is Display record name or the name of a report, then the save action itself is not a problem. Instead, you should tune the form or report that is displayed after the save.
is not Display record name, then the save action may be slow, usually as a result of sending numerous email notifications. Click Finish saving record to see how many emails were sent.
Most of the time, if saving a record takes a long time, it is because notifications are being sent to a long list of recipients.
To improve performance:
- Send notifications only to users who need them most
- Consider using email subscriptions or reminders for users who don't need to be informed immediately about a changed record. Subscriptions and reminders are sent on a schedule, so they do not affect the amount of time it takes to save a record.
Note: There may be fewer notifications listed to the left than are configured for this action if some notifications are disabled or have identical names and owners.
If you include a copy of a record in the body of an email, Quick Base generates a separate message for each recipient because each recipient may have different field-level permissions or values in formula fields.
To improve performance:
do not include the record itself in the email, as shown in the default message for a multi-record operation, like import and grid edit
send an open notification - only one email is generated and sent to all recipients
The performance analyzer tells you how many users the changed field list was evaluated against.
For each recipient of a notification, Quick Base checks the permissions for all the fields that were changed to determine whether the recipient is allowed to see the changed values. If a recipient is not permitted to see any of the fields that were changed, he will not receive the notification.
You can see how many messages were actually sent by clicking 'Build email message.'
Grid edit saves multiple records at one time. It checks permissions and makes sure required and unique fields are present and unique, but it does not execute any form rules.
Grid edit generates one email message for each configured notification, no matter how many records were added or modified.
Most data entry errors are caught before the form is submitted, but unique fields and some form rules are evaluated when the record is saved.
If this check is taking a long time, it may be because there are unique fields on the form and many records in the table that must be evaluated to ensure that the value is unique.
You also can optimize Quick Base performance by using one of the recommended browsers.
© 1999-2019 QuickBase, Inc. All rights reserved. Legal Notices.