EBSVolúmenes de referencia de Amazon - Amazon EBS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

EBSVolúmenes de referencia de Amazon

Puede probar el rendimiento de los EBS volúmenes de Amazon simulando las cargas de trabajo de E/S. El proceso es el siguiente:

  1. Lance una instancia optimizadaEBS.

  2. Cree nuevos EBS volúmenes.

  3. Adjunta los volúmenes a tu instancia EBS optimizada.

  4. Configure y monte el dispositivo de bloques.

  5. Instale una herramienta para el análisis comparativo del rendimiento de E/S.

  6. Haga el análisis del rendimiento de E/S de los volúmenes.

  7. Elimine los volúmenes y termine la instancia para dejar de incurrir en gastos.

importante

Algunos de los procedimientos provocan la destrucción de los datos existentes en los EBS volúmenes que se comparan. Los procedimientos de análisis comparativos son para utilizarse en volúmenes creados especialmente con fines de pruebas, no de producción.

Configuración de la instancia

Para obtener un rendimiento óptimo de EBS los volúmenes, le recomendamos que utilice una instancia EBS optimizada. EBS-las instancias optimizadas ofrecen un rendimiento dedicado entre Amazon y EC2 AmazonEBS, con instance. EBS-las instancias optimizadas ofrecen un ancho de banda dedicado entre Amazon EC2 y AmazonEBS, con especificaciones en función del tipo de instancia.

Para crear una instancia EBS optimizada, elige Lanzar como instancia EBS optimizada al lanzar la instancia mediante la EC2 consola de Amazon o especifica --ebs-optimized cuándo utilizas la línea de comandos. Asegúrese de que selecciona un tipo de instancia que admita esta opción.

Configura volúmenes aprovisionados IOPS SSD o de uso general SSD

Para crear volúmenes aprovisionados IOPS SSD (io1yio2) o de uso general SSD (gp2ygp3) mediante la EC2 consola de Amazon, en el tipo de volumen, elija Provisionado IOPS SSD (io1), Provisionado IOPS SSD (io2), General Purpose (gp2) o General Purpose SSD (gp3). SSD En la línea de comandos, especifique io1io2, gp2 o gp3 para el parámetro --volume-type. Para los gp3 volúmenes y io1io2, especifique el número de operaciones de E/S por segundo () para el parámetro. IOPS --iops Para obtener más información, consulte Tipos de EBS volumen de Amazon y Crea un EBS volumen de Amazon.

(Solo instancias de Linux) Para las pruebas de ejemplo, le recomendamos que cree una matriz de RAID 0 con 6 volúmenes, lo que ofrece un alto nivel de rendimiento. Como se cobra por gigabytes aprovisionados (y por el número de aprovisionados IOPS para los volúmenes io1, io2 y gp3), no por el número de volúmenes, la creación de varios volúmenes más pequeños y su uso para crear un conjunto de bandas no supone ningún coste adicional. Si utiliza Oracle Orion para comparar sus volúmenes, puede simular la segmentación del mismo modo que lo ASM hace Oracle, por lo que le recomendamos que deje que Orion se encargue de la segmentación. Si usa otra herramienta para el análisis comparativo, tendrá que encargarse de seccionar usted mismo los volúmenes.

Para obtener más información sobre cómo crear una matriz de RAID 0, consulte. Creación de una matriz de RAID 0

Configure volúmenes con rendimiento optimizado HDD (st1) o en frío HDD (sc1)

Para crear un st1 volumen, selecciona Rendimiento optimizado HDD al crear el volumen mediante la EC2 consola de Amazon o especifícalo --type st1 cuando utilices la línea de comandos. Para crear un sc1 volumen, seleccione Cold HDD al crear el volumen mediante la EC2 consola de Amazon o especifique --type sc1 si utiliza la línea de comandos. Para obtener información sobre la creación de EBS volúmenes, consulteCrea un EBS volumen de Amazon. Para obtener información acerca de cómo adjuntar estos volúmenes a la instancia, consulte Adjuntar un EBS volumen de Amazon a una EC2 instancia de Amazon.

