Quiero disminuir la cantidad de solicitudes de PostgreSQL inactivas provenientes de llamadas de API rápida. No puedo averiguar qué es exactamente lo que deja tantas conexiones inactivas, ya que varias personas usan esta base de datos y las API asociadas.
¿Puede alguien sugerir qué podría haber hecho mal para dejar tantas conexiones inactivas o una forma eficiente de descubrir qué está causando esto para que pueda arreglar esa parte y disminuirla de alguna manera?
No estoy seguro de haber proporcionado suficiente información para explicar esto, pero si se requiere algo más, estaré más que feliz de proporcionar esa información.
captura de pantalla de conexión inactiva postgresql
Así es como estoy creando un objeto PostgreSQL a través de fastapi
class postgres: def __init__(self, config): try: SQLALCHEMY_DATABASE_URL = "postgresql://" + \ config['postgresql']['user']+":"+config['postgresql']['password']+"@" + \ config['postgresql']['host']+":5432" + \ "/"+config['postgresql']['database'] # print(SQLALCHEMY_DATABASE_URL) engine = create_engine(SQLALCHEMY_DATABASE_URL, future=True) self.SessionLocal = sessionmaker( autocommit=False, autoflush=True, bind=engine) except Exception as e: raise def get_db(self): """ Function to return session variable used by ORM :return: SessionLocal """ try: db = self.SessionLocal() yield db finally: db.close()Creo que esto es causado por get_db(self) , ya que crea (produce) un nuevo objeto de conexión/sesión cada vez que llama a SessionLocal() .