Ver Mensaje Individual
  #5  
Antiguo 05-04-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Fossy Ver Mensaje
Por otro lado no uso BD, la estructura que me estoy haciendo a medida va en base a ficheros, es decir, cada usuario un directorio, y dentro de cada directorio un fichero básico con su información de registro, y un fichero de intercambio con la aplicación del móvil.
Pues describes el caso de uso donde un servidor web es super-optimo: servir archivos. Puede que te resulte mejor si pones al frente de tu app un servidor como nginx. Si el resultado final es un archivo, este mini-servidor web es tremendamente optimo.

Cita:
Empezado por Fossy Ver Mensaje
No uso BD precisamente porque tal y como lo estoy haciendo, si quisiera añadir un campo nuevo, enviando información en formato XML a esos ficheros, luego puedo interpretarla perfectamente con sólo actualizar la aplicación, es decir, que el servidor REST se va a quedar hecho para no tocarlo y me va a permitir añadir todo lo que sea necesario.
Si te sale bien asi... pero eso no excluye para nada una base de datos. En especial, si es tan capaz como Postgress.


Cita:
Empezado por Fossy Ver Mensaje
Obviamente el acceso directo al fichero, lectura del mismo y respuesta, va a ser siempre mucho mas rápido que accediendo a una BD, que finalmente está basada en ficheros, pero hay que pasar por la consulta y la cola, mientras que de la otra forma es mas directa.
No es tan obvio (sin medir primero). Es posible ser mas rapido que servir archivos desde el disco (recuerda: I/O) y los motores sql son maquinas bien aceitadas. Ademas, dependiendo de como sean los datos, su acceso y su forma de operar existen formas especificas de hacer que algo sea mas o menos rapidos.


Cita:
Empezado por Fossy Ver Mensaje
Veo que tienes experiencia en el tema..., con lo que te he comentado, ¿crees entonces que soportaría bien esos 1.000 accesos aproximadamente 4 veces por minuto?.

Gracias!!
La respuesta es si o no. Depende de como esta hecha tu app y como son los datos. Ademas, depende de que *realmente* es lo que necesitas optimizar. Simplificando, es diferente:

1- Quiero que cada respuesta sea lo *mas rapido* posible
VS
2- Quiero poder responder al mismo tiempo al *mayor numero* de clientes.

Son cosas que tienen relacion (mas rapida la respuesta, mas numero de clientes) pero difiere en que es posible ser "lento" y aun asi servir a mas clientes a la vez.

-----
P Si unicamente estas devolviendo archivos, y no haces gran cosa en la autenticacion, entonces se puede poner a volar eso a mil, mezclando nginx, cacheo en memoria o mejor usando memcached o redis. Hace poco lei por ahi alguien que armo 40.000 request/seconds en un portatil. Estamos hablando que si no hay logica seria de por medio estas en el mejor panorama posible.
__________________
El malabarista.
Responder Con Cita