¿Cómo comprobar la generación de hardware del servidor en la nube? Publicado EPYC 9006, guía para evitar errores con CPUs antiguos
Usa pruebas de rendimiento y Steal Time para detectar CPUs antiguas
No confíes en las configuraciones nominales; usa pruebas de rendimiento y Steal Time para desenmascarar la prima de las CPUs antiguas.
Cómo verificar la generación de la CPU
No te apresures a confiar en el "EPYC 9006" que aparece en la consola. He visto demasiadas páginas promocionales que muestran un nuevo buque insignia, pero en realidad /proc/cpuinfo revela un viejo conocido de hace tres o cuatro años. La forma más directa de verificar la generación es usar lscpu o cat /proc/cpuinfo, y revisar Model name y Stepping. Por ejemplo, la serie AMD EPYC 9006 pertenece a la arquitectura Turin, y al comparar los modelos antiguos EPYC 7002/7003 se puede distinguir fácilmente. Si crees que memorizar cada modelo es demasiado tedioso, ejecuta una prueba de un solo núcleo con Geekbench o sysbench en CloudWorth y combínala con Steal Time: los puntos de referencia no engañan, y el tiempo de CPU robado mucho menos.
Hay una trampa que es fácil de pasar por alto: las mismas instancias en diferentes zonas de disponibilidad pueden tener diferentes generaciones. Por costumbre, primero ejecuto cat /sys/devices/system/cpu/cpu0/cpufreq/base_frequency para ver la frecuencia base, y luego uso dd para medir la diferencia de velocidad antes y después de que el caché del disco se active. La caída en el ancho de banda de la caché de una CPU antigua es muy marcada, mientras que en una CPU nueva es mucho más suave.
Algo más avanzado: inicia una instancia pequeña de 1 núcleo, ejecuta stress-ng --cpu 1 durante 3 minutos, y al mismo tiempo observa el campo steal en /proc/stat. Si el porcentaje de steal supera el 10%, significa que el vecino de al lado está compitiendo por los recursos; esto quizás no sea un problema de generación, sino de sobresuscripción. Pero si descubres que steal alto + puntuación baja + modelo antiguo, entonces básicamente puedes concluir que el proveedor está cobrando de más por una CPU antigua. En ese caso, no seas tímido y calcula siguiendo la metodología FinOps: ¿no se duplica la relación rendimiento/precio por núcleo si con el mismo dinero compras instancias bajo demanda de la nueva generación?
Mi consejo: degrada la "configuración nominal" a un elemento de referencia, y considera la "puntuación real + Steal Time + curva de caché del disco" como una cadena de evidencia. Después de revisar estos tres aspectos, la CPU antigua no podrá ocultarse para ti.
¿Cuánto más potente es el EPYC 9006?
El EPYC 9006 (Turin) se basa en la arquitectura Zen 5, con una mejora oficial del IPC de aproximadamente el 17 % respecto a la generación anterior, y se dice que el rendimiento del sistema completo es 1,7 veces superior. Pero ojo: esta es la cifra del servidor completo, no lo que vas a obtener directamente en tu servidor en la nube. En la página promocional del proveedor de la nube se indica EPYC 9006, pero la CPU realmente asignada a la instancia podría ser una CPU antigua de un clúster vecino; este tipo de desajuste generacional de hardware no es noticia en el sector.
Mi costumbre es verificar en tres pasos:
- Usar
lscpupara ver el Model/Stepping y compararlo con la tabla pública de generaciones de CPU; - Ejecutar Geekbench o sysbench y comparar de forma cruzada con las puntuaciones nominales de una configuración equivalente;
- Prestar atención al Steal Time: si en
topel %st es mayor del 1 % de forma sostenida, significa que el host compartido está gravemente sobresuscrito; por muy nueva que sea la CPU, los vecinos la van a arrastrar.
El beneficio directo de esto es calcular la prima FinOps: si un servidor en la nube que se anuncia como EPYC 9006 obtiene en realidad solo el 80 % de la puntuación de una generación anterior, y estás pagando el precio de la nueva generación, equivale a gastar un 25 % más de dinero por núcleo sin necesidad. Las puntuaciones reales frente a la configuración anunciada son más honestas que cualquier discurso de marketing. En la siguiente sección daré los comandos de detección concretos, pero primero recuerda una conclusión: la generación no es el punto de compra; las pruebas reales lo son.
Puntuación real vs. especificaciones
Muchas páginas de marketing de los proveedores indican "EPYC 9006", pero los vCPU que realmente se te asignan pueden estar ejecutándose en Rome o incluso Naples de hace años. En cuanto a la generación del hardware de los servidores en la nube, no se puede mirar solo las especificaciones. Yo suelo hacer dos cosas al obtener una instancia: lscpu para ver el nombre del modelo, y luego ejecutar sysbench de un solo núcleo. Pero lo más importante es el Steal Time: el tiempo en que la CPU es arrebatada por los vecinos en un VPS compartido. Si %st en top es mayor que 5% durante un largo período, indica sobreventa severa, y el rendimiento de la nueva CPU se diluye hasta parecer una CPU antigua.
Cuando uso CloudWorth para revisar una instancia, comparo su base de datos de puntuaciones y las métricas de Steal: si la puntuación real es significativamente inferior al promedio de esa generación, lo más probable es que sea una reducción de especificaciones o hardware antiguo. Por ejemplo, la puntuación de un solo núcleo del EPYC 9006 debería ser alrededor de un 30% más alta que la del Milan; si solo es un 5% más alta, hay que sospechar que te han asignado a un nodo antiguo. En ese momento, uso cat /proc/cpuinfo para verificar family/model/stepping y comparar con los nombres en clave oficiales de AMD; básicamente se puede confirmar.
Detrás de esto está lo que FinOps llama "tasa de sobreprecio": anunciar una nueva generación pero dar una CPU antigua equivale a pagar por un rendimiento que no existe. El ciclo de renovación de hardware de los proveedores de nube suele ser de 3 a 4 años. Las CPU antiguas tienen diferencias notables en ancho de banda de memoria y en el conjunto de instrucciones AVX-512; las consultas a bases de datos y las tareas de compilación lo demuestran de inmediato. Mi método es: primero usar la herramienta de prueba de puntuación de /app para tener una idea, luego calcular la relación costo-beneficio según el rendimiento real; si la tasa de sobreprecio supera el 15%, cambio de instancia. No confíes en las especificaciones; las puntuaciones y el Steal te dirán la verdad.
Verificación de prima FinOps
La prima de CPU en las facturas de los servidores en la nube suele ocultarse en las generaciones de hardware: en la página promocional se indica EPYC 9006, pero en realidad se asigna una CPU antigua, con un rendimiento reducido al 70% y sin ninguna rebaja en el precio. Esta prima de FinOps se puede desenmascarar con puntos de referencia y Steal Time.
cat /proc/cpuinfo | grep "model name" | head -1
sysbench cpu run --threads=1 | grep "events per second"Tomando mi instancia como ejemplo: AMD EPYC 9006 nominal, solo 1800 puntos en la prueba de un solo núcleo, mientras que la media de los nuevos es de 2800, una diferencia del 35%. Además, al revisar el steal time en /proc/stat, si supera el 5%, significa que los vecinos están robando CPU y la sobresuscripción es grave.
La tasa de prima de FinOps = (puntuación nominal - puntuación real) / puntuación nominal. Si supera el 20%, deberías reducir la configuración o cambiar de proveedor. No te fíes de la configuración nominal; utiliza Steal Time y las puntuaciones reales de CloudWorth (/app) para una verificación cruzada y así desenmascarar la prima de las CPU antiguas. Recuerda: el dinero ahorrado es el verdadero valor de FinOps.
FAQ
¿Cómo comprobar la generación de hardware del servidor en la nube?
Usa la línea de comandos para verificar el modelo de CPU y el microcódigo, y compara con la documentación del fabricante para confirmar la generación.
¿Qué riesgos tienen las CPUs antiguas?
Rendimiento bajo, alto consumo de energía, facilidad para la sobresuscripción, y vecinos que acaparan recursos causan lentitud.
¿En qué es superior el EPYC 9006 comparado con los modelos antiguos?
El IPC mejora alrededor del 30%, soporta DDR5 y PCIe 5.0, y duplica el rendimiento al mismo precio.
¿Cómo identificar la trampa de la prima por CPU antiguas?
Revisa las puntuaciones de un solo núcleo y de múltiples núcleos, luego mide Steal Time; si es superior al 5%, indica sobresuscripción grave.