As an aside, not directly related to Catalyst but worth bringing up anyway, I recently “discovered” DBIx::Connector ...
“DBIx::Connector provides a simple interface for fast and safe DBI connection and transaction management. Connecting to a database can be expensive; you don't want your application to re-connect every time you need to run a query. The efficient thing to do is to hang on to a database handle to maintain a connection to the database in order to minimize that overhead. DBIx::Connector lets you do that without having to worry about dropped or corrupted connections.”
It made a very dramatic speed difference to the kludgy old app that I am busy rehabilitating, and stood up quite well to initial stress-tests.