Tengo un servidor cliente ubicado en AWS y quiero reducir la latencia entre su máquina y mi instancia EC2. Alquilé dos servidores iguales en una zona de disponibilidad y comencé a enviar solicitudes a la API del cliente. Resultó que estos servidores tienen diferentes latencias: los percentiles 95 eran diferentes durante aproximadamente 5 milisegundos (es decir, aproximadamente el 30% de la latencia media). Y mi objetivo es reducir la latencia.
Creo que puedo alquilar más servidores y repetir este experimento, pero será el siguiente paso de mi investigación. El primer paso para mí es comprender las razones por las que los servidores en la misma zona tienen una diferencia tan grande en la latencia de respuesta de la API y qué métricas pueden ser útiles para explicarlo.
La segunda forma de reducir la latencia es alquilar un servidor bare metal en lugar de EC2, pero parece demasiado caro. Y me temo que alquilar este servidor empeorará aún más si está más lejos del servidor del cliente.
Entonces dime por favor:
- ¿Tiene algún consejo sobre cómo reducir la latencia?
- ¿Cómo puedo alquilar el servidor más cercano a mi cliente en la misma zona de AWS?
Respuesta1
Incluso cuando se lanza en la misma zona de disponibilidad, sus instancias EC2 pueden estar en diferentes centros de datos. Será un juego de azar reunirlos mediante prueba y error.
Eche un vistazo a "Grupos de ubicación". Se utilizan al lanzar múltiples instancias EC2 para que se lancen en los mismos centros de datos, reduciendo la latencia entre ellas.
Si tiene una instancia EC2 existente que no está en un grupo de ubicación, no creo que sea posible agregarla a un grupo de ubicación.
Respuesta2
Puede comenzar asegurándose de que sus instancias estén en la misma zona de disponibilidad física, lo que no siempre significa el mismo edificio. En Resource Access Manager (RAM) hay una asignación de su ID de AZ lógica a la ID de AZ física. Esto se realiza de forma aleatoria entre cuentas: AZ-A en su cuenta puede ser AZ-C en otra cuenta. Esto se debe a que la mayoría de las personas destinan la mayor parte de los recursos a AZ-A, por lo que equilibra las cosas.
Más allá de eso, no creo que pueda hacer mucho más que prueba y error para obtener una instancia que tenga baja latencia en su máquina cliente. Estoy bastante seguroGrupos de ubicacióncomo se mencionó anteriormente, son para una sola cuenta, por lo que si necesita una latencia ultrabaja (5 ms no está mal), es posible que deba estar en la misma cuenta.