ASP sirve para miles de usuarios ?

09/06/2005 - 18:18 por Moncho | Informe spam
Hola, me he inscrito al grupo para resolver la siguiente duda (les agardezco
me colaboren):

He desarrollado un sistema muy sencillo de pedidos en ASP y lo tengo
funcionando en un servidor desde hace tres meses. Me ha preguntado el
cliente para quien lo desarrolle sí este sistema puede llegar a soportar
miles de usuarios ya que el esta interesado en publicar el sistema no solo a
sus vendedores (50 aprox) sino que ahora quiere que los mismos clientes
(10.000 aprox) puedan ellos mismos hacer los pedidos por la pagina.

Este cliente tiene una bodega de distribucion de productos de consumo masivo
y por medio de los 50 vendedores recibe pedidos de aprox 10.000 clientes.

Soy nuevo en ASP, lo estoy manejando hace 5 meses y no se si la aplicación
que yo desarrollé soporte tal cantidad de usuarios, teniendo en cuenta que
simultaneamente no se conectan todos, pero si unos cuantos miles, no pude
responderle a mi cliente si el sistema estaria en capacidad de soportar tal
volumen de consultas simultaneas.

La base de datos que estoy utilizando es Visual FoxPro la cual acceso por
ODBC y hasta el momento ha trabajado muy bien. Si debo cambiar a SQL server
u otra pues lo puedo hacer.

Que deberia hacer yo para que el sistema si soporte un muy alto nivel de uso
?
Debo tener una configuracion especial en mi servidor ?
Debo tener en cuenta algun tipo de estandar de programacion en ASP para
soportar esto ?
Si mi aplicacion como está no sirviera, que deberia yo hacer para que
funcione ?
Debo cambiar de plataforma Windows a Linux y migrar de ASP a PHP ? ( esto lo
digo porque a algunas personas que les he preguntado me dicen que manejar
miles de usuarios en plataforma Wiindows no es buena idea, mas no sé porque)

Por favor ayudenme con sus comentarios ya que no soy experto en la matria y
necesito una solucion .

Mil gracias por sus comentarios.

Preguntas similare

Leer las respuestas

#6 Moncho
10/06/2005 - 15:11 | Informe spam
Manuel, muchas gracias por los comentarios me han sido de mucha utilidad

"Manuel Vera" escribió en el mensaje
news:#
En el texto...

"Moncho" wrote in message
news:%23px$
> Gracias Manuel,
>
> El sistema esta compuesto por 15 paginas .ASP, en cada pagina manejo 15
> variables de sesion para identificar al usuario, su perfir, y otras


cosas,
> cada variable almacena cadenas de texto que van desde 5 caracteres hasta
30.
> No se si estas sean muchas variables de sesion com para que la


aplicacion
> sea muy pesada para miles de usuarios. Cual es su opinion, 15 son


muchas?

R: Yo diria que son "demasiadas". Imaginate, la session por defecto tiene


un
tiempo de vida de 20 minutos. El usuario "A" entra y carga las 15


variables
de session e inmaediatamente se va. Durante los restantes 19 minutos
permanecen en memoria 15 variables de session. Igualmente el usario B, C y


D
hacen lo mismo, etc etc etc. Cuanto te das cuenta tu servidor web originó


un
overflow de memoria. Lo ideal sería tener 1 o 2 variables de session que
sean ID de usuario. Ese ID debe ser un codigo en tu base de datos y lo
consultas cada vez que lo necesites. Si sabes ingles puedes leer este


link:
http://msdn.microsoft.com/msdnmag/i...fault.aspx

> No estoy manejando objetos en las variables de sesion porque no se como
> hacerlo.

R: gracias a Dios. No te molestes en averiguarlo, pues es una mala


práctica.

>
> Las consultas que se hacen a la base de datos, cada una depende del
usuario,
> basicamente los registros mostrados en cada consulta son los items que


se
> estan solicitando en un determinado pedido, luego en una pagina de
consulta
> se pueden desplegar alrededor de 100 a 200 registros, que hacen


referencia
> cada uno al item solicitado ( el codigo y nombre del item, la cantidad
> pedida, el valor unitario, los impuestos, el valor total), cada registro
> pesa al rededor de 400 bites, luego una pagina que muestra 100


registros,
> pesa alrededor de 40.000 bites osea aprox 40Kb. No se si esto sea mucho
para
> una aplicacion para miles de usuarios, cual es su opinion ?

R: opino que 200 registros mostrados como listado son muchos. Deberías
restringir tus resultados de búsqueda a quizás, como mucho, 50 registros


en
un solo recordset. Te recuerdo que no tengo idea de como funciona Fox.

>
> Cada consulta esta hecha para tomar los datos de maximo dos tablas, la
> mayoria de las consultas toman la informacion de una sola tabla.
>
> Las conexiones a la base de datos, las abro solo cuando las necesito e
> inmediatamente las he usado, las cierro. Por cada pagina .ASP tengo
> basicamente dos conexiones : una con la cual valido al usuario y reviso
> algunas de sus caracterirsticas contra la tabla de usuarios y otra para
> traer la informacion de la tabla de pedidos.
>
> Al abrir la primer conexion y consultar en la tabla de usuarios,


enseguida
> la cierro y procedia a abrir otra conexion para consultar la tabla de
> pedidos, luego en ninguna de las paginas .ASp tengo al mimso tiempo
abiertas
> dos conexiones, maxiomo ha de estar abierta solo una, la cual cierro
apenas
> dejo de utilizarla. De igual manera con los recordsets, los utilizo y


los
> descargo de memoria con .Close e igualando la variable a Nothing, tal


cual
> ud. me indica.
>
> De sus observaciones deduzco que a nivel de programacion no hay que


hacer
> nada especial para que el aplicativo sirva para miles de usuarios
> SIMULTANEOS. En un pequeño curso que tome de java, el instructor


explicaba
> que Java si manejaba Multihilo y que ASP no lo hacia, luego el servidor


se
> portaba mucho mejor con aplicaciones web desarrolladas en java que en


ASP,
> pero el instructor explicaba que para poder manejar el Multihilo con


java,
> se requeria el manejo de una librerias especiales, lo cual afectaba la
> manera como una aplicacion era programada. Sucede lo mismo con ASP ?

R: Aqui ya estas saliendo de mis breves conocimientos. Imagino que Java
tendrá algo de compilación lo que le permitirá en teoría ser más rápido


que
la interpretación del código ASP.

>
> - Si ASP no es multihilo, como puedo asegurar que mi sistema si ha de
> soportar miles de usuarios simultaneos ?

R: Yo trabajo en un sitio de comercio electrónico bajo SQL Server y nos ha
ido bien. He tenido problemas por el abuso en el uso de las Session y por


el
despliegue de recordsets con muchos registros. Al arreglar estos detalles


la
aplicación web ha estado estable. Sin embargo aun se le hacen afinamientos


y
tunning para ir mejorando cada vez más.

> - En si quien (o que) se enecarga de que en un momento dado, cuando el
> servidor esta recibiendo miles de solicitudes simultaneas, estas sean
> procesadas correctamente sin que la maquina se cuelgue ?

R: Todo depende de la infraestructura tecnológica que apoye al servidor


web
y a tu aplicación. Los portales grandes imagino yo que usan servidores
espejos que se distribuyen la carga de trabajo entre ellos según vaya
aumentando la cantidad de solicitudes HTTP. En mi caso estamos en un
servidor web compartido.

> - Alguien me mencionop que en Windows2k y windows 2k3 server era


necesario
> trabajar con Transaction Server, pero no se que es esto y que implicaria
> para mi actual aplicacion ? tendria que reescribirla por ocmpleto para
poder
> utilizar el Transaction Server o no es necesario ?

R: nuevamente esto escapa de mi conocimiento. Mis flechazos irían por el
lado de la programación en 3 capas (uso de componentes COM) que son
"enlazados" o "enlazan" tu aplicación web con el motor de datos y el
Transaction Server (MTS) se encarga de conservar la integridad y
consistencia de los datos en las operaciones. Pero esos son flechazos de


mi
parte.

>
> Disculpe que le haga tantas preguntas, pero tengo miles de inquietudes.
>
> Mil gracias por sus comentarios.
>
>
Salu2
MV


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida