Pregunta

De acuerdo a esta discusión sobre Google App Engine en Hacker News,

Una solicitud de DB (lectura) toma más de 100 ms en el almacén de datos.Eso es una locura e inutilizable para aproximadamente el 90% de las aplicaciones.

¿Cómo se determina cuál es un tiempo de respuesta aceptable para una solicitud de lectura de base de datos?

He estado usando App Engine sin notar ningún problema con la capacidad de respuesta de la base de datos.Pero, por otro lado, no estoy seguro de saber qué buscar en ese sentido :)

¿Fue útil?

Solución

El cartel está mal.Las operaciones de obtención del almacén de datos son mucho más rápidas: actualmente, entre 15 y 20 ms cada una.Almacén de datos consulta las operaciones pueden ser más lentas porque son mucho más complicadas y devuelven más datos, pero aun así se completan en entre 30 y 100 ms para una consulta típica.Otros carteles han abordado ampliamente si eso es "aceptable" o no.

Otros consejos

Puede medir con precisión la cantidad de cada llamada RPC (almacén de datos o de otra manera) está tomando, gracias a AppStats relativamente nuevo componente (es parte del SDK estándar desde 1.3.1). Ver aquí por más. 100 milisegundos está muy bien para la mayoría de aplicaciones bien diseñadas - si es necesario hacer dos o tres consultas para servir una página, todavía se puede servir en menos de medio segundo, incluso si hay un montón de procesamiento y renderizado involucrados ... no demasiado en mal estado. Además, se puede utilizar para reducir memcache muchas de esas latencias, etc.

¿Qué quiere decir con aceptable? ¿Qué tipo de aplicación está escribiendo? Los medios aceptables cosas diferentes para diferentes dominios / aplicaciones / personas. En primer lugar, usted debe decidir con qué rapidez desea que su aplicación para responder a una solicitud. Vamos a escoger de 1 segundo, sólo por el bien del argumento. Ahora, el número de solicitudes de base de datos es lo que necesita hacer para cumplir con esa petición? Digamos 5. Sea también está decir que también tenemos 400ms valor de otro tipo de elaboración que hacer. OK, así que es 5 veces lee 100 ms cada uno, más de 400 ms de otras cosas. 900ms total, que es inferior a la meta de 1 segundo. ¡Perfecto! 100ms es una tasa de lectura aceptable. De hecho, 120ms todavía serían aceptables, a duras penas.

Ahora, vamos a generalizar:

numberOfReads * readTime + otherStuffTime = TotalTime

rellene sus números, y se puede ver lo que es un tiempo aceptable para su situación particular.

Si usted no ha notado ningún problema entonces es, por definición, un tiempo de respuesta aceptable. La única pregunta es cuánto tiempo los usuarios están dispuestos a esperar.

Una "un tiempo de respuesta aceptable para un DB petición de lectura" depende totalmente de su aplicación y sus usuarios.

Si el resultado neto es que su sitio funciona lo suficientemente rápido para usted y sus usuarios satisfacer entonces el tiempo de respuesta lenta de los servicios proporcionados por Google en su AppEngine son aceptables.

Ahora, mirando más a fondo en este tema en particular, parece que estamos hablando de GET. aquí son las cifras de latencia y GET a mi me parece que la latencia promedio es de cerca de 50 ms y luego 100. no estoy diciendo que es bueno, pero no creo que es exacto decir 100 ms.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top