Hierro de 5 GHz: una historia sobre cómo construir un VDS súper rápido



Si nuestro viejo arancel "Rápido y furioso" fuera un hombre, ahora fumaría nerviosamente a un lado y recordaría los mejores años. Pero qué bien empezó todo. Luego, en 2018, fuimos los primeros en conectar NVMe y modificar la tarifa con una escala flexible de recursos, que ha vivido con nosotros desde 2016. Entonces fue el más rápido de todos nuestros aranceles. Pero los tiempos están cambiando y, a pesar del hecho de que el Gold 5115 todavía se considera un procesador bastante ágil, las soluciones ya han aparecido y se divierten.

En general, mi historia trata sobre cómo Fast and the Furious tuvo que abandonar de mala gana el escalón superior del podio y tomar el tercer lugar en velocidad después de dos nuevas tarifas: Bitrix.Turbo y CPU.Turbo, que lanzamos durante este año.

Puedo prometer que habrá muchos detalles sobre hardware, pruebas de procesador y máquinas virtuales (bueno, necesarias) y un poco de cocina interna. Entonces comencemos.

Esta es una carrera de supervivencia, ¡ahora será divertido!


En febrero de 2019, lanzamos una nueva tarifa de Bitrix: Turbo: servidores con procesadores Intel Core i9-9900K con una frecuencia de reloj de 5 GHz en modo Turbo Boost. Realizamos pruebas de rendimiento, luego escribí mi primer artículo , y los muchachos del siguiente departamento vieron la receta para sacar el máximo provecho de Bitrix . i9 cumplió con nuestras expectativas, el lanzamiento tuvo lugar. Gracias a todos, divergir ...

De hecho, Bitrix Turbo resultó ser muy popular entre nuestros clientes. Hasta ahora, solo tenemos tiempo para agregar servidores al clúster. Por lo tanto, llegamos a conclusiones y decidimos no detenernos allí, sino continuar nuestra investigación en el campo de los procesadores de alta frecuencia.

Dado que Bitrix.Turbo fue concebido (¡y resultó!) Por una tarifa muy especializada, y los clientes de Fast and the Furious apreciaron más la flexibilidad, se decidió complementar la línea con una tarifa de alta velocidad para todos los que necesitan "aún más fresco, incluso más rápido".

Como el i9-9900K nos presentó un par de "sorpresas", inmediatamente decidimos que lanzaríamos otros procesadores. Sí, así fue, ya en la etapa de diseño de una solución de hardware para Bitrix. Turbo, tuvimos una "experiencia fascinante y rica". Bueno, o él somos nosotros. Como este es el caso, me desviaré un poco de la narrativa principal y, literalmente, contaré brevemente sobre esta experiencia.

Un servidor estándar para la tarifa Bitrix. El turbo se ensambla en una plataforma de una sola unidad: una placa base basada en el chipset Intel Q370, un procesador Intel i9-9900K, 64 GB de RAM, dos unidades NVMe de 2 TB en RAID1.

Implementar tal solución fue extremadamente divertido e interesante. El hecho es que, según Intel, el TDP de este procesador es de 95 vatios. De hecho, si utiliza placas base, por ejemplo, con el chipset H310, el procesador en la carga máxima no supera estos límites: acelera silenciosamente un núcleo a 5 GHz y el resto en el rango de 4.7 a 4.8 GHz. Pero si la plataforma usa un conjunto de chips con una clase más alta, por ejemplo, Q370 y potencia de procesador mejorada, entonces el procesador acelera a un mayor número de núcleos de hasta 5 GHz: de 2 a 5, y el TDP aumenta a casi 200 vatios.

Enfriar una "estufa" de este tipo en un diseño de una sola unidad no es una tarea fácil. El procesador comenzó a acelerar y bajó la frecuencia en todos los núcleos a 4.4-4.5 GHz. Fue extremadamente difícil controlar tal situación. Para ser honesto, por primera vez me encontré con una fuerte discrepancia entre las especificaciones y la implementación real de un fabricante tan grande y serio como el Blues.

Debido al hecho de que en ese momento era el único procesador disponible con frecuencias nominales tan altas, tuvimos que trabajar duro antes de permitirnos usarlo para una nueva tarifa, y recurrir a decisiones bastante triviales: use casos especiales con enfriamiento de aire potente y organicemos no menos estantes de enfriamiento fríos. Todo esto en conjunto le permite asegurarse de que más núcleos operan al máximo a una frecuencia de 5 GHz sin sobrecalentamiento y estrangulamiento, pero aumenta el consumo de energía y el ruido, ruido salvaje.

