@Raey

Почему DB Connections в RDS всегда 0?

Объясните, пожалуйста, почему DB Connections в RDS всегда 0. Провожу операции с базой (GET, POST) - всегда пишет 0, хотя создается соединение с базой, операция проходит и потом происходит connection.close() (И 10 минут к коннекту еще можно присоединится, а после при еще одной операции будет открыто новое)
Если зайду в pgadmin, то через некоторое время будет показано несколько DB Connections (2-4).
Разве каждый запрос в бд не должен порождать коннект, который будет отображаться в мониторинге? Или я не совсем понимаю как эти коннекты работают?

615b430f249ea139462845.png

Примеры кода:
DB connection
export class DB {
  private connectionManager: ConnectionManager;

  constructor() {
    this.connectionManager = getConnectionManager();
  }

  public async getConnection(): Promise<Connection> {
    const CONNECTION_NAME = `default`;

    let connection: Connection;

    if (this.connectionManager.has(CONNECTION_NAME)) {
      connection = this.connectionManager.get(CONNECTION_NAME);

      if (!connection.isConnected) {
        connection = await connection.connect();
      }
    } else {
      connection = await createConnection(options);
    }

    return connection;
  }
}


Пример сервиса
class ItemService {
  private db: DB;
  constructor() {
    this.db = new DB();
  }
  async getItems(): Promise<Item[]> {
    const connection = await this.db.getConnection();
    try {
      return await connection
        .getRepository(ItemEntity)
        .find();
    } finally {
      await connection.close();
    }
  }
}
export const itemService = new ItemService()


Лямбда
export const getItems = async (_event) => {
  try {
    const items = await itemsService.getItems();
    return sendResponse( { items }, 200 );
  } catch (error) {
    return sendError(error);
  }
};
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@vitaly_il1
DevOps Consulting
Я думаю потому что сonnections короткие, и в моменты когда монитор проверяет, их 0.
Будет много вызовов функций - увидите ненулевое число.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы