Rendimiento vs Satisfacción

Uno de los problemas principales de las áreas IT es el rendimiento de la plataforma y cómo dicho rendimiento tiene una relación directa con el negocio de nuestra organización. En plataformas donde la interacción de las personas con la plataforma es una parte importante para el desarrollo del negocio, por ejemplo, todas aquellas aplicaciones que interactuan con los usuarios, como son las aplicaciones Web,  el termino Rendimiento tiene un peso específico, ya que nosotros como ingenieros debemos conseguir el mayor rendimiento posible para ofrecer una respuesta a un ser humano y no a una máquina. Continue reading

Solaris: Introducción a Resource Management (II)

En el post anterior, sobre Resource Management, vimos las posibilidades que ofrece este conjunto de herramientas para la gestión de los recursos. Principalmente vimos la forma en la que podemos gestionar ciertos parámetros del Kernel y como crear grupos de CPUs. En este post vamos a ver la herramienta RCAP (Resource Capping Daemon) que nos permite controlar la cantidad de memoria física a la que tiene acceso un proceso. Continue reading

Solaris: Introducción a Resource Management

Lo primero que podemos decir de Resource Management, es uno de los grupos de características menos conocidos de Solaris, puedes preguntarle a cualquier administrador de Solaris sobre este conjunto de herramientas y el 70% de ellos no las habrán utilizando nunca y un 60% ni siquiera saben de qué les estás hablando, creo que merece la pena echar un vistazo a Resource Management porque descubriremos que nos puede ayudar en nuestro día a día. Continue reading

SPARC: Rendimiento del SPARC64 VI

En un post anterior, hemos hablado cómo podemos medir el rendimiento del procesador UltraSPARC T2+. Siguiendo con esta serie de posts, ahora vamos a ver como podemos analizar el comportamiento del procesador SPARC64 VI, en el link anterior podemos ver algunas de las características de este procesador. Podemos destacar, que se trata de un procesador dual-core, con 2 threads hardware por core. Continue reading

SPARC: Rendimiento del T2+

Hace algún tiempo que Sun ha puesto en escena el procesador UltraSPARC T2+, puedes leer una pequeña descripción de este procesador en el siguiente link. El procesador dispone de varios cores (dependiendo del modelo que compres) y cada uno de los cores es capaz de gestionar 8 threads hardware. Solaris trata cada uno de los threads hardware de los cores como si se tratasen de CPUs, en realidad, podemos pensar en CPUs virtuales. Continue reading

Solaris: MPxIO, devices y LUNs

Siempre que he trabajado con software de multipathing he tenido el mismo primer problema identificar los dispositivos físicos asociados con los dispositivos virtuales. Este primer problema se resuelve de distintas formas dependiendo del software que se emplee, solo vamos a a hablar de MPxIO (Multiplexed I/O), el cual viene integrado en Solaris desde Solaris 8 y permite crear una interfaz virtual para acceder por varios caminos a un mismo dispositivo. Continue reading

¿ Sabías que con mdb puedes ver la memoria del sistema?

La forma más rápida de ver el uso de la memoria física de nuestro sistema es ejecutando la siguiente línea de comando, que le pasa al debugger del kernel el comando “::memstat”

# echo "::memstat" | mdb -k
Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                      50136               391    3%
Anon                       356935              2788   20%
Exec and libs                4787                37    0%
Page cache                 160492              1253    9%
Free (cachelist)          1135937              8874   65%
Free (freelist)             52792               412    3%

Total                     1761079             13758

Con esta salida obtenemos una visión rápida del estado de nuestra memoria física, con 3 columnas, una en páginas, otra en MB y la última en prociento, de cuanta memoria está utilizando el Kernel, cuanta memoria está asignada como Anónima, cuanta se ha usado para el Page Cache y cuanta memoria está marcada como libre.

Si quieres saber exactamente la memoria disponible en el sistema utiliza este método, no use comandos como el vmstat.

SPARC: Granja de servidores vs granja de threads

