Postgres stat sin nervios y distensiones

Hace un par de años, al tratar con otro problema en el desempeño de postgres, tuve que profundizar en las estadísticas de postgres. Profundizando en las vistas y funciones, me sorprendí pensando que trabajar con lo que está predeterminado no es del todo conveniente.

Y, de hecho, en postgres una gran cantidad de todo tipo de métricas, todas se presentan en forma de representaciones y funciones. Por un lado, es muy conveniente, escribió SELECT y recibió los datos. Por otro lado, tales escritos periódicos son un poco agotadores.

Al mismo tiempo, necesitaba no solo mirar una estatua por una sola vez, necesitaba rastrear su cambio. No recuerdo con certeza de qué se trataba, tal vez tuvo que mirar el cambio en el retraso de la replicación, o con qué frecuencia se llamó una solicitud específica ...
Entonces, habiéndome sorprendido pensando que tengo suficientes herramientas para mí, comencé a buscar utilidades para mi tarea, pero, por desgracia, no encontré nada que me convenga. Así es como surgió pgCenter .

Inicialmente, era una utilidad de consola y se concibió como una cosa fácil de usar que, en una interfaz superior, mostraría cambios en las estadísticas posteriores a la estadística. Sin embargo, dado que durante la solución de problemas de postgres, aún necesita tener las métricas del sistema ante sus ojos, las estadísticas del sistema también se han agregado ... CPU, memoria, intercambio, disco y utilización de la interfaz de red. Solo entonces se agregaron otras funciones de administrador, como ver la configuración y editar configuraciones, trabajar con registros, la capacidad de disparar solicitudes y clientes. En general, gradualmente creció el número de funciones ... y los usuarios ofrecieron diferentes ideas sobre cómo mejorar aún más la herramienta. Hoy, después de un poco de desarrollo, finalmente estoy listo para presentar una nueva versión en la que pgCenter ha cambiado mucho.

El cambio principal y quizás más importante es que pgCenter ahora está escrito en Go. Originalmente estaba en C, pero para ser sincero, en Go me resulta más fácil implementar ideas y agregar nuevas funciones. Otra característica positiva es la distribución: el archivo ejecutable es un archivo binario que solo necesita descargar, descomprimir y usar.

Otra gran innovación es que pgenter ahora no solo es un visor superior para las estadísticas. Ahora las estadísticas se pueden volcar en archivos locales y luego ver si es necesario. Se utiliza cuando no hay monitoreo imputado o es necesario recopilar las estadísticas durante el benchmarking en una máquina virtual temporal o contenedor. Como resultado, resultó una cosa que se parece a un paquete de estadísticas de Oracle o, por ejemplo, sar del paquete sysstat . En este caso, no necesita cercar nada en el nivel base, sin funciones adicionales, etc.

Como resultado, obtuvimos 3 utilidades en un binario y todos se llaman subcomandos separados como se ve en git o perf .

Sobre esto, terminan las principales innovaciones y quedan pequeñas mejoras. Se relacionan principalmente con el espectador superior:

  • Ahora, de forma predeterminada, en lugar de estadísticas en las bases de datos, se muestran estadísticas de actividad: quién está conectado, qué solicitudes se ejecutan, cuánto tiempo, etc. La experiencia muestra que la mayoría de las veces es necesario evaluar la actividad actual, por lo que probablemente tenga sentido mostrar de inmediato esta estatua en particular.
  • En las estadísticas de actividad, ahora puede ver tanto los procesos en segundo plano (agregados en postgres 10) como los clientes inactivos que no hacen nada (habilitado por la tecla de acceso rápido). Anteriormente, inactivo no se mostraba en absoluto, debido a su inutilidad, pero pocas personas lo necesitan de repente.
  • Las estadísticas asociadas con las tablas solían mostrarse en dos vistas separadas, ahora todas las estadísticas se combinan y se muestran en una vista.
  • La función de filtrado ahora admite expresiones regulares, y puede configurar de manera más flexible los parámetros de lo que desea ver exactamente ... nombres de tablas, índices, funciones, consultas, etc.

Es probable que haya olvidado mencionar algunas otras características, pero en mi opinión enumeré las más interesantes.

Eso parece ser todo, a todos aquellos que ya usan la utilidad, les insto a actualizar, y a todos aquellos que escuchan por primera vez, les insto a que prueben o vean una pequeña demostración.



También hay una presentación del informe, aunque la versión anterior se describe allí, pero también tiene sentido echar un vistazo.

Y, por supuesto, estoy esperando comentarios e informes de errores. ¡Que tengan un buen día todos!

Source: https://habr.com/ru/post/es425083/


All Articles