(Solo instancias de Linux) AWS proporciona una JSON plantilla para su uso AWS CloudFormation que simplifica este procedimiento de configuración. Acceda a la plantilla y guárdela como un JSON archivo. AWS CloudFormation le permite configurar sus propias SSH claves y ofrece una forma más sencilla de configurar un entorno de pruebas de rendimiento para evaluar st1 los volúmenes. La plantilla crea una instancia de la generación actual y un volumen st1 con 2 TiB, y adjunta el volumen a la instancia en /dev/xvdf.

(Solo instancias de Linux) Para crear un HDD volumen mediante la plantilla
  1. Abra la AWS CloudFormation consola en https://console.aws.amazon.com/cloudformation.

  2. Elija Crear pila.

  3. Elija Cargar una plantilla en Amazon S3 y seleccione la JSON plantilla que obtuvo anteriormente.

  4. Asigne a la pila un nombre como «ebs-perf-testing» y seleccione un tipo de instancia (el valor predeterminado es r3.8xlarge) y una clave. SSH

  5. Elija Next (Siguiente) dos veces y, después, elija Create Stack (Crear pila).

  6. Cuando el estado de la nueva pila pase de CREATE_IN_ PROGRESS a COMPLETE, selecciona Salidas para obtener la DNS entrada pública de la nueva instancia, que tendrá un st1 volumen de 2 TiB adjunto.

  7. Conéctese SSH a su nueva pila como usuarioec2-user, con el nombre de host obtenido de la DNS entrada del paso anterior.

  8. Continúe en Instalar herramientas para el análisis comparativo.

Instalar herramientas para el análisis comparativo

En las siguientes tablas se enumeran algunas de las posibles herramientas que puede utilizar para comparar el rendimiento de los EBS volúmenes.

Herramienta Descripción

fio

Para el análisis comparativo del rendimiento de E/S. (Observe que fio tiene una dependencia de libaio-devel.)

Para instalar fio en Amazon Linux, ejecute el siguiente comando:

$ sudo yum install -y fio

Para instalar fio en Ubuntu, ejecute el siguiente comando:

sudo apt-get install -y fio

Oracle Orion Calibration Tool

Para calibrar el rendimiento de E/S de los sistemas de almacenamiento que se usan con las bases de datos de Oracle.

Herramienta Descripción
DiskSpd

DiskSpd es una herramienta de rendimiento de almacenamiento de los equipos de ingeniería de infraestructura de Windows, Windows Server y Cloud Server de Microsoft. Está disponible para su descarga en https://github.com/Microsoft/diskspd/releases.

Después de descargar el archivo ejecutable diskspd.exe, abra un símbolo del sistema con derechos administrativos (seleccionando "Ejecutar como gestionador") y, a continuación, vaya al directorio donde copió el archivo diskspd.exe.

Copie el archivo ejecutable diskspd.exe que desee de la carpeta de ejecutables correspondiente (amd64fre, armfre o x86fre) a una ruta corta y sencilla como C:\DiskSpd. En la mayoría de los casos, querrá la versión de 64 bits de DiskSpd la carpeta. amd64fre

El código fuente DiskSpd está alojado GitHub en: https://github.com/Microsoft/diskspd.

CrystalDiskMark

CrystalDiskMark es un sencillo software de referencia de discos. Está disponible para su descarga en https://crystalmark. info/en/software/crystaldiskmark/.

Estas herramientas admiten una amplia gama de parámetros de prueba. Es conveniente que use comandos que se aproximen a las cargas de trabajo que admitirán los volúmenes. Los comandos que se ofrecen a continuación tienen por finalidad servir de ejemplo para ayudarle a comenzar.

Elegir la longitud de cola del volumen

Elija la mejor longitud de cola en función de la carga de trabajo y el tipo de volumen.

Longitud de la cola en los volúmenes SSD respaldados

Para determinar la longitud de cola óptima para su carga de trabajo en los volúmenes SSD respaldados, le recomendamos que se fije como objetivo una longitud de cola de 1 por cada 1000 IOPS disponibles (valor de referencia para los volúmenes de uso general y la cantidad aprovisionada para SSD los volúmenes aprovisionados). IOPS SSD Después, puede monitorizar el rendimiento de la aplicación y ajustar ese valor según las necesidades de la aplicación.

Aumentar la longitud de cola es beneficioso hasta que se alcance el valor aprovisionadoIOPS, de rendimiento o de longitud de cola óptimo para el sistema, que actualmente está establecido en 32. Por ejemplo, un volumen con 3000 aprovisionados IOPS debería tener como objetivo una longitud de cola de 3. Experimente con diversos ajustes de estos valores, mayores o menores, para ver cuál responde mejor a la aplicación.

