Descubre la solución a los problemas de rendimiento causados por Meltdown & Spectre en tus sistemas Windows

Ene 19 2018

El peor bug de la historia de las CPUs tanto Intel como de otros fabricantes, ha pasado a tener unas dimensiones gigantescas, extendiéndose a ordenadores y dispositivos móviles. No te agobies… la solución se escribe con “a” de atSistemas.

 

Por Daniel Crespo Rodríguez y Santi Macías

 

2018 ha comenzado con grandes problemas para los fabricantes tecnológicos con la aparición de Meltdown y Spectre. Estas vulnerabilidades se aprovechan de un fallo de diseño de los fabricantes Intel, AMD y ARM, por lo que prácticamente todos los ordenadores fabricados desde 1995 son vulnerables, incluso smartphones y tablets, causando un grave problema de seguridad para empresas y particulares.

Al ser un error de hardware, la solución pasaría por el reemplazo de los chips o la actualización del firmware, pero es una solución costosa y en la mayoría de los casos inaplicable o peligrosa [1]. Por este motivo, la solución se está aplicando vía software. Los Sistemas Operativos - Microsoft Windows, OSX, Linux o Android - se ven obligados a deshabilitar las optimizaciones que contienen la brecha de seguridad, y si no es posible, a modificar el Kernel para disminuir la concurrencia de procesos. Los parches se están aplicando rápidamente en cuanto aparecen en todos los Sistemas Operativos y CPDs Cloud. Al ser una vulnerabilidad grave que compromete la inmensa mayoría de los sistemas informáticos del mundo, su aplicación no admite demora y se está realizando a ritmo acelerado.

En todos los casos, aparece un efecto colateral que es la disminución del rendimiento que puede ser desde inapreciable hasta muy importante. A este respecto, pongo a vuestra disposición una página oficial donde podéis encontrar todos los detalles técnicos de estas vulnerabilidades: https://meltdownattack.com

¿Ha bajado el rendimiento en tus aplicaciones empresariales?

Aunque, en un principio, no había consenso sobre si la disminución del rendimiento causado por la solución sería apreciable, varios estudios aparecidos en los últimos días están demostrando que sí existe y puede llegar a ser severa [2] [3], y no solo a nivel de Sistema Operativo sino también de las aplicaciones. La afectación al rendimiento de las aplicaciones no es uniforme, depende de la manera en que se han desarrollado por lo que no se puede dar una cifra general. Por ejemplo, en las aplicaciones desarrolladas con .NET y SQL Server se ha constatado que el uso de entrada/salida queda muy penalizado. Incluso, en algunos otros casos, se han visto afectaciones de ¡hasta el 300%¡[4]

¿Qué puedes hacer?

Si detectas que el rendimiento de una aplicación Windows en funcionamiento se ha degradado tras la aplicación de los parches, tenemos dos opciones:

  1. Aumentar la potencia de los servidores, ya sean servidores físicos o Cloud/Azure. En algunos casos implica una migración a nuevas máquinas y en todos los casos un aumento importante del coste de alojamiento.
  2. Optimizar las aplicaciones, realizando el análisis y las acciones de reingeniería para que la pérdida de rendimiento sea compensada con optimizaciones a nivel de código, red, base de datos o acceso al Sistema Operativo. Esta inversión se puede lograr sin aumentar los costes de alojamiento.

Descubre nuestro plan de optimización en 5 fases

En el Centro Experto Microsoft de atSistemas disponemos de experiencia y herramientas para realizar consultorías de optimización y auditorias de rendimiento. Proponemos un plan de acción en 5 fases para contrarrestar los efectos de los parches de Meltdown y Spectre en aplicaciones .NET.

Fase 1 - Identificamos los componentes de la aplicación

Estudiamos la arquitectura tecnológica del sistema y las aplicaciones para identificar cada componente.

Fase 2 - Realizamos el análisis inicial del rendimiento global y por componente

Tomamos la temperatura del sistema y de las aplicaciones para detectar los posibles cuellos de botella o perdidas de rendimiento. Trazamos una línea base inicial a nivel de servidores, acceso a datos y SQL Server, acceso a red, consumo de memoria y CPU. Si es posible, tomamos métricas antes de la aplicación de los parches, para conocer exactamente cuál ha sido la afectación.

Fase 3 - Definimos una estrategia de optimización

Con el informe de resultados inicial, proponemos una estrategia de optimización del rendimiento, que se inicia generalmente desde SQL Server y acceso a disco, para ir escalando hacia arriba según la arquitectura del sistema.

Fase 4 – Realizamos ciclos de optimización iterativos

Realizamos las tareas de optimización mediante un proceso iterativo donde:

  1. elegimos el componente candidato a optimizar,
  2. realizamos métricas a nivel de componente y a nivel global del sistema,
  3. seleccionamos una optimización según el componente y la parte donde pensamos que se puede mejorar,
  4. estudiamos los resultados de la optimización y comentamos con el cliente,
  5. documentamos todo el proceso para la elaboración de un informe técnico y resumido.

Fase 5 - Realizamos el análisis final de rendimiento y las pruebas de estrés

Para garantizar la calidad del sistema y los niveles de servicio, adicionalmente podemos diseñar un sistema de pruebas de carga y estrés para determinar la capacidad y disponibilidad del sistema en producción, así como conocer exactamente la carga de peticiones y usuarios que puede soportar.

¿Qué necesitamos por parte de tu organización?

Para realizar estas tareas de optimización con plena garantía, necesitamos una estrecha colaboración de los equipos IT, incluida del equipo de desarrollo si estuviese disponible. El objeto es:

  • acceder a los sistemas en preproducción/producción, mediante VPN o físicamente,
  • acceder al código fuente de las aplicaciones en .NET si fuera necesario,
  • disponer de un entorno de preproducción o pruebas con datos similares a los de producción,
  • conocer los procesos críticos del sistema, en cuanto a rendimiento, y los tiempos máximos aceptables.

Referencias

[1] “Parche de Intel para Meltdown y Spectre genera fallas de reinicio”

http://www.eltiempo.com/tecnosfera/novedades-tecnologia/fallas-de-reinicio-en-procesadores-intel-por-parche-contra-meltdown-y-spectre-171532

[2] “Microsoft reveals how Spectre updates can slow your Windows down”

https://www.theverge.com/2018/1/9/16868290/microsoft-meltdown-spectre-firmware-updates-pc-slowdown

[3] “The hidden toll of fixing meltdown and spectre”

https://www.wired.com/story/meltdown-and-spectre-patches-take-toll/

[4] “Rendimiento SQL Server con el parche contra Spectre y Meltdown”

http://blogs.solidq.com/es/business-analytics/rendimiento-sql-server-con-el-parche-contra-spectre-y-meltdown/

Daniel Crespo Rodríguez


Comparte este artículo

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, dentro de nuestra Web de acuerdo a tus hábitos de navegación. Si continúas navegando, consideramos que aceptas expresamente su utilización. Puedes obtener más información de cómo gestionar y configurar las cookies en nuestra Política de Cookies.

×

Preferencias de Cookies


Cookies esenciales
Cookies funcionales
Cookies de análisis
Cookies de marketing