Descargo de responsabilidad: soy un desarrollador front-end en un mundo de servidores.
Hola chicos. Tengo una instancia de servidor en EC2 c5d.9xlarge
, cuyas especificaciones son:
- Sistema: Ubuntu 18.04
- vCPU: 36 hilos / núcleos
- Memoria: 72 GB.
- Almacenamiento: SSD NVMe de 900 GB
- Ancho de banda de EBS dedicado: 7,000 Mbps
- Rendimiento de red: 10 Gbps
Escenario: uso este servidor para cargar videos grandes (4K, 1+ hr) y procesarlos usando FFMPEG, pero en comparación con mi servidor UpCloud anterior con 12 núcleos y 48 GB de RAM, este servidor EC2 tarda 1.5 veces más en cargar y procesar , que creo que no debería ser el caso.
Pregunta: ¿Cómo maximizo el rendimiento de lo que estoy pagando?
ubuntu
amazon-web-services
amazon-ec2
Martavis P.
fuente
fuente
Respuestas:
Su
c5d.9xlarge
viene con almacenamiento de instancia de 900GB (también conocido como almacenamiento efímero ): ¿lo está utilizando para almacenar y procesar los archivos? Si bien su instancia tiene un ancho de banda EBS dedicado, el almacenamiento SSD en la instancia seguirá siendo mucho más rápido . Le sugiero que use eso para todos los archivos fuente y temporales y solo almacene los resultados en EBS.Sin embargo, hay algunas advertencias con almacenamiento de instancias:
Debe formatearlo y montarlo antes de que pueda usarse. Consulte esta respuesta para obtener más detalles: Monte automáticamente el almacenamiento de instancias SSD en AWS EC2 en Ubuntu 16.04
El contenido se borra cuando detiene y reinicia la instancia. Sobrevive al reinicio pero no para / inicia.
Actualización: de forma predeterminada, la SSD no está montada; tendrá que seguir los pasos en la respuesta vinculada anterior para usarla. En la configuración estándar después del arranque, usará el EBS, que es más lento que el SSD.
Luego tendrá que asegurarse de que realmente lo está utilizando : configure el directorio de carga , de trabajo y temporal en ese punto de montaje SSD.
O incluso mejor, ya que tiene 72 GB de RAM, cree un disco RAM y úselo para archivos temporales. Eso será incluso más rápido que SSD (si los archivos se ajustan).
En primer lugar, ignore la velocidad de carga y optimice el procesamiento: cargue el archivo en EBS y cronometre el procesamiento, luego cárguelo en SSD y móntelo y luego en el disco RAM y cronometre el procesamiento. Mira cuánto difieren.
La velocidad de carga se verá afectada por muchos aspectos, incluida la distancia y la latencia entre usted y la región de AWS a la que está cargando. ¿Está utilizando una región de AWS cercana?
Re rendimiento de la CPU : tiene 36 CPU disponibles, sin embargo, cada núcleo puede ser más lento que los núcleos de su máquina anterior de 12 núcleos. Depende de la arquitectura de la CPU y la velocidad del reloj. Sin embargo, si puede paralelizar el procesamiento de video en 36 hilos, debería estar mejor en esta instancia. Si confía en un solo hilo, es posible que no obtenga el rendimiento que desea.
Espero que ayude :)
fuente
¿Hay alguna posibilidad de buscar alternativas? Por el costo de un
c5d.9xlarge
, incluso si obtiene un descuento sustancial, en el mercado de servidores dedicados podría tener varias máquinas equivalentes o mejoresEl uso de la nube para este tipo de problema de escala vertical es una receta para pagar en exceso y, como has visto, un bajo rendimiento
Perdón por el tipo de no respuesta, pero no tengo suficiente representante para comentar
fuente