Foros del Web » Programando para Internet » ASPX (.net) »

Optimizar Recursos

Estas en el tema de Optimizar Recursos en el foro de ASPX (.net) en Foros del Web. Buenas, estoy haciendo una aplicacion web que tendra unos picos de acceso barbarisimos. Mi duda viene en el momento de hacer las conexiones a la ...
  #1 (permalink)  
Antiguo 28/11/2007, 13:40
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Optimizar Recursos

Buenas, estoy haciendo una aplicacion web que tendra unos picos de acceso barbarisimos.
Mi duda viene en el momento de hacer las conexiones a la bbdd.
Normalmente creo la conexion con un objeto sqlconnection, lo abro, uso un sqlcommand o un sqldataadapter y ejecuto o recupero datos.

los datos q recupero los suelo meter en un dataset. y por ulitmo cierro esa conexion con el close.

¿deberia cerrar la conexion con un dispose o algo asi?
__________________
Moitas Gracias desde Galiza!!!
  #2 (permalink)  
Antiguo 28/11/2007, 14:00
 
Fecha de Ingreso: noviembre-2004
Ubicación: Asuncion - Paraguay
Mensajes: 155
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Optimizar Recursos

El abrir conexiones continuadamente consume recursos. Podrias tratar de mantener la conexion abierta hasta que se procese todo y al final cerrarla
  #3 (permalink)  
Antiguo 28/11/2007, 14:07
 
Fecha de Ingreso: noviembre-2007
Ubicación: Trabajo en INEGI
Mensajes: 33
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Optimizar Recursos

Hola

No se de cuantos registros estes hablando, sin embargo yo utilizo oracle y sqlserver y me parece bastante racional el tiempo de respuesta, evito a toda costa hacer Select *


Te envio estos procedimientos haber si te sirven.


private SqlConnection miConexion;

public SqlDataReader RecuperaFilas(string StrSql)
{
SqlDataReader miReader = null;
try {
miConexion = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand miComando = new SqlCommand(StrSql, miConexion);
miConexion.Open();
SqlDataReader result = miComando.ExecuteReader(CommandBehavior.CloseConne ction);
miReader = result;
}
catch (Exception) {
miReader = null;
}
return miReader;
}


public DataTable RecuperaQuery(string sQuery)
{
DataSet ds = new DataSet();
miConexion = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(sQuery, miConexion);
adapter.Fill(ds);
adapter.Dispose();
CierraConexion();
return ds.Tables[0];
}

public void CierraConexion()
{
miConexion.Close();
miConexion.Dispose();
}



Compartir el conocimiento es un acto de agradecimiento a todos aquellos que lo formaron.
  #4 (permalink)  
Antiguo 29/11/2007, 03:03
 
Fecha de Ingreso: julio-2005
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Re: Optimizar Recursos

¿El procedimiento que devuelve el datatable tambien seria bueno hacerle un dispose?

He estado mirando cosillas por los foros y hay gente que dice que aun haciendo dispose no libera bien los recursos.

¿Existe alguna aplicacion que te permita medir los recursos consumidos en servidor?
__________________
Moitas Gracias desde Galiza!!!
  #5 (permalink)  
Antiguo 29/11/2007, 09:01
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Optimizar Recursos

Cita:
Iniciado por danybarco Ver Mensaje
¿Existe alguna aplicacion que te permita medir los recursos consumidos en servidor?
Haz uso de Web Application Stress Tool y Performance Counters. Esto te dará una idea si tu aplicación es usable o no bajo cierta carga.

Por otro lado, si como dices tu aplicación será bastante concurrida, yo me alejaría cuanto antes de los datasets. Digo esto porque el acceso a la base de datos es sólo una parte del problema, te sugiero que revises artículos sobre rendimiento en ASP.NET para que tengas una idea de todo lo que implica desarrollar aplicaciones escalables.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.