Site is under maintenance mode. Please wait few min!
Saltar al contenido

¿Qué es un Firewall y cómo funciona?

marzo 4, 2020

 

Introducción

Mytop es una herramienta de línea de comandos de código abierto utilizado para monitorear el rendimiento de MySQL. Fue inspirado por el Linux herramienta de monitorización del sistema arriba nombrado y es similar a la que en apariencia. Conexiones Mytop a un servidor MySQL y periódicamente se ejecuta el programa processlist y muestran comandos de estado globales. A continuación se resume la información en un formato útil. Usando mytop, podemos controlar (en tiempo real) hilos de MySQL, consultas, y el tiempo de actividad, así como ver qué usuario está ejecutando consultas sobre qué base de datos, que son las consultas lentas, y más. Toda esta información se puede utilizar para optimizar el rendimiento del servidor MySQL.

En este tutorial, vamos a discutir cómo instalar, configurar y utilizar mytop.

Requisitos previos

Antes de empezar con este tutorial, debe tener lo siguiente:

  • CentOS 7 de 64 bits de la gotita (trabajos con CentOS 6 también) de usuario
  • no root con privilegios sudo. Para configurar un usuario de este tipo, siga la configuración inicial del servidor con CentOS 7 tutorial. Todos los comandos se ejecutan como este usuario.
  • MySQL servidor que funciona en la gota. Para instalar MySQL, por favor siga el Paso # 2 de la (LAMP) pila Cómo instalar Linux, Apache, MySQL, PHP en el artículo CentOS.

Paso 1 – Instalación de Mytop

Permítanos instalarlo los paquetes necesarios para mytop.

En primer lugar, tenemos que instalar el EPEL (paquetes adicionales para Enterprise Linux) yum repositorio en el servidor. EPEL es un Grupo de Interés Especial de Fedora que crea, mantiene y gestiona un conjunto de alta calidad de código abierto complemento paquetes de software para Enterprise Linux. Ejecute el siguiente comando para instalar y activar el repositorio EPEL en su servidor:

en CentOS 7:

sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

  • sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel -RELEASE-7-5.noarch.rpm

en CentOS 6:

sudo rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

  • sudo rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8 .noarch.rpm

Antes de continuar, compruebe que el repositorio EPEL se habilita usando:

sudo yum repolist

  • sudo yum repolist

Si activado, verá la siguiente repo listarán en la salida:

epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64

a continuación, vamos proteger los paquetes base de EPEL utilizando el plugin de yum protectbase .

sudo yum install yum-plugin-protectbase.noarch -y

  • sudo yum install yum-plugin-protectbase.noarch -y

El propósito de la protectbase plugin es para proteger ciertos repositorios yum de actualizaciones de otros repositorios. Los paquetes en los repositorios protegidas no se actualizarán o anulado por paquetes en los repositorios no protegidos incluso si el repositorio no protegida tiene una versión posterior.

Ahora estamos listos para instalar mytop paquete. Ejecute el siguiente comando para instalarlo:

sudo yum install mytop -y

  • sudo yum install -y mytop

Esto instalará el paquete mytop, así como todas sus dependencias, en su mayoría módulos Perl.

Paso 2 – Configuración Mytop

Antes de utilizar mytop, crear un archivo de configuración personalizado para mytop llamado .mytop. Ejecute el comando:

sudo nano /root/.mytop

  • sudo nano /root/.mytop

y añada el contenido siguiente en el archivo y guardar y salir.

host=localhost
db=mysql
delay=5
port=3306
socket=
batchmode=0
color=1
idle=1

Este archivo de configuración se utiliza cuando se ejecuta mytop directamente como root y cuando se ejecuta con el comando sudo delante de él como un usuario no root sudo.

Puede realizar cambios en este archivo de configuración en función de sus necesidades. Por ejemplo, la opción de retraso especifica la cantidad de tiempo en segundos entre actualizaciones de pantalla. Si desea actualizar la pantalla mytop cada 3 segundos, se puede editar el archivo usando /root/.mytop

