Performance issues after 30.1 upgrade

Hey All,

I upgraded our Metabase instances to 30.1 over the weekend, and now that people have started using it we’re hitting some major perf issues. Simple queries like “SELECT * FROM table LIMIT 10” hang indefinitely, and timeout. I can run the same query in PSequel with no problems. I also have people reporting that typing in the query editor is “weirdly laggy”.

We have 3 instances of metabase behind a load balancer in ECS, using the 30.1 docker image. I have MB_JETTY_MAXTHREADS increased to 300 from the default, and JAVA_OPTS set to ‘-Xms8192m -Xmx8192m -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps’ which is %80 of the machine’s memory. We weren’t having these problems with 29.3. I noticed that auto-complete is making a bunch of API calls - is there any way to turn it off just to see if that’s causing problems?

1 Like

Any advice on how I can debug, or any settings to tweak? Every 1-2 hours Metabase becomes completely unusable for the entire company - no queries will run until someone manually goes in, and restarts the ECS instances.

“Anyone else having Metabase struggles? simple queries such as select * from carriers limit 10 are :loading: indefinitely for me. I ran queries last night, after the migration, and it was working a-ok”

“I’m getting this error again. :loading: forever on a simple SELECT * FROM shipments LIMIT 10 test. Have we identified a workaround for this?”

“is anyone else having issues with metabase this morning? continuing to get the “Doing Science” spinner for long periods of time.”

Jetty stats from the logs are: Jetty threads: 8/200 (123 busy, 51 idle, 0 queued)e. I’m wondering if I have max threads set too hight for the amount of memory each machine has (10gb)?

Do any of the suggestions reported here Metabase 0.30 RC: Queries timing out, other issues (AWS ALB HTTP/2 related) help by any chance?

!!! Not sure how I missed this, but I’m trying the HTTP/2 change - I was able to repro X-Rays taking down Metabase, so hopefully this is it. This should be stickied here, and I’m going to open an issue to get this added to the setup documentation.