Introducción

Actualmente estamos viviendo un periodo de transición con respecto a la arquitectura de las máquinas con las que trabajamos. Los fabricantes de procesadores están provocando que el mercado cambie el rumbo al que estabamos acostumbrados en los últimos años.

Al principio de los 90, apareció en escena el SO Linux, como se ha demostrado, Linux ha sido una completa revolución en muchos aspecto del mundo IT y no solo por su aportación al movimiento OpenSource, desde el punto de vista del administrador de sistemas, las aparición de Linux supuso un cambio en la mentalidad a la hora de administrar el sistema operativo. Continue reading

phpEasyTools: Beta de easyRM (Resource Management)

Ayer, desde el proyecto phpEasyTools lanzamos el módulo easyRM, se trata de un sencillo GUI que te permite gestionar las herramientas de Resource Management. Con easyRM podrás, de una forma sencilla, trabajar con projects, tasks, procesos, activar/desactivar CPUs, crear grupos de CPU, mover las CPUs de un grupo a otro, fijar tamaños de memoria, cambiar semaforos, memoria compartida, tamaño de los cores, número máximo de LWP, etc.

Siguiendo con la filosofía de las phpEasyTools, todas las operaciones que se realizan con easyRM son ejecutadas con los comandos del sistema, lo que nos permite aprender de una forma sencilla y rápida, los distintos comandos necesarios para trabajar con Resource Management.

En el portal de phpEasyTools podrás encontrar enlaces a documentación sobre Resource Management, bajar los scripts en PHP y ver algunos screenshots.

Sr. Administrador, más CPU por favor.

Actualmente la gente de IT, en concreto la relacionada con Sistemas, está constantemente bombardeada por las campañas de publicidad de distintas compañías, las cuales presentan productos que prometen, en el caso de los procesadores, chips más veloces, con más cores, que pueden ejecutar más threads, con más GHz, cachés L1, L2, L3 y varias unidades de ejecución, TLBs más grandes, etc. El problema, por lo menos así lo veo yo, es que la gente no conoce la tecnología que está comprando, ni la conoce y en muchos casos no muestra el menor interés en conocerla. Continue reading

Solaris: Introducción a DTrace

Hace tiempo que estoy detrás de intentar escribir una pequeña entrada en el blog sobre DTrace, pienso que ha sido una de las herramientas más interesante que han aparecido para el estudio del rendimiento de los sistemas y no solo para eso, tambien puede ayudar a todos aquellos que deseen profundizar en la compresión de cómo funciona el Kernel de Solaris. Creo que cualquier persona que bien vaya a desarrollar, bien administre sistemas Solaris, debería conocer DTrace, sino en profundidad, al menos conocer las posibilidades que nos ofrece. En este artículo veremos una breve introducción a DTrace, de todas formas es imprescindible, para todos aquellos que deseen profundizar más, la lectura de Solaris Dynamic Tracing Guide.

Continue reading

Rendimiento/Tuning Solaris: Múltiples tamaños de página

Una de las características más interesantes de Solaris, en cuanto a la gestión de la memoria es MPSS (Multiple Page Size Support) o Soporte para múltiples tamaños de páginas, básicamente, consiste en que podemos decirle al Kernel cual es el tamaño de página que queremos que se asignen a nuestros procesos. Cómo pudimos ver en el artículo Rendimiento/Tuning Solaris: Memoria Cache los tiempos de accesos a las caches y a la memoria del sistema, son variables que debemos tener muy en cuenta a la hora de realizar un análisis del rendimiento de nuestro sistema.

Continue reading

Rendimiento/Tuning Solaris: Memoria swap

Por definición, podemos decir que el área de swap consiste en una zona de memoria secundaria, que el sistema utilizará para almacenar las páginas ocupadas, en memoria principal, por un proceso, una vez que el Kernel decide que dicho proceso debe ser sacado de la memoria. Normalmente esta situación, se debe a un problema con la cantidad de memoria libre en el sistema.

Continue reading