Longitud de la cola en los volúmenes respaldados por R HDD

Para determinar la longitud de cola óptima para su carga de trabajo en los volúmenes HDD respaldados, le recomendamos que se centre en una longitud de cola de al menos 4 mientras realiza E/S secuenciales de 1 MiB. Después, puede monitorizar el rendimiento de la aplicación y ajustar ese valor según las necesidades de la aplicación. Por ejemplo, un st1 volumen de 2 TiB con un rendimiento de ráfaga de 500, respectivamente. MiB/s and IOPS of 500 should target a queue length of 4, 8, or 16 while performing 1,024 KiB, 512 KiB, or 256 KiB sequential I/Os Experimente con varios ajustes de estos valores, mayores o menores, para ver cuál responde mejor a la aplicación.

Deshabilitar los estados C

Antes de ejecutar los análisis comparativos, debe deshabilitar los estados C del procesador. Los núcleos temporalmente inactivos en un entorno compatible CPU pueden entrar en un estado C para ahorrar energía. Cuando se le solicita al núcleo que reanude el procesamiento, transcurre un determinado periodo de tiempo hasta que vuelve a estar totalmente operativo. Esta latencia puede interferir con las rutinas de análisis comparativos del procesador. Para obtener más información sobre los estados C y los tipos de EC2 instancias que los admiten, consulta Control del estado del procesador de tu EC2 instancia.

Puede deshabilitar los estados C en AmazonRHEL, Linux y Centos de la siguiente manera:

  1. Obtenga el número de estados C.

    $ cpupower idle-info | grep "Number of idle states:"
  2. Deshabilite los estados C desde c1 a cN. Lo ideal es que los núcleos se encuentren en el estado c0.

    $ for i in `seq 1 $((N-1))`; do cpupower idle-set -d $i; done

Puede deshabilitar los estados C en Windows de la siguiente manera:

  1. En PowerShell, obtenga el esquema de energía activa actual.

    $current_scheme = powercfg /getactivescheme
  2. Obtenga el esquema de energíaGUID.

    (Get-WmiObject -class Win32_PowerPlan -Namespace "root\cimv2\power" -Filter "ElementName='High performance'").InstanceID
  3. Obtén el ajuste de potenciaGUID.

    (Get-WmiObject -class Win32_PowerSetting -Namespace "root\cimv2\power" -Filter "ElementName='Processor idle disable'").InstanceID
  4. Obtenga el subgrupo GUID de configuración de potencia.

    (Get-WmiObject -class Win32_PowerSettingSubgroup -Namespace "root\cimv2\power" -Filter "ElementName='Processor power management'").InstanceID
  5. Deshabilite los estados C estableciendo el valor del índice en 1. Un valor de 0 indica que los estados C están deshabilitados.

    powercfg /setacvalueindex <power_scheme_guid> <power_setting_subgroup_guid> <power_setting_guid> 1
  6. Establezca el esquema activo para asegurarse de que se han guardado los ajustes.

    powercfg /setactive <power_scheme_guid>

Efectuar el punto de referencia

Los siguientes procedimientos describen los comandos de evaluación comparativa para varios tipos de EBS volumen.

Ejecute los siguientes comandos en una instancia EBS optimizada con volúmenes adjuntosEBS. Si los EBS volúmenes se crearon a partir de instantáneas, asegúrate de inicializarlos antes de realizar una evaluación comparativa. Para obtener más información, consulte Inicializar los volúmenes de Amazon EBS.

sugerencia

Puede utilizar los histogramas de latencia de E/S que se proporcionan en las estadísticas de rendimiento EBS detalladas para comparar la distribución del rendimiento de E/S en sus pruebas de evaluación comparativa. Para obtener más información, consulte Estadísticas de rendimiento EBS detalladas de Amazon.

Cuando termine de probar los volúmenes, consulte los temas siguientes para llevar a cabo la limpieza: Eliminar un EBS volumen de Amazon y Terminar la instancia.

Compare los volúmenes IOPS SSD aprovisionados y de uso general SSD

Ejecute fio en la matriz RAID 0 que creó.

