-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slow performance when running dbt (in docker) #1002
Comments
Thanks @elexisvenator! The repo you linked is going to be super useful here. We just cooked up an issue to add performance instrumentation which should definitely help us pinpoint any issues here! We'll dig into this and let you know what we find |
Hi @drewbanin There seems to be a lot of thread waiting for no good reason. |
@drewbanin I modified runner.py to not use a threadpool, instead of
And the winner is.... Yes, of the 191 seconds it takes to process 159 models, it spends 154s processing ssl and connections. Does this mean that connections are not being cached correctly? Also, I have only witness this happen inside a docker container talking to a postgres db also in docker. |
Thanks @elexisvenator! I DM'd you with some questions. I think we can get to the root of this, then update here for anyone else having this issue |
@elexisvenator I recorded an issue over here: #1063 The near-term workaround is to disable tracking in your Thanks for digging into this! |
dbt seems to be very slow when it is executed. This issue happens inconsistently across our developer's machines without any reliable way of reproducing. This changed when we started using docker, which was consistently slow.
Key characteristics of the behaviour are:
dbt seed
anddbt run
, does not affectdbt test
I have made a minimal repository that reproduces the issue, the scripts are configured for windows but can be converted to run on linux/mac as well, as long as docker is available.
https://github.com/elexisvenator/dbt-performance-issue/tree/master
Running the script
./data_transform.sh
will result in the following output. Note the time between each executed step compared to that step's duration.I am happy to help with any troubleshooting :)
The text was updated successfully, but these errors were encountered: