what is the use of the pool option in database.yml

It sets the amount of possible connections per ruby process. So in case you are threading your rails app, or you use transactions excessively. The limits here depend on your setup. Consider this:

  • 50 ruby processes
  • each with 100 threads
  • a mysql with a setting of 1000 simultaneous connections

so it makes sense that every process can open at most 20 connections (50 * 20 == 1000) at a given time. So you would set the pool value to 20 or less.

Leave a Comment