trabajoycxa
Hemos alojado nuestro sitio de wordpress en aws ec2 con ajuste de escala automático y EFS. Pero, de repente, el rendimiento permitido se acercó a cero bytes y BurstCreditBalance se redujo día a día (¡de 2 TB a unos pocos Mbs!). ¡El tamaño de EFS era solo alrededor de 2 GB!. Nos enfrentamos a este problema por segunda vez. Me gustaría saber si hay alguien que tenga una experiencia similar o alguna sugerencia sobre esta situación. Planeo pasar de EFS a NFS o glusterfs en los próximos días.
El rendimiento en Amazon EFS se escala a medida que crece el sistema de archivos.
…
La capacidad de ráfaga (tanto en términos de duración como de velocidad de ráfaga) de un sistema de archivos está directamente relacionada con su tamaño. Los sistemas de archivos más grandes pueden explotar a velocidades mayores durante períodos de tiempo más prolongados. Por lo tanto, si su aplicación necesita más ráfagas (es decir, si descubre que su sistema de archivos se está quedando sin créditos de ráfagas), debe aumentar el tamaño de su sistema de archivos.
Nota
No hay aprovisionamiento con Amazon EFS, por lo que para hacer que su sistema de archivos sea más grande, necesita agregarle más datos.
Usted mencionó que su sistema de archivos solo almacena 2 GiB de datos. Ese es el problema: es contradictorio a primera vista, pero EFS en realidad obtiene más rápido como se pone más grande… y lo contrario también es cierto. Los sistemas de archivos pequeños acumulan créditos de ráfaga solo a una velocidad de 50 KiB/seg por segundo por GiB de datos almacenados.
Entonces, para un sistema de archivos de 2 GiB, va a agotar sus créditos al transferir una cantidad muy pequeña de datos diariamente:
60 sec/minute ×
60 min/hour ×
24 hr/day ×
0.05 MiB/s per GiB stored ×
2 GiB stored = 8,640 MiB/day
Entonces alrededor de 8.6 GiB por día es toda la transferencia de datos que este sistema de archivos puede soportar.
Esto parece extraño hasta que recuerdas que solo estás pagando $0.60 por mes.
Puede aumentar el rendimiento de forma lineal simplemente almacenando más datos. El tamaño del sistema de archivos que se utiliza para el cálculo se actualiza una vez por hora, por lo que si sigue esta ruta, dentro de un par de horas debería ver un aumento.
La razón por la que ha funcionado bien hasta ahora es que cada nuevo sistema de archivos viene con un saldo de crédito inicial equivalente a 2,1 TiB. Esto tiene la intención principal de permitir que el sistema de archivos sea rápido a medida que inicialmente carga datos en él, pero en un entorno de almacenamiento total bajo como el que describe, durará días o semanas y luego (aparentemente) finalmente ver cómo el sistema se asienta en su comportamiento básico correcto.
Esencialmente, está pagando por la configuración de dos parámetros interconectados: la capacidad de almacenamiento total y el rendimiento de referencia, ninguno de los cuales es algo que configura. Si desea más almacenamiento, simplemente almacene más archivos… y si desea más rendimiento, simplemente… almacene más archivos.
curtismorte
Un poco tarde para la fiesta aquí.
TL;RD
Para aumentar su rendimiento de referencia agregado, genere datos ficticios para aumentar el tamaño de su sistema de archivos. Esto permitirá una mejor línea de base y rendimiento de ráfaga de su sistema de archivos.
Hay dos consideraciones:
- El costo por GB varía según la región, pero precio es de alrededor de $ 0.30 – $ 0.36 por GB (a partir de 2018)
- A medida que aumenta el tamaño del sistema de archivos, también aumentan otras métricas como el rendimiento agregado de la ráfaga, la duración máxima de la ráfaga y el porcentaje de tiempo que el sistema de archivos puede explotar (por día). OPINIÓN: Me gusta tener sistemas de archivos de más de 256 GB.
Métricas de rendimiento:
- Rendimiento agregado de referencia
- Rendimiento agregado de ráfaga
- Duración máxima de ráfaga
- % de tiempo que el sistema de archivos puede explotar (por día)
Consulte la documentación de rendimiento para obtener más información sobre cómo funcionan los aumentos para cada métrica.
En un servidor que no sea Windows, puede usar el siguiente script para generar datos ficticios para aumentar el tamaño de su sistema de archivos:
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt $1 ]; do
# Use DD to generate 1MB of data 1024 times from /dev/zero and add the newly created file to $2/N.txt
dd if=/dev/zero of=$2/$COUNTER.txt bs=1048576 count=1024
echo "Added file ${COUNTER}.txt to ${2}/"
((COUNTER++))
done
# Save this file as create.sh
# Be sure to run: sudo chmod +x create.sh
Si tiene la intención de ejecutar este script desde una instancia EC2 con el sistema de archivos EFS montado, mi recomendación es utilizar una instancia EC2 con alto rendimiento de red. Esto ayudará a reducir el tiempo necesario para generar archivos para aquellos que tienen poco tiempo.
Llame al script usando: create.sh 256 “/mnt/efs-directory/dummy”
NOTA: Ejecutar el comando anterior significa que generará 256 archivos de 1 GB cada uno. Si desea tener una cantidad de datos mayor o menor, simplemente cambie 256 para que tenga el tamaño de su sistema de archivos que desee.
Algunas otras cosas que puedes hacer son:
- Si usa Elastic Beanstalk, genere una distribución de CloudFront para el balanceador de carga
- Eliminar complementos innecesarios de WordPress
- Instale el almacenamiento en caché (OPCache) para Apache o Nginx
Hay un tablero disponible para EFS dentro de CloudWatch si elige conectarlo. Tiene todas las métricas que debe necesitar para comprender el rendimiento de su sistema de archivos.
No tiene sentido pasar a su propio NFS o glusterfs que usan EBS. Como lo señala @Michael, sugiere “almacenar más archivos”, simplemente puede colocar algunos archivos ficticios enormes en el rendimiento de ganancia de su almacenamiento EFS.
– debate discutible
16 de enero de 2017 a las 14:27