sudo nano /root/.mytop

  • sudo nano /root/.mytop

y cambiar la siguiente:

delay=3

El parámetro indica si la inactividad para permitir ociosos (dormir) hilos que aparezcan en la lista en la pantalla de visualización mytop. El valor por defecto es mostrar subprocesos inactivos. Si se omiten los subprocesos inactivos, el orden de clasificación predeterminado se invierte de manera que las consultas de más larga duración aparecen en la parte superior de la lista. Si desea hacer esto, editar el archivo /root/.mytop y cambiar la siguiente:

idle=0

Puede consultar las páginas del manual de mytop para obtener información sobre todos los parámetros en el archivo de configuración – contiene una descripción de cada parámetro. Para acceder a la página del manual, utilice el comando:

man mytop

  • hombre mytop

Puede escribir q para salir del manual.

Paso 3 – Conexión a Mytop

En esta sección, discutiremos cómo conectarse a Mytop y utilizarlo para ver consultas de MySQL.

Mytop requiere credenciales para acceder a la base de datos, que puede ser proporcionada a través de un aviso, en la línea de comandos, o se almacena en el archivo de configuración. Para mayor seguridad, vamos a utilizar la opción –prompt a mytop, que pide la contraseña cada time.Let nos conectan a Mytop usando:

sudo mytop --prompt

  • sudo mytop –prompt

e introduzca la contraseña de root de MySQL en el rápido. También puede utilizar varios argumentos de línea de comandos con el comando mytop. Por favor, consulte la página del manual para la lista completa. Por ejemplo, si desea utilizar un usuario diferente, como MySQL Sammy para conectarse a Mytop, ejecute el comando:

sudo mytop -u sammy --prompt

  • sudo -u mytop Sammy –prompt

para conectar y controlar una única base de datos específica, se puede utilizar el comando:

sudo mytop -d databasename --prompt

  • sudo mytop -d nombrebasedatos –prompt

para salir mytop y volverá a su indicador, q tipo concha.

Paso 4 – Visualización e Interpretación de la Pantalla Mytop

En esta sección, veremos cómo interpretar pantalla mytop y las diferentes funciones que ofrece la herramienta.

Una vez que se conectan a Mytop usando mytop –prompt seremos llevados a las vista de hilos . Se mostrará algo similar a:

Output of mytopMySQL on localhost (5.5.41-MariaDB) up 0+00:05:52 [01:33:15]
Queries: 148 qps: 0 Slow: 0.0 Se/In/Up/De(%): 09/00/00/00
qps now: 2 Slow qps: 0.0 Threads: 6 ( 5/ 0) 67/00/00/00
Key Efficiency: 2.0% Bps in/out: 14.7/320.7k Now in/out: 192.5/731.8k

Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
2 root localhost mysql 0 Query show full processlist
16 root localhost 0 Sleep
17 root localhost testdb 0 Query SELECT * FROM dept_emp
18 root localhost testdb 0 Query SELECT * FROM dept_emp
19 root localhost testdb 0 Query SELECT * FROM dept_emp
20 root localhost testdb 0 Query SELECT * FROM dept_emp

que pueda volver a este punto de vista si se encuentra en otra vista por tipificación t.

