Cita:
Empezado por Casimiro Notevi
De todas formas, pienso que antes de darle tantas vueltas al tema, lo que deberías hacer es una prueba, creas un programita que realice consultas, modificaciones,etc. con códigos aleatorios y lo ejecutas tantas veces como clientes piensas que puedes tener trabajando, vas incrementando "el ataque" al servidor y vas comprobando cómo se comporta este último, así te puedes quedar tranquilo... o no.
Yo siempre hago simulaciones de los sistemas para ver si van a trabajar bien, tanto en conexiones, tamaño de base de datos, memoria, etc.
Estas pruebas las hago con muchísima más carga que la máxima esperada para el sistema en cuestión, así puedo estar seguro de que responderá adecuadamente.
Una de las últimas pruebas fue lanzar 1000 conexiones simultáneas a un servidor suse linux con firebird classicserver, realizaba selects, updates y deletes aleatorios en distintas tablas de una BD con más de 100 Gigas de tamaño. La prueba se superó con éxito.
A partir de ahí estábamos seguros que el proyecto iba bien encaminado y nos pudimos concentrar en seguir trabajando sabiendo que no habría problema.
|
Hola Casimiro,
En general, el hacer simulaciones es una opción válida y recomendable. De hecho, y hasta cierto punto nosotros también las hacemos; pero, en mi caso hay dos problemas:
1. No conocemos ni el motor ni los equipos en que se ejecutaran los aplicativos. Eso sería lo de menos porque en últimas podríamos trabajar con equipos y motores representativos; pero, igual no resulta una prueba tan diciente.
2. El gran problema es la dificultad de armar una simulación razonable porque aquí se trata de un sistema muy complejo, con muchísimas tablas de características muy disimiles, relaciones entre ellas, y procesos mezclados, que no permiten facilmente identificar los cuellos de botella más críticos. Por eso es que he procurado indagar en la parte teórica de los rendimientos.
Como sea, creo que ya no hay mucho más que podamos analizar en la parte teórica y ya toca empezar a hacer pruebas.
Saludos