2009-10-01 15 views
9

¿Cómo medir la carga actual del servidor MySQL? Sé que puedo medir cosas diferentes, como el uso de CPU, el uso de RAM, el disco IO, etc., pero ¿existe una medida de carga genérica, por ejemplo, el servidor tiene una carga del 40%, etc.?¿Cómo medir la carga actual del servidor MySQL?

Respuesta

4

con la parte superior o htop se puede seguir el uso en tiempo real Linux

+1

arriba no muestra el uso del disco y con las bases de datos la mayor parte del tiempo el uso del disco es más importante – NickSoft

13
mysql> SHOW GLOBAL STATUS; 

Encontrado here.

+0

creo que el PO quiere una sola medida de carga en lugar de que el detalle de grano fino proporcionado por la consulta de estado. – whatnick

+0

Este requisito no se solicitó explícitamente. –

+4

+1 para estadísticas detalladas. –

2

En sistemas basados ​​en Linux, la comprobación estándar suele ser de tiempo de actividad, se devuelve un índice de carga según las medidas descritas here.

8

La noción de "40% de carga" no está bien definida. Su aplicación particular puede reaccionar de manera diferente a las limitaciones en diferentes recursos. Por lo general, las aplicaciones estarán vinculadas por uno de tres factores: memoria disponible (física), tiempo de CPU disponible y IO de disco.

En sistemas Linux (o posiblemente otros * NIX), puede obtener una instantánea de estos con vmstat, o iostat (que proporciona más detalles sobre el disco IO).

Sin embargo, para conectar estos a "40% de carga", debe comprender las características de rendimiento de su base de datos bajo carga típica. La mejor manera de hacerlo es probar con consultas típicas bajo distintas cantidades de carga, hasta que observe que los tiempos de respuesta aumentan de forma espectacular (esto significará que ha golpeado un cuello de botella en la memoria, la CPU o el disco). Esta carga se debe considerar su nivel crítico, que no desea exceder.

1

aparte de todas las buenas respuestas en esta página (MOSTRAR LA SITUACIÓN MUNDIAL, VMSTAT, TOP ...) también hay una muy simple herramienta a utilizar escrito por Jeremy Zawodny, es perfecto para usuarios que no son administradores. Se llama "mytop". más información @http://jeremy.zawodny.com/mysql/mytop/

4

¿existe una medida de carga genérica, por ejemplo, el servidor tiene una carga del 40%?

Sí! existe:

SELECT LOAD_FILE("/proc/loadavg") 

Funciona en una máquina Linux. Muestra los promedios de carga del sistema durante los últimos 1, 5 y 15 minutos.

El promedio de carga del sistema es el número promedio de procesos que se encuentran en estado ejecutable o ininterrumpible. Un proceso en un estado ejecutable es usar la CPU o esperar para usar la CPU. Un proceso en estado ininterrumpible está esperando algún acceso de E/S, por ejemplo, esperando el disco. Los promedios se toman en los tres intervalos de tiempo. Los promedios de carga no están normalizados para el número de CPU en un sistema, por lo que un promedio de carga de 1 significa que un sistema de CPU único se carga todo el tiempo, mientras que en un sistema de 4 CPU significa que estuvo inactivo el 75% del tiempo.

Así que si quieres normalizar también necesitas contar el número de CPU.

que puede hacer que también con

SELECT LOAD_FILE("/proc/cpuinfo") 

ver también 'hombre proc'

0

Hola amigo como por mis investigaciones tenemos algún comando como

  • MYTOP: programa de código abierto escrito utilizando lenguaje PERL
  • MTOP: también un programa de código abierto escrito en PERL, funciona igual que MYTOP pero monitorea las consultas que toman más tiempo y las mata después de un tiempo específico.

Link for details of above command

Cuestiones relacionadas