Quickbase Announcements

 View Only

Ask Me Anything about Quick Base Performance

By Evan Martinez posted 10-14-2019 09:38

  

We are excited to continue our Ask Me Anything series and to be inviting Harrison Hersch, a senior product manager here at Quick Base, to join us on the Community to talk about his work on Performance.  
 
On Thursday, May 23rd, we'll host a live AMA (Ask Me Anything) featuring Harrison. Harrison will be here from 2-3 p.m. EST to answer any questions you have about what we have been doing in the last year to make performance a priority in Quick Base, how Quick Base is developing for even better performance in the future, or anything else you would like to know about Harrison and his work.

Was there something in our release notes in the last year that you find confusing or don't know how to apply to your apps? Are you curious what we mean by performance and how we think about efficiency in Quick Base? Is there something you feel is sluggish right now and you are curious if it is on the docket for change? Alternatively, do you have a success story to share on how Quick Base performance has helped you and your org?
 
You can start submitting your questions here in this Community thread between now and the event. Then Harrison will be in this community thread live to tackle them on Thursday!

Recent AMAs
_
_AMA about Mobile with Chris Hutchens and Bob Gregor
AMA about Visual Builder with Jon Arias

Permalink

Comments

05-28-2019 18:25

Will the calendar view on dashboard ever be available to view entire year at once? 

05-23-2019 19:57

One quick tip is to ensure that you do not have apps that needlessly paint a bunch of fancy charts and summary reports on the table home page.  Put those on a separate dashboard and provide a button to link to that dashboard.

05-23-2019 19:02

One word answer = yes...BUT I could do a lot of good things with that feature just as an admin. I'm in more of the camp where I wouldn't dare let the above mentioned users manage an app BUT I understand that doesn't work for everyone. It would be cool to see that feature on custom columns for non-admin users so they can get that excel formula checking experience there.

05-23-2019 18:57

Hi Kyle. We offer a handful of tools to help you diagnose this. Here are a couple:
https://help.quickbase.com/user-assistance/monitoring_performance.html
https://help.quickbase.com/user-assistance/about_profiler.html

We would encourage you to put in a support case with our Care groups. The more information you can provide us, the better. We can look at backend logs to see what is going on and make some recommendations to help you improve the app. For example, there may be opportunities to improve reports or form responsiveness.

We also have a lot of content geared up for Empower. Will you be joining us? We even have a performance workshop where we will help you with your app live!


05-23-2019 18:54

Hi Jonathan. We will post sessions and audio records here: https://university.quickbase.com/series/empower but I don't think there will be video. We have a handful of sessions around performance/scale at Empower. We also will be doing a deep dive into how Quick Base works under the hood.