Desafortunadamente, en ese momento, no pudimos introducir refrigeración líquida: por un lado, no había una solución adecuada en la cantidad correcta para comenzar, por otro, había muchas preguntas sobre la confiabilidad de los existentes; realmente no queríamos ahogar los servidores.

Ahora volvamos a la historia principal.

Rake Dancing




Como saben, los fabricantes de procesadores prueban sus soluciones en el mercado de computadoras de escritorio y, en caso de un resultado positivo, las implementan en el segmento de servidores. Solo podíamos esperar la aparición del servidor analógico de Intel i9-9900K. Y casi un año después, apareció un análogo de este tipo: era Intel Xeon E-2288G. Intel tuvo en cuenta las deficiencias de su predecesor: el procesador se ha vuelto muy limitado en el paquete térmico (95 W). Al igual que con cualquier procesador de servidor de Intel, ha aparecido la memoria habilitada para ECC, y la capacidad máxima admitida ha aumentado a 128 GB.

Descubrimos el procesador, es hora de lidiar con la plataforma del servidor. Encontrar el correcto se convirtió en un problema grave para nosotros, ya que estábamos buscando uno que se adaptara a nosotros según las características tácticas y técnicas, tuviera un costo adecuado y respaldara todas las posibilidades de una piedra tan rápida.

Como el procesador es nuevo, la elección de las plataformas ha sido muy, muy limitada. Después de un estudio minucioso y meticuloso, nos decidimos por tres opciones: la primera se cayó durante las primeras pruebas, el fabricante lanzó una versión cruda del firmware de la plataforma con soporte para E-2288G, con la cual toda la solución funcionó extremadamente inestable, y solo fue posible esperar una nueva versión y estabilización de la plataforma años El segundo no permitió organizar el enfriamiento completo de los circuitos de alimentación, lo cual es muy importante para este procesador. El nuevo procesador fue demasiado duro para ellos. Pero el tercero surgió en todos los aspectos. No solo cumplió, sino que incluso superó nuestras expectativas. No puedo revelar modelos, un secreto comercial.

También decidimos abandonar el enfriamiento de aire extremo en favor del líquido (en adelante denominado "agua"), al que estamos planeando gradualmente transferir servidores para el proyecto Bitrix.Turbo. El progreso no se detiene, y es maravilloso.

Como resultado, la transición al enfriamiento por agua permitió aumentar el rendimiento tanto del Intel i9-9900K como del Intel Xeon E-2288G, sin pasar el umbral de temperatura de 65 grados en la carga continua máxima en todos los flujos. Después de pasar mucho tiempo resolviendo todas las posibilidades, así como todas las situaciones de emergencia posibles e incluso imposibles (era muy escéptico sobre el "agua"), después de haber realizado largas pruebas con cargas máximas, incluso me vi obligado a aceptar que esta solución merece vivir mucho tiempo y felizmente Por lo tanto, familiarícese: la nueva tasa de CPU. Turbo.

Las características de rendimiento del hardware y software para la nueva tarifa.

Hierro Plataforma de un solo procesador de una sola unidad, procesador Intel Xeon E-2288G con sistema de refrigeración por agua, 64 GB de RAM ECC, subsistema de disco en dos unidades Intel M.2 NVMe en RAID1.

Suave Como utilizamos paneles ISPsystem VMmanager 5, la elección del sistema operativo no es muy rica, por lo tanto, el sistema operativo Linux CentOS 7 con Oracle Unbreakable Enterprise Kernel versión 5 (UEK5) 4.14, qemu 2.12, libvirt 4.5.

Prueba


Esta vez la prueba se realizó en dos carreras.

Primero, comparamos los procesadores: i9-9900K en "aire", i9-9900K en "agua" y E-2288G en "agua". No comenzamos a realizar un conjunto completo de pruebas en este último con enfriamiento por aire debido a la insensatez de la empresa: de inmediato quedó claro qué y cómo sería. Tampoco conduje el procesador Intel Gold 5115, que se usa en la tarifa Fast and the Furious, en la prueba. Estos servidores vienen en una configuración de doble procesador y en pruebas de subprocesos múltiples, se pierde la pureza de la comparación.

