Una vez supervisé el iowait de lectura/escritura en mi instancia EC2 que tiene adjunto un volumen de EBS, la salida de la columna iowait iostats
es de solo 200 ~ 500 us, como sabía, EBS es en realidad un volumen de red y creo que la latencia de la red local debería ser de ~ 10 ms. nivel, ¿cómo logra EBS esta latencia <1 ms?
La misma pregunta para EFS también, no he probado EFS pero en la página de rendimiento muestra que la latencia de lectura puede ser tan baja como 250us.
https://docs.aws.amazon.com/efs/latest/ug/rendimiento.html#rendimiento-overview
Respuesta1
LevantarNúmeros de latencia que todo programador debería conoceral realizar aproximaciones aproximadas de latencia. No porque sea exacto, sino porque transmite órdenes de magnitud.
Existen conmutadores Ethernet capaces de tener decenas de microsegundos de latencia entre ellos. Cruce algunos de ellos para llegar a un nodo de almacenamiento en el mismo (enorme) centro de datos. Agregue algunos microsegundos más de tiempo de tránsito entre estos enrutadores.
Con respecto a la pila de almacenamiento, un total de menos de milisegundos descarta la oxidación en el primer nivel. Las matrices de discos duros tardan varios milisegundos en buscarse, incluso en las mejores circunstancias. Obviamente, el almacenamiento de estado sólido está en uso, lo que nuevamente demora quizás decenas de microsegundos en una operación de E/S.
Suponiendo 250 microsegundos para una lectura, no queda mucho tiempo para recorrer las distintas capas de la pila de almacenamiento. Convertir paquetes IP para bloquear operaciones y hacer que algún sistema operativo las haga y que el sistema operativo cliente haga algo con ellos. Es de suponer que se necesita una cantidad considerable de trabajo de ingeniería para optimizar el hipervisor, el sistema operativo, los controladores y el hardware.
Tenga en cuenta quetabla de rendimiento EFStiene los calificativos "Tan bajo como" en torno a la sorprendente baja latencia. Este no es un acuerdo de nivel de servicio. Aunque en la práctica estás obteniendo el final más rápido.
Tenga en cuenta además que el almacenamiento de múltiples zonas podría tener escrituras un milisegundo más lentas. Este es el costo de la durabilidad de almacenar sus datos en varios edificios. Simplemente elvelocidad de la luz en fibra a 10 km de distanciaagrega quizás 50 us de solo retraso de propagación. Un número desconocido de interruptores adicionales en ese camino. Varias zonas necesitan reconocer una escritura, para que tenga una mayor durabilidad que una zona. Sigue siendo bastante rápido, pero no todos los conjuntos flash en el mismo bastidor son rápidos.
Descargo de responsabilidad: todo esto es una caja negra patentada que no comparten. Sin embargo, vale la pena comprender que las redes privadas en la misma ciudad pueden lograr una latencia 10 veces más rápida de lo que pensaba. Con suficiente ingeniería.