Configuración de MySQL para rendimiento

3 August, 2008 | Comentarios (0)

En el desarrollo de aplicaciones contra bases de datos, la mayoría de las veces, necesitas unos valores de referencia para saber si las consultas o instrucciones que está procesando tu aplicación se están comportando como debiere. También si te toca administrar un servidor de bd y monitorearlo este post te será de gran ayuda.

En este sentido escribiré algunos de los parámetros que podemos monitorear para el caso de bases de datos MySQL.

Básicamente MySQL nos proporciona una serie de instrucciones SQL que nos devuelve información de estado y rendimiento del servidor, para que luego las evaluemos y decidamos que acción pertinente se lleva a cabo.

La instrucción básica que se usa en MySQL es

  1. SHOW STATUS;

la cual nos devuelve una cantidad importante de estados de variables. Aquí explico las más importantes.

Threads_connected

Esta variable indica el número total de clientes que tienen una conexión abierta actualmente con el servidor.
Proporciona información en tiempo real de cuantos clientes están conectados con el servidor. Esto puede ser de ayuda para analizar el tráfico o decidir cuando es el mejor instante para reiniciar un servidor.

Created_tmp_disk_tables

Esta variable indica el número de tablas temporales que han sido creadas en disco frente a hacerlo en memoria.
El acceso a tablas en disco normalmente es más lento que acceder a ellas en memoria. Por tanto las consultas que usan la sintaxis CREATE TEMPORARY TABLE son más lentas si el valor de la esta variable es superior.

Leer más →

Archivado en... Programación, Servidores, Software, Truquitos, Vida virtual URI

Web Server optimizado con Nginx (Nginx I)

7 May, 2008 | Comentarios (1)

Este post inicia una serie de post sobre Nginx, instalación, configuración y optimización todo fruto de el trasteo, la búsqueda de la máxima optimización, en parte impulsada por la limitación de recursos en general de el servidor en el que tengo alojada este humilde site.
En mi incursión en optimizar tanto el rendimiento como el consumo de memoria en mi servidor casero he estado probando Nginx. Despues de muchas pruebas y de escuchar en la red que era el mejor servidor.

Pero vayamos y echemos un ojo a todo de esta maravilla rusa. Nginx (”engine x”) es un servidor HTTP y proxy inverso de alto rendimiento, y un servidor proxy para IMAP/POP3/SMTP. Nginx fue desarrollado por Igor Sysoev para Rambler.ru, el segundo sitio web más visitado de Rusia, donde ha estado, y sigue, funcionando en producción más de dos años y medio. Igor ha lanzado el código fuente bajo una licencia estilo BSD. Nginx es conocido por su estabilidad, gran conjunto de características, configuración simple, y bajo consumo de recursos.
Nginx en estos momentos está haciendo mucho ruído precisamente porque para el caso de montar servidores web es muy rápido, sino el mejor, sirviendo estáticos, esto sumado a la posibilidad de configurar servidores proxy web inversos, nos permite tener un servidor con un rendimiento increíble y lo más importante y lo que más me impactó, en sólo 4 mben runtime.

Nginx es usualmente utilizado como reemplazo de apache que gestiona muchas conexiones concurrentes, como servidor proxy de balanceo de carga, como servidor proxy de mail, entre otros.

Dejemonos de alabanzas y procedamos a la instalación del mismo: En el momento que escribo tanto Debian Testing como Sid tienen unas versiones desfasadas  tiene nginx en su repositorio pero es una versión algo desfasada, 0.4.13, por lo que vamos a compilar e instalar la última versión:

Antes de nada instalaremos unas cuantas dependencias:

sudo aptitude install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev

Hecho esto, ahora procedemos a recoger los fuentes, compilar y configurar.
Leer más →

Archivado en... Linux, Servidores, Software, Vida virtual, Web URI





: