{"id":8462,"date":"2020-04-27T23:58:20","date_gmt":"2020-04-28T06:58:20","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=8462"},"modified":"2020-04-28T09:33:20","modified_gmt":"2020-04-28T16:33:20","slug":"testing-for-growth","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/testing-for-growth\/","title":{"rendered":"Pruebas para el crecimiento"},"content":{"rendered":"<p>El objetivo de las pruebas de carga deber\u00eda ser identificar qu\u00e9 carga puede soportar su cl\u00faster actual y c\u00f3mo necesita mutar y adaptar la configuraci\u00f3n de su cl\u00faster a medida que alcanza diversos hitos de carga. El resultado deber\u00eda ser un plan sobre c\u00f3mo adaptar su cl\u00faster para gestionar el crecimiento y la carga de usuarios antes de que necesite esta informaci\u00f3n. Esto le permite el lujo de planificar con antelaci\u00f3n, manteniendo sus aplicaciones y bases de datos funcionando con los SLA deseados, sin ca\u00eddas en el servicio a medida que su carga crece m\u00e1s all\u00e1 de la capacidad de su configuraci\u00f3n actual.<\/p>\n<p>Comprenda que no es una informaci\u00f3n que nadie le vaya a proporcionar sin realizar un n\u00famero significativo de pruebas. Hay muchas variables a tener en cuenta, como los patrones de acceso, las estructuras de datos, el c\u00f3digo de la aplicaci\u00f3n, la red, el hardware, etc. Esto se aplica no s\u00f3lo en un centro de datos autoalojado, sino tambi\u00e9n en entornos alojados en la nube. No hay nada mejor que realizar estas pruebas de carga preventivas para su caso de uso espec\u00edfico.<!--more--><\/p>\n<p><strong>Nota:<\/strong> <em>Si alojas tu cl\u00faster de Couchbase en un entorno en la nube (AWS, Azure, Google Cloud, etc.), agilizar\u00e1s el proceso de creaci\u00f3n de varias configuraciones de cl\u00faster de Couchbase aprovechando Couchbase Kubernetes Autonomous Operator. Esta herramienta te permite realizar cambios en la configuraci\u00f3n del cl\u00faster en el archivo yaml de Kubernetes, y luego los cambios en el cl\u00faster se despliegan autom\u00e1ticamente. Elimina una gran cantidad de trabajo administrativo del sistema instalando y configurando Couchbase en nodos, a\u00f1adiendo y eliminando nodos de un cl\u00faster, realizando reequilibrios, etc.<\/em><\/p>\n<h2>Especifique sus ANS<\/h2>\n<p>Antes de realizar cualquier prueba de rendimiento, debe tener articulados sus ANS (Acuerdos de Nivel de Servicio). \"Lo m\u00e1s r\u00e1pido posible\" no es un SLA. Es necesario especificar el SLA para que el rendimiento de las pruebas se convierta en una situaci\u00f3n de aprobado o suspenso. O bien el cl\u00faster tiene un rendimiento igual o superior a lo que se ha determinado que necesita, o bien no lo tiene. Si no ha determinado cu\u00e1l es ese tiempo de respuesta, nunca ser\u00e1 capaz de determinar a qu\u00e9 carga el rendimiento ha entrado en el rango inaceptable y necesita ser escalado para volver a rendir al nivel que necesita.<\/p>\n<p>\u00bfC\u00f3mo determinar cu\u00e1l debe ser su SLA? Empiece por el proceso m\u00e1s complejo que deba completarse en un plazo limitado. A menudo se tratar\u00e1 de una interacci\u00f3n con el usuario que no quiere que espere m\u00e1s de X segundos para completarse. Ocasionalmente ser\u00e1 un proceso de microservicio que necesita ser lo m\u00e1s en tiempo real posible. En resumen, tiene que ser alg\u00fan proceso que tenga un punto de inicio y final definido, y una ventana de tiempo espec\u00edfica en la que debe completarse.<\/p>\n<p>Una vez que tenga su proceso, tendr\u00e1 que identificar el n\u00famero de interacciones con la base de datos que se realizan durante este proceso, junto con la naturaleza de cada una de estas interacciones. Una vez identificadas, tendr\u00e1s que eliminar las interacciones con la base de datos para obtener unos tiempos base del proceso. Aqu\u00ed es donde entran en juego los objetos simulados. Utilice objetos simulados para sustituir las interacciones con la base de datos, devolviendo inmediatamente un conjunto realista de resultados de interacci\u00f3n con la base de datos sin la interacci\u00f3n real con la base de datos. Al poner su proceso bajo carga sin las interacciones con la base de datos, puede determinar cu\u00e1nto tiempo el proceso interactivo sin base de datos elimina del tiempo total permitido para el proceso completo. El tiempo restante es la ventana dentro de la cual deben realizarse todas las interacciones con la base de datos.<\/p>\n<p><strong>Nota:<\/strong> <em>Una vez que sepa cu\u00e1nto tiempo hay disponible para las interacciones con la base de datos, debe dar un paso atr\u00e1s y determinar si su l\u00f3gica de negocio est\u00e1 dejando tiempo suficiente para las interacciones con la base de datos. Si la l\u00f3gica de negocio est\u00e1 empleando todo el tiempo permitido para cumplir los SLA, es posible que sus SLA no sean realistas y deban revisarse. Si su l\u00f3gica de negocio no deja tiempo suficiente para las interacciones con la base de datos, debe aumentar sus SLA, racionalizar su l\u00f3gica de negocio o reducir el n\u00famero de interacciones con la base de datos que deben realizarse.<\/em><\/p>\n<p>Una vez que se tiene el n\u00famero de interacciones con la base de datos y el tiempo en el que deben realizarse, es cuesti\u00f3n de hacer algunos c\u00e1lculos para determinar el tiempo en el que cada interacci\u00f3n con la base de datos debe devolver resultados. A partir de aqu\u00ed, hay que determinar la combinaci\u00f3n de interacciones con la base de datos. \u00bfSon todas accesos K\/V? \u00bfSon todas consultas N1QL? \u00bfUna mezcla de ambas? En cuanto a sus consultas N1QL, \u00bfson todas consultas simples, o hay algunas consultas complejas mezcladas? Es a partir de la mezcla de interacciones que puede crear una mezcla escalada de SLA de base de datos, donde sus accesos K\/V tienen un SLA, sus consultas simples N1QL tienen otro, y sus consultas complejas tienen un tercero. Tenga en cuenta que estos ser\u00e1n los SLA objetivos medios para sus interacciones con la base de datos. No todas las interacciones cumplir\u00e1n un SLA espec\u00edfico, pero la media deber\u00eda cumplirlo o superarlo.<\/p>\n<p>Una vez definidos los acuerdos de nivel de servicio, hay que determinar el nivel de degradaci\u00f3n del rendimiento aceptable. A medida que aumenta la carga en el cl\u00faster, llega un punto en el que el rendimiento de la aplicaci\u00f3n y de la base de datos empieza a degradarse. Es necesario determinar cu\u00e1nto de esta degradaci\u00f3n es aceptable. Este n\u00famero te proporciona la l\u00ednea en la arena m\u00e1s all\u00e1 de la cual no puedes permitir que tu rendimiento se degrade m\u00e1s. Este ser\u00e1 el punto de ruptura en la carga que tu cluster puede manejar. Esto se utilizar\u00e1 como un moj\u00f3n de carga para determinar cu\u00e1ndo su cl\u00faster necesita ser reconfigurado para manejar m\u00e1s carga para evitar una mayor degradaci\u00f3n. Recuerde que el objetivo de estas pruebas es producir una hoja de ruta para la configuraci\u00f3n de su cl\u00faster, para que sepa cu\u00e1nta carga puede manejar cada configuraci\u00f3n de cl\u00faster, y determinar los hitos que se\u00f1alar\u00e1n que es hora de reconfigurar su cl\u00faster para manejar aumentos en la carga.<\/p>\n<h2>Encontrar el punto de ruptura de la configuraci\u00f3n actual<\/h2>\n<p>Ahora que tienes tu SLA objetivo para el proceso completo, y tienes un tiempo medio de rendimiento conocido para las interacciones no relacionadas con la base de datos, y has calculado cu\u00e1les deber\u00edan ser tus interacciones con la base de datos, necesitas determinar si tu configuraci\u00f3n actual del cluster de Couchbase puede cumplir estos SLAs.<\/p>\n<p>En primer lugar, bajo una herramienta gen\u00e9rica de generaci\u00f3n de carga como pillowfight o n1qlback, \u00bfcumple tu cluster los SLAs de tiempo de respuesta necesarios, o necesitas aumentar tus SLAs para proporcionar una ventana de procesamiento mayor? Asumiendo que tus SLAs son te\u00f3ricamente alcanzables, la siguiente pregunta es si tu aplicaci\u00f3n actual y la configuraci\u00f3n del cluster de Couchbase pueden cumplir tus SLAs. Una vez que hayas verificado que los SLAs deseados son alcanzables por tu proceso de negocio full-stack, tanto la aplicaci\u00f3n como el cluster de base de datos, ahora es el momento de aumentar la carga para ver c\u00f3mo escala todo.<\/p>\n<p>Una vez que haya confirmado que sus SLA son alcanzables con su configuraci\u00f3n actual, podr\u00eda aumentar inmediatamente la carga a su carga objetivo de usuario\/proceso y ver c\u00f3mo se comporta, pero eso podr\u00eda no ser una buena idea. Si aumentas la carga de forma significativa y de repente descubres que ya no cumples tus SLA, no habr\u00e1s obtenido ninguna informaci\u00f3n \u00fatil. Puede que sepa que su cl\u00faster necesitar\u00e1 escalar antes de que se alcance ese nivel de carga, pero no sabe cu\u00e1ndo debe escalar. En resumen, a\u00fan no dispone de informaci\u00f3n procesable.<\/p>\n<p>Lo que quieres hacer es a\u00f1adir carga gradualmente mientras observas el tiempo de respuesta para determinar cu\u00e1ndo el rendimiento de la configuraci\u00f3n actual se degrada m\u00e1s all\u00e1 de los SLA deseados, tomando nota de cu\u00e1ndo se cruza este umbral. Tambi\u00e9n querr\u00e1 seguir aumentando la carga hasta que el rendimiento se degrade hasta el punto en que se cruce el segundo SLA degradado. Esto tambi\u00e9n necesita ser anotado para que tenga los dos mojones de carga, marcando cu\u00e1ndo necesita escalar su cluster, y qu\u00e9 carga necesita haber completado su escalado de cluster antes de alcanzar.<\/p>\n<h2>Pruebas con m\u00faltiples configuraciones de crecimiento<\/h2>\n<p>Una vez que hayas identificado la carga que degrada el rendimiento de tu cluster hasta un grado inaceptable, la siguiente pregunta que tienes que responder es qu\u00e9 servicio de Couchbase no puede manejar la carga. \u00bfEs el acceso K\/V el que est\u00e1 sufriendo? \u00bfConsultas N1QL? \u00bfTiene el servicio de \u00edndices una gran cola de actualizaciones pendientes que no parece aguantar? \u00bfAlguno de los nodos muestra una carga de CPU cercana a 100%? Estas son algunas pistas a tener en cuenta para determinar c\u00f3mo escalar tu cluster de Couchbase.<\/p>\n<p>Una vez que hayas a\u00f1adido uno o dos nodos al servicio concreto que hayas determinado que es el que sufre la carga, repite el proceso de escalado de carga hasta que vuelvas a encontrar la carga que degrada el rendimiento. \u00bfHa cambiado algo al a\u00f1adir el nodo? Si no es as\u00ed, es posible que haya identificado el servicio equivocado para escalar. Si marc\u00f3 la diferencia, y su cl\u00faster puede soportar una carga mayor, entonces tiene un par de hitos m\u00e1s para escalar.<\/p>\n<p>Una vez m\u00e1s, repite el mismo an\u00e1lisis que antes para determinar qu\u00e9 servicio escalar esta vez. Tal vez sea el mismo que antes, tal vez sea un servicio diferente. La clave es asegurarse de que cada vez que a\u00f1ada nodos a su cl\u00faster para gestionar un aumento de la carga, est\u00e9 seguro de que los est\u00e1 a\u00f1adiendo al servicio que necesita ser escalado.<\/p>\n<p><strong>Nota:<\/strong> <em>Si el servicio que se est\u00e1 escalando es el servicio de \u00edndices, recuerde que a\u00f1adir un nodo y ejecutar un reequilibrio no realiza todos los cambios de configuraci\u00f3n necesarios. Para mover \u00edndices de un nodo a otro durante un reequilibrio, el nodo en el que se encuentran los \u00edndices antes del reequilibrio debe marcarse para su eliminaci\u00f3n. De lo contrario, los \u00edndices no se mover\u00e1n. Si solo desea a\u00f1adir uno o dos nodos m\u00e1s a un cl\u00faster en ejecuci\u00f3n mediante Kubernetes, es posible que tenga que mover manualmente \u00edndices individuales de los nodos existentes al nuevo nodo para distribuir la carga.<\/em><\/p>\n<h2>Operaciones de prueba bajo carga<\/h2>\n<p>Saber qu\u00e9 carga degrada el rendimiento de su configuraci\u00f3n de cl\u00faster no es informaci\u00f3n suficiente para planificar el inicio del escalado. Tambi\u00e9n necesitas saber cu\u00e1ndo es mejor cambiar la configuraci\u00f3n de tu cluster. Escalar tu cluster Couchbase no es s\u00f3lo cuesti\u00f3n de a\u00f1adir un nodo y encenderlo. El cluster requerir\u00e1 que se ejecute un rebalanceo antes de que el nuevo nodo comience a tomar cualquier carga como parte del cluster. \u00bfC\u00f3mo afectar\u00e1 el reequilibrio a sus SLA? \u00bfQu\u00e9 carga puede seguir ejecutando simult\u00e1neamente con un reequilibrio y seguir cumpliendo sus SLA?<\/p>\n<p>La \u00fanica forma de responder a estas preguntas es adoptar el mismo enfoque, comenzando con una carga muy ligera y aumentando gradualmente la carga simult\u00e1neamente con un reequilibrio de adici\u00f3n de nodos en ejecuci\u00f3n. Una vez que haya identificado una carga aceptable mientras ejecuta un reequilibrio, puede observar sus patrones de uso para identificar un d\u00eda y una hora en los que es preferible ejecutar cualquier reequilibrio que cambie la configuraci\u00f3n.<\/p>\n<h2>Identificar m\u00faltiples configuraciones de objetivos de crecimiento<\/h2>\n<p>Una vez que disponga de las distintas m\u00e9tricas de capacidad de carga, tanto con procesos operativos como sin ellos, podr\u00e1 elaborar su plan para anticiparse y adaptarse al crecimiento. Su plan debe incluir activadores de hitos para identificar cu\u00e1ndo escalar su cl\u00faster, c\u00f3mo escalarlo y cu\u00e1ndo programar el escalado.<\/p>\n<p>El plan de crecimiento resultante deber\u00eda especificar alguna m\u00e9trica que actuar\u00e1 como disparador para cada evento de escalado, y qu\u00e9 deber\u00eda hacerse como parte del escalado (por ejemplo, a\u00f1adir 1 nodo K\/V, 2 nodos de consulta). Cuando se alcancen estos desencadenantes en su entorno de producci\u00f3n, programe los cambios apropiados en su cl\u00faster, implement\u00e1ndolos en la primera ventana apropiada (momento de baja carga). Si la carga de su cl\u00faster es estacional, estas subidas y bajadas de escala pueden y deben planificarse con mucha antelaci\u00f3n.<\/p>\n<p>Si los cambios en la carga no son estacionales, sino el resultado de un crecimiento org\u00e1nico, su mapa de hitos deber\u00eda incluir marcadores adicionales alrededor de la marca 80% del siguiente hito de cambio de cluster. Estos marcadores 80% deben considerarse hitos de \"prep\u00e1rate\", alertando a tu equipo de que la carga de tu cluster est\u00e1 creciendo y que necesitas planificar el escalado de tu cluster pronto, haciendo los preparativos necesarios.<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>The goal of load testing should be to identify what load your current cluster can handle, and how you need to mutate and adapt your cluster configuration as you reach various load milestones. The result should be a plan for [&hellip;]<\/p>\n","protected":false},"author":41537,"featured_media":8461,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1816,2334,2389],"tags":[],"ppma_author":[9086],"class_list":["post-8462","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-server","category-monitoring","category-solutions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Testing For Growth - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/testing-for-growth\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testing For Growth\" \/>\n<meta property=\"og:description\" content=\"The goal of load testing should be to identify what load your current cluster can handle, and how you need to mutate and adapt your cluster configuration as you reach various load milestones. The result should be a plan for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/testing-for-growth\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-28T06:58:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-28T16:33:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/04\/TFG-Header-scaled-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"589\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Davis Chapman\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Davis Chapman\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/\"},\"author\":{\"name\":\"Davis Chapman\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/5dfa15a576b0656f5568265c860729e5\"},\"headline\":\"Testing For Growth\",\"datePublished\":\"2020-04-28T06:58:20+00:00\",\"dateModified\":\"2020-04-28T16:33:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/\"},\"wordCount\":2005,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2020\\\/04\\\/TFG-Header-scaled-1.png\",\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Server\",\"Monitoring\",\"Solutions\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/\",\"name\":\"Testing For Growth - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2020\\\/04\\\/TFG-Header-scaled-1.png\",\"datePublished\":\"2020-04-28T06:58:20+00:00\",\"dateModified\":\"2020-04-28T16:33:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2020\\\/04\\\/TFG-Header-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2020\\\/04\\\/TFG-Header-scaled-1.png\",\"width\":2048,\"height\":589},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/testing-for-growth\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testing For Growth\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/5dfa15a576b0656f5568265c860729e5\",\"name\":\"Davis Chapman\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g5685854cb1346b5427fb6d5ce53daf4a\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g\",\"caption\":\"Davis Chapman\"},\"description\":\"Davis Chapman calls himself a Solution Architect, claims to be employed by Couchbase, and is supposedly part of our Professional Services team. He says that he\u2019s been in the industry for decades, and has been involved in application development for most of that time. Hmm, we'll have to check on that...\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/davis-chapman\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Testing For Growth - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/testing-for-growth\/","og_locale":"es_MX","og_type":"article","og_title":"Testing For Growth","og_description":"The goal of load testing should be to identify what load your current cluster can handle, and how you need to mutate and adapt your cluster configuration as you reach various load milestones. The result should be a plan for [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/testing-for-growth\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-04-28T06:58:20+00:00","article_modified_time":"2020-04-28T16:33:20+00:00","og_image":[{"width":2048,"height":589,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/04\/TFG-Header-scaled-1.png","type":"image\/png"}],"author":"Davis Chapman","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Davis Chapman","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/"},"author":{"name":"Davis Chapman","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5dfa15a576b0656f5568265c860729e5"},"headline":"Testing For Growth","datePublished":"2020-04-28T06:58:20+00:00","dateModified":"2020-04-28T16:33:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/"},"wordCount":2005,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/04\/TFG-Header-scaled-1.png","articleSection":["Best Practices and Tutorials","Couchbase Server","Monitoring","Solutions"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/","url":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/","name":"Testing For Growth - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/04\/TFG-Header-scaled-1.png","datePublished":"2020-04-28T06:58:20+00:00","dateModified":"2020-04-28T16:33:20+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/testing-for-growth\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/04\/TFG-Header-scaled-1.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/04\/TFG-Header-scaled-1.png","width":2048,"height":589},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/testing-for-growth\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Testing For Growth"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5dfa15a576b0656f5568265c860729e5","name":"Davis Chapman","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g5685854cb1346b5427fb6d5ce53daf4a","url":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g","caption":"Davis Chapman"},"description":"Davis Chapman se hace llamar Arquitecto de Soluciones, dice ser empleado de Couchbase, y supuestamente forma parte de nuestro equipo de Servicios Profesionales. Dice que lleva d\u00e9cadas en la industria, y que ha estado involucrado en el desarrollo de aplicaciones durante la mayor parte de ese tiempo. Hmm, tendremos que comprobarlo...","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/davis-chapman\/"}]}},"acf":[],"authors":[{"term_id":9086,"user_id":41537,"is_guest":0,"slug":"davis-chapman","display_name":"Davis Chapman","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/41537"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=8462"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8462\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/8461"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=8462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=8462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=8462"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=8462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}