El comando siguiente lleva a cabo operaciones de escritura aleatorias de 16 KB.

$ sudo fio --directory=/mnt/p_iops_vol0 --ioengine=psync --name fio_test_file --direct=1 --rw=randwrite --bs=16k --size=1G --numjobs=16 --time_based --runtime=180 --group_reporting --norandommap

El comando siguiente lleva a cabo operaciones de lectura aleatorias de 16 KB.

$ sudo fio --directory=/mnt/p_iops_vol0 --name fio_test_file --direct=1 --rw=randread --bs=16k --size=1G --numjobs=16 --time_based --runtime=180 --group_reporting --norandommap

Para obtener más información acerca de la interpretación de los resultados, consulte este tutorial: Inspecting disk IO performance with fio.

Ejecute DiskSpd en el volumen que creó.

El siguiente comando ejecutará una prueba de E/S aleatoria de 30 segundos utilizando un archivo de prueba de 20 GB guardado en la unidad C:, con una proporción de escritura del 25 % y de lectura del 75 %, y un tamaño de bloque de 8 K. Utilizará ocho subprocesos de trabajo, cada uno con cuatro operaciones de E/S importantes y un valor de entropía de escritura de 1 GB. Los resultados de la prueba se guardarán en un archivo de texto llamado DiskSpeedResults.txt. Estos parámetros simulan la OLTP carga de trabajo SQL de un servidor.

diskspd -b8K -d30 -o4 -t8 -h -r -w25 -L -Z1G -c20G C:\iotest.dat > DiskSpeedResults.txt

Para obtener más información sobre la interpretación de los resultados, consulte este tutorial: Inspeccionar el rendimiento de E/S del disco con D. iskSPd

Análisis comparativo de los volúmenes st1 y sc1 (instancias de Linux)

Ejecute fio en el volumen st1 o sc1.

nota

Antes de ejecutar estas pruebas, establezca la E/S de búfer de la instancia como se describe en Aumento del valor de read-ahead para cargas de trabajo de lectura intensiva y de alto rendimiento en st1 y sc1 (solamente instancias de Linux).

El comando siguiente lleva a cabo operaciones de lectura secuenciales de 1 MiB en un dispositivo de bloques st1 asociado (por ejemplo, /dev/xvdf):

$ sudo fio --filename=/dev/<device> --direct=1 --rw=read --randrepeat=0 --ioengine=libaio --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_read_test

El comando siguiente lleva a cabo operaciones de escritura secuenciales de 1 MiB en un dispositivo de bloques de st1 adjunto:

$ sudo fio --filename=/dev/<device> --direct=1 --rw=write --randrepeat=0 --ioengine=libaio --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_write_test

Algunas cargas de trabajo hacen operaciones de lectura y operaciones de escritura secuenciales en diferentes partes del dispositivo de bloques. Para el análisis de tales cargas de trabajo, recomendamos utilizar trabajos fio separados y simultáneos para lectura y escritura, y usar la opción fio offset_increment para llegar a distintas ubicaciones del dispositivo de bloques para cada trabajo.

La ejecución de esta carga de trabajo es un poco más complicada que la de una carga de lectura secuencial o una carga de escritura secuencial. Utilice un editor de texto para crear un archivo de trabajo fio, llamado fio_rw_mix.cfg en este ejemplo, que contiene lo siguiente:

[global] clocksource=clock_gettime randrepeat=0 runtime=180 [sequential-write] bs=1M ioengine=libaio direct=1 iodepth=8 filename=/dev/<device> do_verify=0 rw=write rwmixread=0 rwmixwrite=100 [sequential-read] bs=1M ioengine=libaio direct=1 iodepth=8 filename=/dev/<device> do_verify=0 rw=read rwmixread=100 rwmixwrite=0 offset=100g

A continuación, ejecute el siguiente comando:

$ sudo fio fio_rw_mix.cfg

Para obtener más información acerca de la interpretación de los resultados, consulte este tutorial: Inspecting disk I/O performance with fio.

Varios trabajos fio para E/S directa, incluso utilizando operaciones de lectura o escritura secuenciales, pueden dar como resultado un rendimiento menor del esperado con los volúmenes st1 y sc1. Recomendamos que use un trabajo de E/S directo y el parámetro iodepth para controlar el número de operaciones de E/S simultáneas.