El resultado final para cualquier administrador de sistemas es mantener la base de datos y, en el caso de Couchbase, mantener el clúster en funcionamiento las 24 horas, los 7 días de la semana. Con los exigentes requerimientos de las aplicaciones, su clúster debe estar configurado, dimensionado y monitoreado adecuadamente. Esto puede ser bastante difícil, ya que las cosas pueden fallar en cualquier momento y sin previo aviso. Como operador, todos los días son diferentes, llenos de sorpresas y desafíos.
Pero hay algunas cosas que todo operador de Couchbase Server debe saber. Esperamos que las siguientes 10 cosas les resulten útiles y les faciliten el trabajo:
1. Mantén tus bibliotecas de cliente actualizadas
Utilice siempre la última versión de las bibliotecas de cliente compatibles con el servidor. Al usar las últimas bibliotecas de cliente, puede aprovechar al máximo su clúster de Couchbase: código probado recientemente y las funciones más recientes expuestas a través del cliente.
2. Monitorear, monitorear y monitorear
Mediante el uso del panel de administración o las API REST, puede supervisar el rendimiento de su clúster de Couchbase. Es una buena práctica supervisar las siguientes métricas del sistema: la relación de aciertos en caché, las lecturas de disco, la relación de elementos residentes y la cola de escritura en disco.
Tasa de fallos de caché debería ser bajo. Esto significa que las claves de los documentos se almacenan en caché en la memoria, lo que hace que las lecturas y escrituras sean más rápidas.
Proporción de artículos por residente muestra el número total de documentos activos que residen en memoria. Por lo general, se desea que su conjunto de trabajo (documentos a los que se accede activamente) esté en la memoria para obtener bajas latencias y una experiencia de usuario excepcional.
El número de lecturas de disco te dará una idea de tu E/S de disco. Es bueno mantener este número bajo para que la mayoría de las lecturas se atiendan desde la memoria RAM, lo cual es más rápido.
El cola de escritura de disco dará una idea de la cantidad de elementos que deben escribirse en el disco y la velocidad a la que se están drenando. Si las colas de escritura en disco son muy altas (millones de elementos), es posible que su clúster no tenga el tamaño adecuado.
Aquí tienes un enlace a nuestra API REST.
3. Dividir los archivos de datos y de índice en dispositivos de disco separados
Para un rendimiento óptimo, separe los archivos de datos y de índices en dispositivos de almacenamiento diferentes. Al hacerlo, dispondrá de suficiente ancho de banda de E/S de disco para operaciones con uso intensivo de rendimiento, como la compactación, sin una degradación significativa del rendimiento.
La compactación es un proceso importante que se ejecuta constantemente para recuperar espacio dada la arquitectura de solo adición en Couchbase. También se puede programar. Más información sobre la compactación Aquí.
4. ¡Oh no! ¿Falló el rebalanceo?
Reequilibrio Un clúster de Couchbase es una operación complicada. Hay varias razones por las cuales el rebalanceo puede ser lento o fallar. Hemos trabajado duro para hacer este proceso más robusto, pero si el rebalanceo sigue fallando, espere unos 5 minutos y reinicie el proceso nuevamente. No debería haber impacto en la aplicación, ya que el mapa del clúster en el cliente se actualiza automáticamente durante el rebalanceo.
Recuerda no hacer clic en el botón de rebalanceo muchas veces seguidas, ya que solo reinicia el proceso, desperdicia el trabajo útil que ya se hizo y a veces puede causar estragos.
5. Recuerda que el rebalanceo mediante intercambio es mejor que el rebalanceo regular
Swap Rebalance optimiza el movimiento de datos cuando se agregan y eliminan el mismo número de nodos en la misma operación. Los datos se mueven directamente de los nodos que se están eliminando a los nodos que se están agregando. Esto es más eficiente que el rebalanceo estándar, el cual normalmente movería datos a través de todo el clúster.
6. Monitoree la salud de su sistema e integre Couchbase con su ecosistema
Si ya está utilizando un sistema de monitoreo externo como Nagios para supervisar su infraestructura, puede integrar su sistema de monitoreo existente con Couchbase a través de la API REST. Couchbase Server puede notificarle y alertarle para que pueda verificar y asegurar la salud de su clúster de Couchbase Server. Algunas de ellas incluyen:
· Cambios de dirección IP Si la dirección IP de un servidor Couchbase en su clúster cambia, se le advertirá que la dirección ya no está disponible. Debe verificar la dirección IP en el servidor y actualizar la configuración de sus clientes o del servidor.
· Sobrecarga de metadatos Indica que un bucket está utilizando actualmente más de 50% de la memoria RAM asignada para almacenar metadatos y claves, lo que reduce la cantidad de memoria RAM disponible para los valores de datos. Este es un indicador útil de que tal vez sea necesario agregar nodos a tu clúster.
· Uso de disco Indica que el espacio en disco disponible utilizado para el almacenamiento persistente ha alcanzado al menos 90% de capacidad. Esto es una señal de que tal vez debas agregar más discos a tu clúster.
Couchbase también cuenta con un rico ecosistema de adaptadores, como un conector para Hadoop y un complemento para ElasticSearch.
7. Dimensiona tu clúster adecuadamente para RAM, disco y CPU
Antes de la producción, es muy es importante dimensionar su clúster y probarlo adecuadamente. El dimensionamiento de su clúster de Couchbase será fundamental para su estabilidad y rendimiento. Para un alto rendimiento, su aplicación requerirá que la mayor cantidad posible de lecturas provengan de la memoria caché, y que el sistema tenga suficiente capacidad de E/S para manejar sus escrituras. Debe haber suficiente capacidad en todas las diversas áreas para respaldar todo lo demás que el sistema esté haciendo, manteniendo al mismo tiempo el nivel de rendimiento requerido.
8. Los datos se replican en todo el clúster. Opcionalmente, los índices también se pueden replicar.
Los documentos en Couchbase se pueden replicar hasta 3 veces dentro de un clúster. El número de réplicas (hasta 3) se puede configurar a través de la interfaz de usuario de administración. Las modificaciones de los documentos en la memoria se replican desde los nodos activos a los nodos réplica. Para consultar un documento, puede utilizar el ID del documento y Couchbase buscará el documento utilizando el índice primario. Para consultar un subconjunto de los datos, puede utilizar índices secundarios. La replicación de índices en Couchbase es opcional y se puede configurar a través de la interfaz de usuario de administración.
9. La replicación entre centros de datos se puede utilizar para la recuperación ante desastres
Couchbase XDCR permite replicar datos entre clústeres. El acceso a los datos entre clústeres es finalmente consistente. Asegúrese de recordar dimensionar sus clústeres para XDCR, ya que necesitará el doble de capacidad de disco y E/S, así como algo más de CPU.
10. Ajustar la indexación
Al tratar con una gran cantidad de documentos, existen un par de formas de indexarlos. La primera es indexar todos los documentos desde cero, lo cual es un proceso que consume mucho tiempo. La otra es actualizar únicamente el índice de los documentos que han cambiado, lo cual es un proceso incremental. En Couchbase, los índices se construyen utilizando mapreduce incremental, lo que hace que el proceso de actualización o construcción del índice sea eficiente. Como administrador, puede ajustar la cantidad de índices que se pueden construir en paralelo, o ajustar el tiempo/intervalo entre las construcciones de índices. Intente agrupar más vistas en una menor cantidad de documentos de diseño para obtener un mejor rendimiento. Puede encontrar más prácticas recomendadas sobre vistas aquí.
¿Solo 10 cosas? ¡No, por supuesto que no! Couchbase es un sistema de base de datos NoSQL y después de probarlo descubrirás que hay mucho más que aprenderás. Si sientes que olvidé algo importante que debería agregarse en la lista de los 10 principales, siéntete libre de agregarlos usando los comentarios a continuación. Finalmente, si no has leído las pautas de mejores prácticas para Couchbase Server 2.0.
¡Disfruta!
Enlaces relacionados
- Manual de Couchbase Server
- Documentación de Couchbase
Autor
2 respuestas
-
¿Pueden los índices creados para la Búsqueda de Texto Completo (Full Text Search) causar problemas de rendimiento en Couchbase? Por rendimiento me refiero a la extracción de documentos por parte de cualquier aplicación.
-
Hola Rohit, en los entornos de producción empresariales, la carga de trabajo del servicio de búsqueda se puede aislar por completo del servicio de datos. Siempre y cuando utilices las capacidades de escalado multidimensional de Couchbase Server Enterprise Edition, puedes elegir ejecutar todos los servicios relacionados con la búsqueda en nodos separados de los datos, los índices secundarios, las consultas N1QL, etc.
-

Deja un comentario
Lo siento, debes estar conectado para publicar un comentario.