La pantalla de visualización anterior se divide en dos partes. Las cuatro líneas superiores comprende la cabecera que se puede activar o desactivar pulsando SHIFT-H . La cabecera contiene información resumida sobre el servidor MySQL.

  • la primera línea identifica el nombre del servidor y la versión de MySQL se está ejecutando. Los espectáculos del lado derecho del tiempo de funcionamiento del proceso del servidor MySQL en días o más horas: minutos: segundos formato, así como la hora actual.
  • La segunda línea muestra el número total de consultas que el servidor ha procesado (148 en nuestro caso), el número promedio de peticiones por segundo, el número de consultas lentas, y el porcentaje de selección, inserción, actualización y consultas eliminar.
  • La tercera línea muestra valores en tiempo real desde la última actualización mytop. El tiempo de actualización normal (retardo) para mytop es de 5 segundos, por lo que si 100 consultas se llevaron a cabo en los últimos 5 segundos desde la actualización, entonces los QPS ahora número serían 20. El primer campo es el número de consultas por segundo (QPS ahora : 2). El segundo valor es el número de consultas lentas por segundo. Los Temas: 6 (5/0) segmento indica que hay un total de 6 hilos conectados, 5 están activos (uno está durmiendo), y hay 0 hilos en la caché de hilo. El último campo en la tercera línea muestra los porcentajes de consulta, al igual que en la línea anterior, pero desde la última actualización mytop.
  • la cuarta línea indica la eficiencia key buffer (la frecuencia con las teclas se leen de la memoria intermedia en lugar de disco) y el número de bytes que MySQL ha enviado y recibido, tanto en general como en el último ciclo mytop. Eficiencia clave: 2,0% Muestra 2% de teclas se leen de la memoria intermedia, no desde el disco. Bps / salida: 14.7 / 320.7k muestra que, desde el inicio, MySQL ha promediado 14.7kbps de tráfico entrante y 320.7kbps para el tráfico saliente. Ahora de entrada / salida muestra el tráfico de nuevo, pero desde la última actualización mytop.

la primera línea identifica el nombre del servidor y la versión de MySQL se está ejecutando. Los espectáculos del lado derecho del tiempo de funcionamiento del proceso del servidor MySQL en días o más horas: minutos: segundos formato, así como la hora actual.

La segunda línea muestra el número total de consultas que el servidor ha procesado (148 en nuestro caso), el número promedio de peticiones por segundo, el número de consultas lentas, y el porcentaje de selección, inserción, actualización y consultas eliminar.

La tercera línea muestra valores en tiempo real desde la última actualización mytop. El tiempo de actualización normal (retardo) para mytop es de 5 segundos, por lo que si 100 consultas se llevaron a cabo en los últimos 5 segundos desde la actualización, entonces los QPS ahora número serían 20. El primer campo es el número de consultas por segundo (QPS ahora : 2). El segundo valor es el número de consultas lentas por segundo. Los Temas: 6 (5/0) segmento indica que hay un total de 6 hilos conectados, 5 están activos (uno está durmiendo), y hay 0 hilos en la caché de hilo. El último campo en la tercera línea muestra los porcentajes de consulta, al igual que en la línea anterior, pero desde la última actualización mytop.

la cuarta línea indica la eficiencia key buffer (la frecuencia con las teclas se leen de la memoria intermedia en lugar de disco) y el número de bytes que MySQL ha enviado y recibido, tanto en general como en el último ciclo mytop. Eficiencia clave: 2,0% Muestra 2% de teclas se leen de la memoria intermedia, no desde el disco. Bps / salida: 14.7 / 320.7k muestra que, desde el inicio, MySQL ha promediado 14.7kbps de tráfico entrante y 320.7kbps para el tráfico saliente. Ahora de entrada / salida muestra el tráfico de nuevo, pero desde la última actualización mytop.

La segunda parte de las listas de visualización hilos MySQL actuales, ordenados de acuerdo con su tiempo de inactividad (menos de inactividad primero). Puede invertir el orden pulsando O si es necesario. El ID del tema, nombre de usuario, host desde el que se conecta el usuario, la base de datos al que está conectado el usuario, el número de segundos de tiempo de inactividad, el comando el hilo está ejecutando (o el estado de la rosca), y la primera parte de la consulta los datos fueron todo está representada aquí. Si el hilo está en un estado consulta (es decir. Cmd muestra consulta ) a continuación, la siguiente columna consulta o Estado mostrará la primera parte de la consulta que se está ejecutando. Si el estado de comandos es sueño o inactivo continuación, la columna de la consulta o Estado suele estar en blanco. En nuestro ejemplo anterior de salida, hilo con id 2 es en realidad Mytop ejecutar la consulta muestran processlist a recopilar información. El hilo con id 16 está durmiendo (no procesar una consulta, pero todavía conectada). El hilo con id 17 se ejecuta una consulta SELECT en la base de datos testdb .

