Qual é o método de overhead mais baixo para garantir a conectividade do banco de dados entre um servidor da Web e a camada do banco de dados?

1

Temos um aplicativo da Web ASP .NET que depende muito de bancos de dados hospedados em hardware separado. Estamos procurando expor um ponto de extremidade (provavelmente apenas uma simples página .aspx) que pode ser usado por ferramentas externas / partes interessadas para determinar se o aplicativo da Web está ou não "em funcionamento". Vamos chamar esse endpoint do Status Monitor.

Como o aplicativo da Web depende muito da camada de banco de dados, queremos que o Monitor de status garanta que ele possa atingir o banco de dados. Dito isso, o Monitor de Status pode ser atingido muitas vezes por hora, portanto, queremos que essa verificação do banco de dados seja o mais barata possível.

Eu estava pensando que teríamos o Status Monitor aberto em uma conexão DB e fazer uma rápida consulta "select @@ version" como um meio de garantir que a conectividade do banco de dados esteja funcionando.

Existem métodos e / ou consultas mais baratas para estabelecer que o servidor da web é realmente capaz de se conectar e consultar a camada do banco de dados?

    
por Jesse 18.10.2011 / 19:58

1 resposta

1

I was thinking we'd have the Status Monitor open a DB connection and do a quick "select @@version" query as a means to ensure that database connectivity is up and running.

Isso é apenas o melhor caminho. Confirmando não apenas a máquina do banco de dados está em execução, mas o banco de dados está em execução e a conectividade é possível. Um ping (por exemplo) ou uma verificação do WMI não verificaria o último.

Lembre-se de conexões de pools .NET, portanto, isso não significa necessariamente uma nova conexão completa (com sobrecarga de autenticação etc.).

    
por 18.10.2011 / 20:14

Tags