Luego comenzamos a probar cinco máquinas virtuales: una en la tarifa Fast and the Furious y cuatro en la CPU. Turbo. Las pruebas se llevaron a cabo con el procesador host emulado en un servidor padre vacío (sin vecinos) en las variaciones tarifarias de "2 núcleos / 4 conciertos" (esta es la configuración comparable más popular en Fast and the Furious).



Las características de rendimiento de las plataformas.

Tarifa Bitrix Turbo

  • Intel i9-9900K
  • Placa base: Asus PRIME Q370M-C
  • RAM: 16 GB DDR4-2666MT / s Kingston 4 piezas
  • SSD: 2TB Intel NVMe M.2 2 piezas en RAID1

CPU Tariff Turbo

  • Intel Xeon E-2288G
  • RAM: 16 GB DDR4-2666MT / s Kingston 4 piezas
  • SSD: 2TB Intel NVMe M.2 2 piezas en RAID1

La lista de pruebas que se realizaron:

  1. Geekbench
  2. Sysbench
  3. Phoronix Test Suite

Una descripción detallada de este complejo está en mi último artículo . Algún día reuniré valor, agregaré detalles y publicaré por separado.


Resultados de la prueba del procesador




Según la prueba de Geekbench en modo de subproceso único, el Xeon E-2288G está ligeramente por detrás del i9-9900K: la diferencia es solo del 0,8%. En modo de subprocesos múltiples, el i9-9900k ya está atrasado, en un 7,63%.

Otros resultados de la prueba












En todas las pruebas, con la excepción de GeekBench, el i9-9900K en "agua" es mejor que sí mismo en "aire". E-2288G es mejor que su "progenitor" en todas las pruebas, excepto la prueba de GeekBench de un solo subproceso y la prueba de Apache. Creo que los resultados en estas pruebas se vieron afectados por las optimizaciones internas del procesador, lo que nos permitió empacarlo en un paquete de calor estable. En otras pruebas de subproceso único, el rendimiento está en el mismo nivel con un error: no saltaremos por encima de 5 GHz :-)

Vamos más lejos

Prueba de servidor virtual


Compararemos hasta cinco máquinas virtuales.

En primer lugar, como siempre, una máquina virtual que ejecuta CentOS Linux 7 con el kernel 3.10. Además, debido al hecho de que el servidor host utiliza el kernel personalizado Unbreakable Enterprise Kernel Release 5 (UEK5) de Oracle, que le permite aumentar el rendimiento en nuevos procesadores, veamos cómo cambiará el rendimiento de una máquina virtual con CentOS 7 y el kernel UEK5 (4.14) en su interior a la velocidad de la CPU. Turbo. Si ya tomé la prueba CentOS 7 con dos núcleos diferentes, ¿por qué no mirar las pruebas que pasan las máquinas virtuales en otros sistemas operativos Linux y otras versiones del núcleo? Tome las últimas versiones de Ubuntu LTS y Debian: Ubuntu 18.04 (kernel 4.15) y Debian 10 (kernel 4.19).

Entonces, en la línea de partida:

  • CentOS 7 Fast & Furious (3.10),
  • CPU Turbo CentOS 7 (3.10),
  • CPU Turbo CentOS 7 (uek5 4.14)
  • CPU Turbo Ubuntu 18.04 (4.15),
  • CPU Turbo Debian 10 (4.19).

Por lo tanto, compararemos dos tarifas, y dos CentOS 7 con diferentes núcleos, y 3 versiones de SO populares. Hace tiempo que quería despertar tal cosa, no sabía qué artículo poner :-)

Las pruebas son las mismas, bueno, realmente las amo.

Resultados de la prueba del servidor virtual




De acuerdo con los resultados de la prueba Geekbench en modo de subproceso único, el primer lugar está en la CPU de la VM. Turbo con el núcleo UEK5. Además, la diferencia entre Fast y Furious y CPU. Turbo (3.10) ya es del 65.02%, y con el núcleo UEK5, todo el 67.01%. La diferencia entre CPU, Turbo en Centos 7 y Debian es 0.2% a favor de UEK5.

