Gracias por la data! Saludos Esteban _____
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Maxi Accotto Sent: Martes, 06 de Marzo de 2007 16:46 To: Esteban A. Zibecchi Subject: [dbms] Dimensionamiento Servidor Por nada, si te interesa el tema recomiendo los siguientes links http://www.sql-server-performance.com/ http://www.sql-server-performance.com/sql_server_performance_audit3.asp El día 6/03/07, Carlos Peix <[EMAIL PROTECTED]> escribió: Mas gracias Carlos _____ From: [email protected] [mailto: [email protected] <mailto:[email protected]> ] On Behalf Of Maxi Accotto Sent: Martes, 06 de Marzo de 2007 03:20 p.m. To: [EMAIL PROTECTED] Subject: [dbms] Dimensionamiento Servidor jaja, mira, este tema es interesante porque hablamos por lo general de ahorrar $$$ y en algunos casos puede ser importante el numero, hay veces que no es una cuestion solo de ahorrar sino de la imagen que damos, si requerimos mucho Hard es muy probable que a nuestro cliete no le guste. Los datos que te di son de un server en produccion pero asi como ese tambien tengo otros ejemplos. Basicamente el tema de que una aplicion se pone lenta en un 90% de los casos no es problema de Hard ni mucho menos, por lo general tenes estos problemas 1) Transacciones largas 2) Tablas temporales 3) Uso de cursores 4) Falta de indices e indices de mas donde no hay que tener 5) Diseños no eficientes lo cual para hacer una busqueda debo complicar la query y muchas veces esto hara tener mas lecturas Por lo general los problemas de performance se dan en lecturas al sistema I/O, en pocos casos me ha tocado ver que el CPU sea realmente el problema, y si hablamos de un 3Ghz con ese temaño de base y esos usuarios el CPU no deberia nunca pasar el 80% Si se cargan datos de forma masiva necesitas velocidad de disco tambien. Los reportes son querys que se ejecutan contra el motor, si aca somos inteligentes y no queremos por ej resolver cosas con TSQL que las hace el sistema de reporte entonces no deberias tener problemas, tampoco es bueno por ej traer 1.000.000 de registros solo para ver 10 o 20, todo esto hace un mayor consumo de IO lo cual por lo general hace que sea mas lento. Hace unas semanas vi con un cliente un servidor para SAP contra SQLServer y esta gente tiene mas de 300 usuarios con una base que hoy tiene casi 120gb y llegara a los 500GB, el server que se puso fue: Dual core x64 4GB de RAM Discos SCSI 20k en RAId 0+1 De todas maneras hay algunas herramientas para hacer estress, como asi tambien algunos tips para que nuestro servidor de base de datos no sea un cuello de botella, algunos ya son los expuestos anteriormente y otros podrian ser: 1) Que el servidor SQL no sea tambien Controlador de Dominio 2) Que se asigne la memoria necesaria al SQL y no se lo deje libremente 3) Tratar de tener mas de un disco fisico y dividir lo que es log de transacciones de lo que es data y tempdb (esto seria lo ideal) 4) No comprimir discos ni cosas por el estilo 5) Si tenes un antivirus en el server que no se dispare automaticamente y sea un proceso controlado a un horario de poca carga, por lo general estas cosas influyen bastante en la performance global del server 6) Actualizar las estadisticas 7) Tener un buen mantenimiento del log de transacciones, por ejemplo en el modelo anterior con una base de 2GB el log no deberia ser mayor a 300MB como mucho, un mayor log hace que se necesiten mas recursos del servidor para poder controlarlo. 8) Revisar el uso de indices, por cada indice que ponemos penalizamos las sentencias de insert, update y delete 9) No resolver con SQLServer cosas para lo cual no fue pensado, si quiero un reporte en columnas por mes eso lo deberia resolver fuera y que solo el SQL me de la data Un abrazo -- ---------------------------------------------------- Microsoft MVP en SQL Server SQLTotalConsulting - Servicios & proyectos en SQLServer Orador Culminis - Microsoft Influencier www.sqlgurus.org <http://www.sqlgurus.org/> ------------------------------------------- El día 6/03/07, Carlos Peix <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > escribió: Ah, asi es facil, con experiencia cualquiera... Bueh, gracias, tendre que contratarte entonces cuando necesite algo asi :-) Gracias por la info, creo que nos sirve a todos. Carlos _____ From: [email protected] [mailto: [email protected] <mailto:[email protected]> ] On Behalf Of Maxi Accotto Sent: Martes, 06 de Marzo de 2007 01:34 p.m. To: [EMAIL PROTECTED] Subject: !-> [dbms] Dimensionamiento Servidor Hola Carlos, los calculos no los hago mentales sino de experiencia, mira aca tengo 2gb de ram penitum iii 1gb base de datos 20gb 150 usuarios concurrentes Reporting services 2005 Reportes sin BI y sin base dedicada Software ERP Windows 2003 No hay timeouts, bloqueos y la query q mas tarda es de 3segundos Si haces la cuenta de cuanto consume una conexion de SQLServer veras que con 2gb de ram esta mas que hecho para 50 usuarios. Un abrazo! El día 6/03/07, Carlos Peix <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > escribió: Hola Maxi, Hola Esteban, A mi me huele que estas en el limite, digamos, que estas en una situacion de cuidado, sobre todo si tenes una especificacion de tiempo de respuesta para los usuarios y los reportes. Puesto en una ecuacion: 15 o 20 GB de informacion + 50 usuarios concurrentes (respuesta sub second) + 5 usuarios sacando reportes (respuesta 15 segundos?) = CUIDADO! Tenes alguna via de escape armando una base de datos paralela para reporting (si es posible). Maxi, como haces vos los calculos (mentales) que te dan que este servidor funcionará bien? Carlos _____ From: [email protected] [mailto: [email protected] <mailto:[email protected]> ] On Behalf Of Maxi Accotto Sent: Martes, 06 de Marzo de 2007 12:17 p.m. To: [EMAIL PROTECTED] Subject: !-> [dbms] Dimensionamiento Servidor Hola, con ese servidor no deberias tener ningun problema, si los tienes es porque las querys no estan siendo optimas desde el diseño pero a nivel Hardware estas bien comparando el tamaño pequeño de la base de datos y su crecimiento. Un abrazo ---------------------------------------------------- Microsoft MVP en SQL Server SQLTotalConsulting - Servicios & proyectos en SQLServer Orador Culminis - Microsoft Influencier www.sqlgurus.org <http://www.sqlgurus.org/> ------------------------------------------- El día 6/03/07, Esteban A. Zibecchi (MUG) <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > escribió: Hi listeros! Molesto porque estamos con un servidor con la siguiente configuración - HP Proliant ML 350 (Xeon 3Gz con 2gb RAM y 3 HD SAS de 72Gb en Raid 0+1) - Win2003 Server SP1 - SQL2005 Standard SP1 - 50 usuarios que ingresan datos - 5 usuarios que realizan reportes relativamente complejos - La aplicación está con .NET 2.0 y los reportes con Crystal - Usamos siempre Sps para acceder a la data. Actualmente la BD tiene 2.5 Gb y las tablas más grandes son 3 con un par de millones de registros cada una. El crecimiento es de 200Mb por semana y calculamos que no pasaremos nada a histórico hasta no tener 18 meses por lo menos con lo cual estaremos en el orden de los 15Gb aprox. De la experiencia de Uds, tienen idea si el servidor se bancará esta configuración? Gracias por cualquier data. Saludos Esteban -- -- ---------------------------------------------------- Microsoft MVP en SQL Server SQLTotalConsulting - Servicios & proyectos en SQLServer Orador Culminis - Microsoft Influencier www.sqlgurus.org <http://www.sqlgurus.org/> ------------------------------------------- -- ---------------------------------------------------- Microsoft MVP en SQL Server SQLTotalConsulting - Servicios & proyectos en SQLServer Orador Culminis - Microsoft Influencier www.sqlgurus.org -------------------------------------------
