¿Cómo puedo perfilar una aplicación potenciada por SQLAlchemy?

¿Alguien tiene experiencia en perfilar una aplicación Python / SQLAlchemy? ¿Y cuál es la mejor manera de encontrar cuellos de botella y fallas de diseño?

Tenemos una aplicación Python donde la capa de base de datos es manejada por SQLAlchemy. La aplicación utiliza un diseño por lotes, por lo que muchas solicitudes de base de datos se realizan de forma secuencial y en un tiempo limitado. Actualmente se demora un poco en ejecutarse, por lo que se necesita algo de optimización. No utilizamos la funcionalidad ORM, y la base de datos es PostgreSQL.

Respuestas a la pregunta(4)

Su respuesta a la pregunta