We have tables with thousands of fields (though we wouldn't encourage that without discussing with us first). Are you looking for information on optimizing your current app?

05-23-2019 18:51

Hi Owen. Sorry you went through this. We continue to make investments under-the-hood. We have a lot to share about this at Empower and have also had a handful of improvements recently released.

That being said, we are able to contribute to a fully scalable ecosystem. We put significant effort into this area. At the bottom of that article is a link to something our best practices team wrote on the best ways to share data. We see the most important part of preventing your situation as getting builders the right information early on in the process. The miss on our part was that you didn't have any of the information up front about cross apps and guiding principles around app structure.

Cross apps are a powerful tool, but they force Quick Base to share resources because of our unique in-memory database architecture. So this is a trade-off we want to empower folks like you to make by having the right information to make educated decisions and we will be there to support you through the journey.


05-23-2019 18:47

I have been pretty happy with performance in Quick Base, our apps seem pretty speedy but there are definitely some specific times of day where my users tell me things are feeling slower as we have gotten bigger. Things have been a better lately but I've got my fingers crossed it will stay that way. I'm wondering what is causing this, and what kind of stuff are you planning to make it better or make it easier for me to figure it out?

05-23-2019 18:35

Mark's "million records" use case is interesting. Obviously there are a lot of flavors when it comes to apps and tables. I have an app with a key central table with tens of thousands of records, but more complexity in relationships and # of fields than this example. It would be interesting for QB to post some other use cases. Perhaps this will happen during the Empower Oil Change session but I'm not able to attend. Will the sessions be posted this year, with video and ppts?

05-23-2019 18:31

Aghh. Ok. So we have actually heard that users want this too, especially in finance/ops, similar to how those users interact with Excel and can step through the formula. I would also expect you would want this to work in _Test as Role/User_ as well?

05-23-2019 18:30

Last year I had several apps that were very unresponsive and I had to ask for help from several Quick Base engineers who required me to make some significant changes to my apps and several of my cross-app relationships that I created. Are you planning anything that will help me avoid these kinds of situations in the future? Having to rework my apps to remove those relationships was not easy and took up more time then I liked.

05-23-2019 18:29

I was assuming this would be/should be/need to be an admin function considering you'd likely want to not have any access restriction to data, fields, etc.. to ensure the step through is 'pure' in a sense. I was thinking leveraging dependency diagram would be a good start to do some kind of step through where I could pick some source record/data and see the results of each step/dependency.

05-23-2019 18:19

Love this idea. We already added the dependency diagram and have thought about different ways we could expose what you are looking for. There are a handful of challenges that are on the list here:
  • Some admins do not want users to be able to see this. That means we will have to add a toggle, which introduces the concern of where that toggle goes. Form level? Table level?
  • Behind the scenes, we are smart enough to not recalculate certain things until needed (there is a lot that goes into this decision on the fly) and so displaying that calculation needs some work in those cases.
Would love to hear any other thoughts folks have on this.

05-23-2019 18:17

Yep! We will be talking about this a little at Empower. In short, we want to expose much of what you have mentioned here to realm and/or app admins.

05-23-2019 18:16

Hi Erin. We are focused on performance of Quick Base applications for this AMA, but I would love to offer some insight.

  1. Regarding the # of summary fields, I would suggest posting this on UserVoice (or voting if already there). We regularly have healthy debates about what we want to default for users. For those of you that want "# of..." automatically added, there will be many folks upset that we are cluttering their application! :). It is a common struggle and we try to root these decisions in experience, data and user studies.
  2. For "Use New Experience", what are you referring to specifically? We generally offer newer experiences for a limited period before transitioning fully to the new. This is important to ensure the reliability, consistency and our ability to support the platform. If you are having an issue, please open a Care case so the teams can look into it. Note that we _are_ working on a new way to manage your experience preferences for things like this, but wouldn't have a way for example to keep or force all users to a legacy experience.

05-23-2019 18:12

Hi Jenni. By themselves, Automations are performant and we have put significant effort into improving the infrastructure and scalability of those over the past ~6 months.

Since we use our own APIs as a best practice, we also have to consider the performance of the Quick Base app itself. That means designing the Automations carefully to not do something like add/modify/delete/copy huge amounts of records all at once while your application is heavily being used by users. While it is always good to design for performance, by and large, most people do not experience any performance issues in Quick Base, let alone in Automations.

05-23-2019 18:09

Integrations in general are extremely tricky when it comes to performance. We have to tango with multiple things such simply server load as the other system's response time, API limits/pagination rules as well as our own. We are aware of some situations where there have been Sync issues with certain connectors and we have made improvements to those respectively. I'm going to ask someone to reach out to you to gather more details so we can look into this.

05-23-2019 18:03

I think you mean the users page when in an app, right? The new users page launched last year at an admin level is extremely fast and handles 10,000+ users very well. In short, we plan on replacing that page with a more modern version that can will handle far more than a few hundred users with ease.

05-23-2019 18:02

Thanks, Mark. Love this. I will tell you that for a "transactions" type of table like this, we have tables with way more than a million records. To your point, there are tables with 50mb performing slower than tables with 500mb+ due to the complexity involved with what the app is asking us to do.

05-23-2019 17:58

Hi Janet. Awesome question. In fact, this is in our "Do It Yourself App Oil Change" this year at Empower. In general, the way we recommend handling this (short term) would be to use _Test as Role/User_ and then the Performance Analyzer. If you encourage users to turn on the Performance Bar, and report to you when they see something that looks slower than expected, you should be able to easily replicate that.

Long term, we are definitely interested in providing more information. For example, instrumenting audit logs with transaction processing time so you can do some analysis. We also are working on some realm-level things where we can provide heuristics at a higher level. You would then be able to use this as a guideline of where to focus.

05-23-2019 17:48

Hi Everyone,

I just wanted to give you all an update to say that we will be starting up the AMA in 10 minutes so if you still have your questions get them in so that Harrison can start reading up!

05-23-2019 13:55

One other thing. Would you guys ever be open to sharing the logic/flow as to how you evaluate a summary field or formula field? My dream would be the ability to 'step through' a summary or formula being evaluated in a debugger kind of experience; but even just having a granular breakdown of the logic would be helpful.

05-23-2019 13:52

Is there anything in the road map in terms of an app/realm performance dashboard. Something that could show:

  1. Failed webhooks & automations
  2. High frequency permission denials -- possible security or configuration issue
  3. Long requests (API queries, dashboards, reports, forms, automations)
  4. High frequency data validation errors
  5. High volume requests (imports, API actions)
Maybe something that could be toggled on/off for a day, week, month to get some trends for 3-5, and that would probably be a massive volume on your end.

05-22-2019 22:02

1. Would be great to automatically add the summary for # of child records to the parent when creating a relationship

2. Can the Use New Experience be per role or another setting? When turning it off, it doesn't seem to stay off.

05-22-2019 18:27

I'm utilizing Automations more. Is there anything I should be aware of to ensure an automation doesn't affect overall QB performance for other users?

05-21-2019 21:39

Are there any plans to improve performance on the Users page when you have a lot of users? I notice when we start hitting a few hundred, it gets very slow to search/filter on that page.

05-21-2019 18:40

What is planned to improve the performance of Sync? Using Sync to connect to Salesforce can be a nightmare depending on the number of records. We receive constant Sync failure notifications and the refresh remains in a loop and cannot be cancelled unless I put in a support case with Quick Base.

05-21-2019 17:52

Just a anecdotal comment on an app I just did as sometimes users wonder what the performance will be for an app with high record counts.  The typical response on this forum and from support will be the stock answer is "well it will depend on the complexity of your app and especially on the # of summary fields which need to be calculated to display the report or record or dashboard".

In my app there is one main data feed table which is a child to several other Parent tables. It has 1 million records.  The individual size of these child records is small, with not very many fields so the table is only 33% "full" despite the 1 million records 

Each parent table has a small handful of summary fields but these summary fields on some cases are themselves rolled up to higher level Grand Parent records.

The app was specifically planned using Sync Tables for various Parents to be sure that the app is isolated from the rest of our apps.

The app takes a good 30 seconds to wake up if it has been sleeping quietly, but once it loads to memory the response time for a Dashboard which requires the app to summarize these 1 million records on three different reports, is about 5 seconds.  That is quite acceptable to our users.  Since large Excel workbooks also can take a long time to open, we explain that to our users and they understand that the data in the app needs to load to memory, same as Excel - so they have their expectations set for when they wake up the app for the first time in the day.

Other screens which require the app to draw data from these 1 million records, but only need to extract and summarize data for just 1 customer load in under a second or two.

I think that this app performs well because it was designed knowing that Performance was a risk and the # of summary fields is reasonable.  There were other possible designs for the data feed level of aggregation which would have resulted in higher record counts for that million record table, but we estimated that if we kept the record count to about a million without too many fields that we would not hit the table limit of 500 MB and the app response time would be OK.  I was pleased to see that it performs quite nicely.


05-21-2019 17:15

As an App Administrator I can Show the performance bar and performance analyzer for users in an app. Because I am not typically a user in the app, running reports, adding records etc. Turning this on for myself is not all that helpful. Is there anything in the road map where as the app administration I can turn performance analyzer on and see results from all users and their movements, usage etc? As the app administrator that would be helpful to see and understand to find out what things I might want to work on to improve app performance. Many of our users if we asked them to use it would not know what to do with the information and I believe that should the app admin responsibility. 
Thanks!!!!