Ahora que hemos comprendido la pantalla básica de mytop, vamos a ver cómo usarlo para recoger más información sobre los hilos de MySQL y consultas. Vamos a echar un vistazo a la siguiente pantalla mytop:

[secondary_output Output of mytop]
MySQL on localhost (5.5.41-MariaDB) up 0+00:13:10 [23:54:45]
Queries: 2.8k qps: 4 Slow: 51.0 Se/In/Up/De(%): 45/00/00/00
qps now: 17 Slow qps: 0.0 Threads: 52 ( 51/ 0) 96/00/00/00
Key Efficiency: 100.0% Bps in/out: 215.4/ 7.6M Now in/out: 2.0k/16.2M

Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
34 root localhost testdb 0 Query show full processlist
1241 root localhost 1 Sleep
1242 root localhost testdb 1 Query SELECT * FROM dept_emp
1243 root localhost testdb 1 Query SELECT * FROM dept_emp
1244 root localhost testdb 1 Query SELECT * FROM dept_emp
1245 root localhost testdb 1 Query SELECT * FROM dept_emp
1246 root localhost testdb 1 Query SELECT * FROM dept_emp
1247 root localhost testdb 1 Query SELECT * FROM dept_emp

En el mytop vista de hilos (vista predeterminada) se muestra más arriba, las consultas se truncan. Para ver toda la consulta, puede pulsar F , y va a preguntar:

Full query for which thread id:

Introduzca el ID del tema de la consulta que desea ver. Por ejemplo, introduzca 1244. A continuación, se mostrará lo siguiente:

Thread 1244 was executing following query:

SELECT * FROM dept_emp WHERE ...

-- paused. press any key to resume or (e) to explain --

Nos puede escribir la dirección de explicar la consulta. Esto explicará la consulta que se está ejecutando para que podamos averiguar si se optimiza la consulta. Explicar es una de las herramientas más poderosas para la comprensión y la optimización de consultas MySQL problemáticos. Por ejemplo:

EXPLAIN SELECT * FROM dept_emp:

*** row 1 ***
table: dept_emp
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 332289
Extra: NULL
-- paused. press any key to resume --

Puede pulsar cualquier tecla para salir de este modo o de tipo T para volver a la vista de la conversación por defecto.

Otro punto de vista útil disponible en mytop es la vista de comandos. Para acceder a la vista del sistema, escriba c. Será similar a la siguiente: columna muestra

Command Total Pct | Last Pct
------- ----- --- | ---- ---
select 1782 55% | 100 8%
show status 723 22% | 533 45%
show processlist 708 22% | 532 45%
change db 2 0% | 0 0%
show variables 1 0% | 0 0%
Compression 0 0% | 0 0%

el comando del tipo de comando o una consulta que se ejecuta. La columna total representa el número total de ese tipo de instrucción ejecutada desde el servidor se ha iniciado, y los espectáculos de columna Pct lo mismo en porcentaje. En el otro lado de la línea vertical tenemos la última columna que nos dice el número de este tipo de mando ejecutar desde la última actualización de mytop. Esta información nos da una idea de lo que el servidor MySQL está haciendo en el corto plazo como a largo plazo.

Hemos discutido algunas de las características importantes y útiles de mytop en este tutorial. Hay muchos otros disponibles. Para ver una lista completa de opciones, puede pulsar el ? clave mientras mytop se está ejecutando.

Conclusión

Ahora debe tener una buena comprensión de cómo utilizar mytop para supervisar el servidor MySQL. También es un punto de partida para la búsqueda de consultas SQL de problemas y la optimización de ellos, aumentando así el rendimiento global del servidor. Puede obtener más información sobre cómo optimizar las consultas y las tablas de MySQL en su servidor en este tutorial.