En modo multihilo, la CPU es el líder Turbo Debian. Está por delante de CPU. Turbo (3.10) en 2.19%, y CPU. Turbo (UEK) en 1.13%. Al mismo tiempo, la CPU Turbo (3.10) está por delante de Fast and Furious en un 55.48%. La diferencia entre CPU, Turbo (UEK) y Fast and the Furious alcanza el 57.13%.

Otros resultados de la prueba













En la prueba Geekbench de un solo subproceso y subprocesos múltiples, así como en las pruebas Sysbench, C-ray, OpenSSL, CentOS 7 con ambos núcleos y Debian 10 están aproximadamente al mismo nivel. Ubuntu está en el último lugar 18.04.

En la prueba de compresión: Compress-7zip y Compress-bzip: el primer lugar en Debian 10, el segundo lugar lo comparte CentOS 7 con ambos núcleos, el tercer lugar está en Ubuntu 18.04.

En la prueba encode-mp3, los lugares se distribuyeron de la siguiente manera: Debian 10, Ubuntu 18.04, CentOS 7 UEK5, CentOS 7 con el kernel 3.10.

En la prueba de Himeno de un solo subproceso, CentOS 7 3.10 y CentOS 7 UEK5 ocuparon el primer y segundo lugar, Debian 10 fue el tercero y Ubuntu 18.04 fue el cuarto con un gran retraso.

En la prueba ffmpeg, el primer lugar está en CentOS 7 UEK5, el segundo está en Debian 10, el tercer lugar lo comparten CentOS 7 3.10 y Ubuntu 18.04.

En la prueba de John The Ripper, Debian 10 obtuvo el primer lugar, el segundo con ambos CentOS 7 con el mismo resultado, el tercero con Ubuntu 18.04.

En la prueba de Apache, CentOS7 UEK5 lidera por un amplio margen, seguido de Debian 10, CentOS 7 3.10, Ubuntu 18.04.

En la prueba de GCC, la diferencia entre las máquinas virtuales en la tarifa de CPU Turbo es insignificante.

En todas las pruebas, VM ocupa el último lugar en las tarifas Fast y Furious; hay una diferencia en las frecuencias.



Curiosamente pasó la prueba de máquinas virtuales. El retraso de VM en la tarifa Fast and Furious fue obvio. Los resultados para máquinas virtuales con CentOS 7 con diferentes núcleos también fueron obvios: deberían haber estado cerca o con un ligero margen hacia un núcleo más reciente. Solo la prueba de Apache fue inesperada. Pero la revelación completa fueron los resultados de Debian 10 y Ubuntu 18.04, liderando en la mayoría de las pruebas de Debian 10 y rezagándose en la mayoría de las pruebas de Ubuntu 18.04.

Es difícil para mí decir qué influye exactamente en tal difusión de resultados. Quizás un kernel y software más reciente. O un conjunto de servicios lanzados "listos para usar": las pruebas se realizaron en máquinas virtuales recién implementadas sin ninguna configuración. Si Debian 10 después del lanzamiento inicia un número muy pequeño de servicios que pueden contarse con los dedos de dos manos de un operador experimentado de fresadoras, entonces Ubuntu 18.04 no comenzó a agruparse en un marco tan estrecho :-)

En general, para aquellos que deciden por su propia experiencia asegurarse de que la nueva velocidad de la CPU. Turbo se llama acertadamente alta velocidad, recomiendo tener en cuenta dos puntos. En primer lugar, el sistema operativo: en Debian será más rápido sin chamanismo, con CentOS 7 también es genial, pero si conjuras con el núcleo, es súper. A quién le importa instalar UEK5 en CentOS 7, en los comentarios. Y en segundo lugar, debe recordarse que todavía probamos en nodos vacíos. Y eso significa que, bajo carga, los resultados serán ligeramente diferentes, pero aún altos. Bueno para todos

Hasta el 3 de octubre, los servidores están sujetos a la tarifa de CPU. Turbo puede solicitarse en el sitio web firstvds.ru con un descuento del 25% durante 1 mes utilizando el código promocional HABR_TURBO . El código promocional se grabará a la medianoche del 4 de octubre de 2019. También puede tomar el servidor para una prueba gratuita de tres días.



PD: en todas las fotos nuestra generalista de recursos humanos Sonya.

Probado y escrito para usted por Trashwind , administrador senior del sistema del departamento de operaciones.

Source: https://habr.com/ru/post/468003/


All Articles