La mayoría de las bases de datos se configuran y dimensionan correctamente en función de la información disponible en el momento de su lanzamiento inicial, pero tienden a volverse poco saludables o infradimensionadas debido al crecimiento orgánico de sus conjuntos de datos y/o a los cambios en sus perfiles de carga de trabajo. Couchbase es una base de datos distribuida que puede hacer frente fácilmente a ambos retos, pero necesita un chequeo regular para encontrar la mejor manera de ajustar su rendimiento y añadir más capacidad cuando sea absolutamente necesario. Este blog explica en qué consiste la comprobación de la salud de un clúster Couchbase y cuáles son las mejores prácticas a seguir durante la preparación y realización de una comprobación de la salud.
¿Qué es un chequeo médico?
Couchbase ofrece varios paquetes de servicios de pago en el marco del CoE (Centro de excelencia) de su Servicios profesionales. Uno de esos paquetes de servicios es un chequeo médico. El resultado de un chequeo médico es un informe que se entrega en forma básica como gratuito y en forma completa como de pago. El primero es un subconjunto del segundo. En resumen, este informe es una evaluación de la salud general de un clúster Couchbase. Está pensado para encontrar problemas que resulten en una mala salud. Un informe completo también incluye recomendaciones para abordar o resolver los problemas encontrados.
¿Por qué someterse a un chequeo médico?
Los destinatarios del chequeo tienen muchas ventajas, desde el ajuste del rendimiento hasta la planificación de la capacidad o la reducción del coste total de propiedad.
A menudo, un cluster de Couchbase es dimensionado y configurado correctamente basado en los datos disponibles al principio de un despliegue, pero con el tiempo, los conjuntos de datos pueden crecer en tamaño, los patrones de acceso a datos pueden cambiar y la carga de trabajo general en el cluster puede cambiar haciendo que el cluster no esté saludable. Un clúster en mal estado puede mostrar uno o más de los siguientes síntomas.
- Elevada utilización de recursos
- Tiempos de respuesta lentos
- Tiempos muertos
- Mala experiencia de uso final
- OOM Acción asesina
- Fallos frecuentes
- Falta de resistencia
Durante un chequeo se identifican y analizan las causas profundas de estos síntomas. Como se ha dicho antes, en un chequeo médico de pago se hacen recomendaciones para abordar los problemas subyacentes.
Las comprobaciones de estado también ayudan a los propietarios de clústeres a prepararse para los próximos aumentos de carga de trabajo que se producen durante los picos estacionales, por ejemplo, en torno al Black Friday o el Cyber Monday o durante la temporada de compras previa a las vacaciones. Las cargas de trabajo también pueden aumentar durante el lanzamiento de nuevos productos u ofertas especiales en el sector minorista.
Otras ventajas son la mejora de la utilización de los recursos, la reducción de los problemas de producción y la posible reducción del coste total de propiedad, así como el cumplimiento de las políticas de seguridad y/o la normativa gubernamental.
Alcance
Los expertos del CoE de Couchbase examinan una rica mezcla de datos operativos, registros del servidor, carga de trabajo, dimensionamiento y configuraciones a nivel de bucket, nodo, SO y clúster durante una comprobación de estado. Los datos operativos comprenden métricas a corto y largo plazo relacionadas con las operaciones del cliente, métricas generadas por capas más profundas del software del servidor y métricas registradas por el SO, como la utilización de recursos de E/S, memoria, red y CPU.
Además, se analizan los errores y excepciones escritos en los registros del servidor y del sistema operativo.
En su forma básica, un informe de chequeo cubre:
- Visión general del clúster
- Perfiles de los nodos
- Definiciones de los índices (en su caso)
- Definiciones de vistas (si las hay)
- Resumen de temas
Véase Couchbase_sample_health-check_report_basic
El formulario completo añade las siguientes secciones al formulario básico:
- Información detallada de los problemas por nodo
- Recomendaciones para resolver estos problemas
Véase añadir_secciones_a_un_informe_detallado
Proceso
- El cliente se pone en contacto con su equipo de cuentas de Couchbase o con un socio de Couchbase para solicitar una comprobación de estado.
- La(s) persona(s) que recibe(n) la solicitud del cliente identifica(n) el(los) grupo(s) que necesita(n) ser comprobado(s). Establecen las expectativas sobre el alcance y el resultado del chequeo.
- El cliente comparte toda la información posible sobre los casos de uso, los clientes y los flujos de datos relacionados con el clúster en cuestión.
- El cliente recopila los registros de Couchbase Server siguiendo las instrucciones dadas aquí y aquí. El resultado de esta recogida de logs debería ser la generación de un fichero zip para cada nodo Couchbase. Este archivo se llama cbcollect. Incluye información de entorno, logs a nivel de sistema operativo y logs escritos por varios procesos que forman Couchbase Server. El formato o contenido del archivo cbcollect no debe ser modificado. Hacerlo lo dejará inservible.
- El cliente carga cbcollects en el almacén S3 de Couchbase, normalmente utilizando una sintaxis de comando cURL como la siguiente.
curl -upload-file ficheroN.zip S3Target/nombrecliente/nombrecluster/
donde:
fileN.zip = el nombre de un archivo zip cbcollect
S3Objetivo = https://uploads.couchbase.com
customerName = nombre del cliente registrado en el Soporte Técnico de Couchbase
clusterName = un nombre único para el cluster de Couchbase que se está comprobando
Nota: el / al final del comando curl es MUY importante. Por favor, no olvides añadirlo. - El cliente informa a su equipo de cuentas de Couchbase o a su socio de Couchbase una vez que todos los cbcollects se han cargado correctamente.
- Un experto en Couchbase toma el relevo en este momento y lleva a cabo un análisis exhaustivo de los datos agrupados en los cbcollects. Al final se genera un informe de chequeo.
Buenas prácticas
- Tener un entendimiento mutuo claro de lo que abarcará el chequeo médico y lo que se conseguirá con él.
- Proporcione un juego completo de cbcollects. No utilice archivos fechados o parciales.
- A veces se producen problemas con S3 cuando se cargan demasiados cbcollects a la vez o se cargan cbcollects muy grandes de forma consecutiva. Estos problemas pueden provocar el rechazo o la corrupción de archivos. Se recomienda reducir la velocidad y espaciar los cbcollects para evitar estos problemas.
- Revisar el crecimiento del conjunto de datos y el historial de carga de trabajo como parte del chequeo.
- Revisar el dimensionamiento de nodos, el dimensionamiento de cubos y la topología de escalado multidimensional como parte del chequeo.
- Una vez generado el informe, revísalo con el cliente antes de finalizarlo y enviárselo.
- Consiga que el cliente se comprometa a aplicar sus recomendaciones en un plazo determinado.
- Seguimiento para comprobar si las recomendaciones se han aplicado según lo previsto.
- Recomendar otro chequeo unas semanas o meses después de aplicar las recomendaciones para ver la diferencia entre el antes y el después.