DEV Community

Vladislav Kopylov
Vladislav Kopylov

Posted on • Edited on

1

Why Ruby app deploy is getting progressively slower

I have a big and stable Rails application which has been running in production for 5 years. Each time I deploy the code using Capistrano and I've noticed that deploying time is getting slower. It takes 5 minutes longer than we are used to. Looking through the logs, I've noticed that the task bundle exec rake db:migrate takes 5 minutes. It was unusual!

I've done some manipulations with a deploy script. I noticed that due to the creation of new release, the first run bundle exec <COMMAND> is terribly slow. I was shocked. I had idea that there is something with code initializing or with caching.

I use Bootsnap for each my Rails application and I've noticed one thing:

Note also that Bootsnap will never clean up its own cache: this is left up to you. 
Depending on your deployment strategy, you may need to periodically purge tmp/cache/bootsnap*. 
If you notice deploys getting progressively slower, this is almost certainly the cause.
Enter fullscreen mode Exit fullscreen mode

Yes, it was the answer! After some years of using Bootsnap on the server it has written caches for 180 Mbs. I have deleted all cache files using rm tmp/cache/bootsnap* and It helps me. Be aware, if you are using Bootsnap and your application is getting slower on the boost, maybe there is a problem with a large amount of cache.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay