Breve vista a las pruebas de Estrés en sistemas. Benchmark

in #steemstem5 years ago

Probar el funcionamiento de máquinas, estructuras procesos y todo aquello que pueda fallar es una práctica común, desde hace mucho tiempo las industrias han probado las maquinarias de trabajo, los constructores en sus diferentes categorías realizan pruebas sobre sus estructuras y suelos y así con toda actividad. La tecnología no escapa de estas pruebas, durante los procesos de desarrollo los sistemas son sometidos a diferentes pruebas, en el software se realizan simulaciones para comprobar su correcto funcionamiento, en este ámbito los Benchmark son ya famosos, pero no son las únicas prueba realizadas.


La prueba a los sistemas informáticas pueden realizarse sobre el hardware, el software e incluso una combinación de ambas, en etapas de desarrollo y de producción (cuando ya están en funcionamiento)


Prueba de Hardware


Los sistemas informáticos están conformados por una gran cantidad de componentes, estos son probados por separado y en conjunto, sus pruebas evalúan desde los materiales de los componentes hasta su funcionamientos.


Al momento de desarrollar los componentes se realizan una serie de pruebas para medir su funcionamiento y durabilidad, los componentes más familiares para los usuarios son sin duda aquellos que conoce directamente, procesadores, tarjetas madres y GPU´s (tarjetas de video), pero incluso una tarjeta madre está formada por una cantidad de componentes más pequeños, transistores , mosfets, resistencias, chips y su soporte que es el PCB (circuitos impresos) o la base donde todo se coloca. Cada componente tiene su proceso de prueba de fabricación y especificaciones, definir cada una de las pruebas que van desde la selección de materiales hasta sus procesos de fabricación es algo que escapa de la extensión de este post, por eso tomaremos evaluaciones de componentes completos y no el desglose de cada una de sus partes, tomando solo algunos de los aspectos evaluados.


Materiales y sus propiedades como conductividad, resistencia, durabilidad son factores que se toman en cuenta, técnicas de fabricación, que van desde forma de grabación de los circuitos impresos hasta las formas de soldadura, fabricación de las obleas (en fabricación de procesadores, GPU´s y cualquier componente que las requiera), son tomados en cuenta.


Haciendo un paréntesis es necesario saber que un PCB (placa circuito impreso) es una superficie a través de la cual se graban, imprimen caminos conocidos como pistas o buses que son impresos con algún material conductor.


Su creación está bajo los estándares IPC-220, que son las normas que registran los requisitos que deben tener las placas de circuito impreso que quieran contar con una certificación reconocida por la industria.


El PCB puede considerarse la autopista, sobre esta se colocan los componentes que utilizan las diferentes pistas para conectarse entre ellos.


SI bien los PCB son uno de los componentes básico en la creación de dispositivos electrónicos existe otro componente poco conocido por los usuarios pero muy famoso a su vez, las obleas.



Imagen de Pixabay


Las obleas son placas de un material semiconductor, utilizadas para crear microcircuitos, en la actualidad el silicio es el material más utilizado para estas, aunque en la actualidad existe un desarrollo y estudio para obleas de grafeno. Son la base para la fabricación de los procesadores y GPU´s y su fabricación de por si viene atada a una serie de pruebas y comprobaciones que pueden servir para un estudio.



Imagen de Pixabay



Teniendo en cuenta que en los sistemas informáticos las prueba de fabricación suceden con cada componente y son tantos y tan complejos, este artículo tomará en cuenta las pruebas que se realizan sobre los sistemas informáticos como bloque, aquellos que pueden realizarse sobre un servidor, computador, portátil, e incluso dispositivos como modem, switches.


Por tanto tomaremos en consideración para las evaluaciones físicas las consideraciones que se usan normalmente, temperatura, durabilidad y resistencia.


Temperatura


Todos los equipos electrónicos son diseñados para trabajar bajo una serie de parámetros de temperatura, se realizan simulaciones computacionales cuando se desarrollan los proyectos, posteriormente se prueban estos tomando en cuenta dos factores. La temperatura ambiental, el calor es algo que se transmite entre los materiales de distinta forma según sus propiedades, sin embargo el ambiente donde el aire nos rodea también puede contener calor y transmitirlo o disipar. Si la temperatura del ambiente es similar a la temperatura dentro de un dispositivo ( recordemos que los dispositivos son fabricados dentro de estructuras, caja, que contienen los componentes y forman un ambiente interno propio) el calor se mantendrá internamente igual y tiene la tendencia a subir internamente, si la temperatura ambiente es menor, el proceso de disipación al exterior es más rápida. Por eso se recomienda que estos trabajen en una temperatura ambiente determinada. Si esta temperatura es mayor a la especificada podremos encontrar fallas.


Temperatura Interna: Los componentes internos de un dispositivo genera calor, estos componentes tienen cada uno su propia especificación térmica, la temperatura máxima a la que pueden trabajar sin fallar, por eso el calor es disipado dentro de estos de dos formas, por disipación pasiva, cuando se utilizan piezas de materiales conductores de calor, diseñados de forma de tomar el calor del componentes y disipar este. Por tanto la dispensación se realiza por intercambio de calor donde el componente transmite el calor generado a otro componente que lo absorbe e irradia al ambiente u otro componente que realiza el proceso de absorción (podría ser un líquido).


La disipación activa, cuando se utilizan ventiladores que generan túneles de aire, de forma que el calor es movilizado a una zona específica del dispositivo donde existen rejillas para que este salga o más ventiladores que ayudan a extraer este de forma forzada. Esto es un ejemplo de cómo podría ser una refrigeración activa, los sistemas de refrigeración utilizados en sistemas de aire acondicionado usan estos sistemas usando refrigeradores o chillers.



Imagen de Pixabay


Igualmente pueden utilizarse ambos sistemas dentro de un dispositivo, donde múltiples disipadores pasivos transfieren la temperatura del ambiente interno del dispositivo y ventiladores extraen este calor del interior para mantener el ambiente interno en una temperatura determinada.


Durabilidad


Todo componente tiene un tiempo de vida útil variable y determinado por el fabricante, para esto los fabricantes toman series de dispositivos y los dejan trabajando por periodos prolongados, en condiciones diversas para poder obtener una media de su vida útil en horas.


Resistencia


Si bien uno pensaría que un dispositivo informático no debe tener resistencia, es bueno recordar que las pruebas pueden ser incluso sobre un smartphone, portátil y dispositivos que son trasladados como parte de sus usó, aquí las pruebas de resistencia son parte importante al momento de fabricación.


Si bien no son dispositivos hechos para tirarse, si deben resistir cierta fuerza razonable sin dañarse. Existen equipos diseñados incluso para el uso en situaciones más extremas, personas que trabajen en campos por ejemplo, y que requieran incluso poder resistir golpes e incluso cambios de temperatura más extremas.


Pruebas sobre el Hardware


Entendiendo un poco más sobre las cosas que se evalúan en los dispositivos, vamos a entender por una prueba de estrés, aquellas donde al hardware se le lleva a un funcionamiento extremo para poder medir su funcionamiento, muchas veces existen fallas que se logran detectar más fácilmente si el equipo es sometido a pruebas controladas. Pruebas comunes son las de los procesadores y las GPU´s, donde se induce trabajo extremo de estos mediante una alta tasa de solicitudes de operaciones continuas que llevan su carga al 100% de su capacidad.


En este período se monitoriza que la temperaturas están dentro de los rangos correctos de trabajo, su duración puede cambiar pero una prueba debe ser mayor a los 15 minutos continuos y pueden llegar a ser de 30 minutos o más. Se chequea que mantengan su rendimiento y que no se tenga una degradación de rendimiento en un periodo prolongado de carga alta.


Pruebas sobre unidades de almacenamiento donde se les sometes a una serie de escrituras y lecturas, para poder comprobar su funcionamiento.


Pero no solo servidores y Pcs son probados, dispositivos como swhitches y routers son llenados de tráfico simultáneo para comprobar su correcto funcionamiento, si bien a nivel de su hardware el comportamiento termal de sus componentes se verifica, su rendimiento es monitorizado, sin embargo en estos muchas veces debe tenerse cuidado entre rendimiento bajo por sobrecalentamiento de una baja de rendimiento por una configuración incorrecta, donde el componente software puede afectar y donde una mala configuración de red puede producir colisiones excesivas bajando el rendimiento, aun cuando sus componentes físico trabajen de forma adecuada.


Por otro lado como todo componente electrónico necesita de energía eléctrica, en estas pruebas también se lleva un control de las fuentes. Su funcionamiento de forma correcta, donde entreguen de forma estable el voltaje necesario, pues fallas eléctricas también pueden influir en los resultados.


Algunas pruebas que se han popularizado en la actualidad y son de fácil implementación para un usuario son. AIDA64 es una de ellas permite entre otras cosas realizar pruebas de estrés a diferentes componentes y pruebas más sencillas de programas como CPU-Z y GPU-Z que permiten poner a prueba el procesador y GPU respectivamente.


En Linux encontramos pruebas como EPEL  y StressLinux que permiten poner a prueba los componentes de los equipos.



Captura de Pantalla editada con Gimp


Si bien las pruebas de estrés en bruto sirven para constatar el estado de los dispositivos, cuando estas pruebas se almacenan y cotejan para crear comparativas con otros dispositivos, estas se vuelven parte de los Benchmark, al usar pruebas de estrés (donde no necesariamente se miden al 100%)  que miden se puede medir el rendimiento de los dispositivos se puede tener un panorama de su funcionamiento, cuando estas se guardan en bases de datos y se cotejan de forma de poderlas comparar contra otros dispositivos, se logra obtener comparativas que sirven de base al momento de medir el rendimiento de estos frente a otros de mayor o menor capacidad. Esta información a simple vista es útil para aquel que desea adquirir un equipo, pero a nivel corporativo da aún más información, aumento del rendimiento en dispositivos de diferentes épocas, estadísticas de piezas más probadas dan una idea de qué dispositivos son más populares y un sin fin de información que se desprende de estas bases de datos.


Prueba de rendimiento de Software


El software y hardware van de la mano, ambos deben funcionar de forma correcta, las pruebas en etapas de desarrollo y producción son de importancia, permiten detectar errores antes de su lanzamiento y a optimizar sistema en funcionamiento. Finalmente siempre se querrá tener el mejor rendimiento posible acorde al hardware utilizado.


Comparar el rendimiento de un software contra otro, o el rendimiento de un mismo software en hardware diferente, poder evaluar un software en cargas de trabajo real antes de salir a producción también es importante y las pruebas de rendimiento son parte de esto.


El software también puede recibir prueba de funcionalidad que buscan evaluar el correcto funcionamiento, procesos y flujo de información, sin embargo en este post no abordaremos ese tema.


Para su realización es necesario diseñar los escenarios a evaluar junto con la variables que pueden ser alteradas durante la prueba para servir de referencia, se necesita (en caso de software que han estado ya trabajando) tener pruebas base en circunstancias normales para tener referencias que sirvan de comparación.


Se diseña un entorno de pruebas, para sistema en desarrollo sirven de referencia para su futura implantación y en sistemas existentes se puede usar de base uno similar o proporcional para poder escalar los resultados, no se realizan sobre ambientes productivos para evitar dañar información existente.


Podemos encontrar pruebas de carga, estrés, estabilidad y picos. De estas donde se prueban los límites del software es en las pruebas de estrés y de picos.


Las pruebas de estrés son realizadas de forma de probar la concurrencia y generación de data masiva, de esta forma se generan gran cantidad de órdenes que simulan muchas conexiones simultáneas como en el caso de muchos usuarios simultáneos, que produzcan un gran volumen de actividades sobre el software.


Si por ejemplo se evalúa un manejador de bases de datos, se procurará realizar múltiples conexiones simultáneas que generen gran cantidad de lecturas y escritura de forma masiva de forma continuada, por un tiempo prolongado.


Esto si se realiza siempre sobre el mismo software se podrá evaluar el software contra versiones anteriores u otros diferentes. Si es hardware diferente, se podrá medir el impacto el hardware sobre el diseño.


Las pruebas de pico, buscan tener un sistema con un flujo continuo similar al que tendrá el software en un uso real y poner alzas de trabajo en intervalos determinados para poder ver el comportamiento del sistema cuando hay altas y bajas de trabajo en su entorno.


Las pruebas de rendimiento no buscan tumbar los sistemas, el estudio de su comportamiento en situaciones extremas para optimizar y mejorar es su uso real.


Estas pruebas son muy diversas y dependiendo del sistema pueden ser diseñadas en específico para la prueba o para situaciones más generales, existen por ejemplo programas diseñados para probar bases de datos que tienen compatibilidad con diversos manejadores y permiten generar diversos escenarios.



Consideraciones


Los sistemas reciben prueba desde en su hardware y software con el fin de poder evaluarlos, mejorarlos e incluso compararlos. Con pruebas controladas se logran obtener datos referenciales que ayudan incluso a conseguir fallas.


Como los diferentes dispositivos están formados por gran cantidad de componentes se debe estar consciente que en su diseño y fabricación esto son sometidos a pruebas que permiten establecer sus características y limitaciones, necesarias para entender el comportamiento del dispositivo en conjunto.


Referencias


Wikipedia Articulo

Wikipedia Articulo

Post

Post

Wikipedia Articulo







Sort:  

Y que todo fluya.
Ya estaremos viendo cuando vengan las obleas de grafeno, hay expectativa, y como toda tecnología, los precios serán altos, pero luego recuerdas que todos esto tiene que pasar por arduas pruebas y lo entiendes perfectamente. Como es muy bien dicho, prepárate para lo peor pero espera lo mejor; o algo así.
Sobre lo en el software me ha recordado una plataforma para realizar pruebas de estrés a servicios online, pero no recuerdo su nombre, y tengo que buscarlo otra vez.

Si se espera el grafeno sea el futuro, pero yo aun le veo un inconveniente frente al silicio, que es su abundancia en el ambiente, el silicio proviene de procesar arena, en pocas palabras abundante el grafeno no se recoge a la orilla de playa, así que su precio puede ser considerablemente mayor. Realmente cuando empece a escribir de pruebas termine metiendo hasta materiales, pero como probar algo sin una idea mínima de su composición y comportamiento.

Hoy día que las pruebas de estres son comunes hay mas software enfocado a ello, los Benchmark en linea (que aun sin ser una prueba de estrés formal y si una comparativa) son un ejemplo, si lo recuerdas dejalo en algún comentario que si hay algo cierto en estos temas es que siempre se pueden conseguir herramientas diferentes a las que uno conoce.

No había contemplado la no abundancia de dicho material, esto me recuerda lo que sucede con el Coltán, pero allá ya es otro caso.

Hi @ubaldonet!

Your post was upvoted by Utopian.io in cooperation with @steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV




This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie and @utopian-io.

If you appreciate the work we are doing, then consider supporting our witness stem.witness. Additional witness support to the curie witness and utopian-io witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Thanks for having added @steemstem as a beneficiary to your post. This granted you a stronger support from SteemSTEM.

Thanks for having used the steemstem.io app. You got a stronger support!

Gracias por el apoyo

Saludos @ubaldonet seria fantástico poder escucharte pronto en algunas de nuestras reuniones virtuales. Si tienes tiempo y esta a disposición de hacerlo puedes contactarme en discord!

Coin Marketplace

STEEM 0.32
TRX 0.11
JST 0.034
BTC 66569.64
ETH 3235.92
USDT 1.00
SBD 4.31