Que es más rápido para el acceso de lectura en EC2; unidad local o EBS?
11
Que es más rápido para el acceso de lectura en una instancia EC2; la unidad "local" o un volumen EBS adjunto?
Tengo algunos datos que necesitan ser persistentes, así que he colocado esto en un volumen EBS. Estoy usando OpenSolaris, por lo que este volumen se ha adjuntado como un grupo de ZFS. Sin embargo, tengo una gran cantidad de espacio en el disco EC2 que no se utilizará, por lo que estoy considerando volver a utilizar esto como un volumen de caché ZFS, pero no quiero hacer esto si el acceso al disco va a ser más lento que el del volumen de EBS ya que potencialmente tendría un efecto perjudicial.
Solo para agregar un poco al consenso de que EBS es más rápido ...
Un punto importante a entender aquí es que la velocidad de almacenamiento de la instancia es impredecible : Amazon no ofrece garantías al respecto.
Esta información proviene del libro Cloud Application Architectures de George Reese (que parece bastante bueno por lo que he leído hasta ahora). Incluye una tabla titulada Comparación de las opciones de almacenamiento de datos EC2 (p. 41); Aquí hay un fragmento de esa tabla (en el libro hay varias otras características comparadas):
S3 Instance EBS
Speed Low Unpredictable High
Reliability Medium High High
Durability Super high Super low High
Por lo tanto, el almacenamiento de instancias puede superar a EBS en el acceso de lectura a veces, pero si desea una alta velocidad constante , de hecho debe ir con EBS. Como Reese lo pone en su libro:
Otro problema es la imprevisibilidad del rendimiento en el almacenamiento de la instancia. En realidad, podría pensar que debería ser más rápido que las otras opciones, y a veces lo es. A veces, sin embargo, es increíblemente lento, más lento que un montaje NFS sobre una conexión Ethernet de 10bT. EBS, por otro lado, le brinda constantemente el rendimiento de una SAN a través de una conexión Ethernet GB.
He tenido exactamente la experiencia opuesta. El desempeño de EBS es impredecible. Todos los principales tiempos de inactividad de EC2 han involucrado a EBS. El almacenamiento de instancias siempre ha tenido un rendimiento predecible.
Joe Van Dyk
3
Dado que es contradictorio que el disco local sea más lento (especialmente si usa SSD), sería bueno tener más información que "alguien dice que es más rápido"
L. Blanc
8
Aumentamos aproximadamente $ 1000 en cargos de AWS en una exploración sistemática de esta y otras preguntas relacionadas, y publicamos un análisis extenso .
Para lecturas aleatorias (pequeñas), encontramos que el almacenamiento "local" (instancia EC2) y EBS tienen un rendimiento similar, pero el almacenamiento local tiene una mejor cola de latencia.
Para lecturas secuenciales (masivas), EBS es más rápido en m1.small, pero local es más rápido en m1.large. No comparamos directamente local con EBS en otros tipos de instancia, pero encontramos que aumentar el tamaño de la instancia tiene mucho más efecto en el rendimiento de la tienda local que en el rendimiento de EBS.
También hay una pregunta de costo. Al cambiar la E / S de EBS al disco local, reducirá sus tarifas de AWS.
He escuchado informes de que debe escribir sobre la unidad una vez, ya que la escritura inicial en una ubicación tiene una sobrecarga elevada. Además, a veces puede obtener un mal controlador EBS, por lo que sería mejor verificar su velocidad antes de hacer algo crítico. He visto un pequeño número de unidades con ese problema. Surgió cuando estaba capturando 4 unidades de 500 gb, y 1 de ellas tardó entre 4 y 5 veces más, incluso con los mismos datos.
Flashman
1
Amazon ha hecho vagas afirmaciones de que EBS generalmente superará a la partición temporal "local" en una instancia EC2. Sé que he experimentado un mayor rendimiento en un volumen EBS en mi propio uso, pero no me había molestado en medir la latencia.
Si tiene curiosidad sobre el rendimiento en un uso particular, su mejor opción es probablemente configurar una instancia de prueba. Sé que lo haría.
Aumentamos aproximadamente $ 1000 en cargos de AWS en una exploración sistemática de esta y otras preguntas relacionadas, y publicamos un análisis extenso .
Para lecturas aleatorias (pequeñas), encontramos que el almacenamiento "local" (instancia EC2) y EBS tienen un rendimiento similar, pero el almacenamiento local tiene una mejor cola de latencia.
Para lecturas secuenciales (masivas), EBS es más rápido en m1.small, pero local es más rápido en m1.large. No comparamos directamente local con EBS en otros tipos de instancia, pero encontramos que aumentar el tamaño de la instancia tiene mucho más efecto en el rendimiento de la tienda local que en el rendimiento de EBS.
También hay una pregunta de costo. Al cambiar la E / S de EBS al disco local, reducirá sus tarifas de AWS.
fuente
Si busca el rendimiento de la base de datos en Amazon, puede encontrar útil este artículo: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/
El ambiente general de mi propia investigación (he estado leyendo sobre esto durante algunas semanas) es que EBS es la opción más rápida.
fuente
Amazon ha hecho vagas afirmaciones de que EBS generalmente superará a la partición temporal "local" en una instancia EC2. Sé que he experimentado un mayor rendimiento en un volumen EBS en mi propio uso, pero no me había molestado en medir la latencia.
Si tiene curiosidad sobre el rendimiento en un uso particular, su mejor opción es probablemente configurar una instancia de prueba. Sé que lo haría.
fuente
He ejecutado instancias MySQL en volúmenes EBS y he estado satisfecho con su rendimiento. Tampoco tengo datos duros, pero funcionó bien.
fuente