{"id":4120,"date":"2017-10-20T04:09:51","date_gmt":"2017-10-20T11:09:51","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4120"},"modified":"2025-06-13T20:20:20","modified_gmt":"2025-06-14T03:20:20","slug":"optimize-n1ql-performance-using-request-profiling","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/optimize-n1ql-performance-using-request-profiling\/","title":{"rendered":"Optimizar el rendimiento de N1QL mediante el perfilado de peticiones"},"content":{"rendered":"<p><span style=\"font-weight: 400\"><strong>La supervisi\u00f3n ha descubierto al acaparador de recursos. \u00bfY ahora qu\u00e9?<\/strong> <\/span><\/p>\n<p><span style=\"font-weight: 400\">Couchbase Server 4.5 introdujo un mecanismo para mantener un ojo en la ejecuci\u00f3n de las solicitudes, por lo que los lentos podr\u00edan ser destacados.<\/span><\/p>\n<p><a href=\"https:\/\/dzone.com\/articles\/query-performance-monitoring-made-easy-with-couchb\"><span style=\"font-weight: 400\">Este art\u00edculo de DZone<\/span><\/a><span style=\"font-weight: 400\"> cubre el tema de la vigilancia de N1QL con gran detalle, pero la cuesti\u00f3n ahora es: tenemos a los alborotadores, \u00bfc\u00f3mo controlamos sus demandas?<\/span><\/p>\n<p><span style=\"font-weight: 400\">En t\u00e9rminos generales, todos los motores de bases de datos proporcionan medios para analizar el plan de consulta utilizado por una petici\u00f3n para devolver datos, en forma de alg\u00fan tipo de sentencia EXPLAIN, pero \u00e9sta hace exactamente lo que dice la palabra: explica el plan, pero no dice realmente qu\u00e9 parte del plan se est\u00e1 comportando mal, utilizando n\u00fameros concretos.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Los administradores de bases de datos experimentados pueden decir, utilizando una mezcla de experiencia, heur\u00edstica y corazonadas, c\u00f3mo podr\u00eda mejorarse un plan espec\u00edfico, pero este conjunto de habilidades espec\u00edficas requiere una cantidad sustancial de formaci\u00f3n y, para ser justos, tambi\u00e9n implica un cierto grado de conjeturas.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00bfPodemos hacerlo mejor?<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Introducir perfiles<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Couchbase 5.0 introduce, entre otras cosas, la capacidad de recopilar m\u00e9tricas sobre todas las partes m\u00f3viles de las solicitudes individuales.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Cuando la funci\u00f3n est\u00e1 activada, la informaci\u00f3n sobre perfiles es devuelta por la solicitud a continuaci\u00f3n del documento de resultados, y est\u00e1 disponible en los espacios de claves del sistema para su posterior procesamiento.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esta m\u00e9trica muestra el \u00e1rbol de ejecuci\u00f3n en detalle, con informaci\u00f3n como el tiempo empleado en cada operador y en cada fase de procesamiento, as\u00ed como los documentos ingeridos y digeridos.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Con estos datos, los administradores de bases de datos pueden identificar f\u00e1cilmente los operadores costosos en una solicitud y<\/span><span style=\"font-weight: 400\"> abordar el problema, por ejemplo, creando el \u00edndice adecuado para minimizar el n\u00famero de claves cualificadas devueltas por la exploraci\u00f3n del \u00edndice.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Pero empecemos por el principio.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Activar la creaci\u00f3n de perfiles<\/span><\/h2>\n<p><span style=\"font-weight: 400\">El uso m\u00e1s frecuente de la creaci\u00f3n de perfiles es comprender por qu\u00e9 una determinada sentencia es lenta.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Como tal, la sentencia lenta ya ha sido identificada y probablemente est\u00e1 siendo probada en un entorno sandbox - la \u00fanica informaci\u00f3n necesaria es el texto de la sentencia culpable y no hay necesidad de recopilar perfiles de nada m\u00e1s.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Por el contrario, un nodo de producci\u00f3n puede estar atravesando una fase lenta.<\/span><\/p>\n<p><span style=\"font-weight: 400\">No se ha identificado la petici\u00f3n culpable y es importante recopilar inmediatamente toda la informaci\u00f3n de diagn\u00f3stico disponible para que, una vez identificada la petici\u00f3n lenta, ya est\u00e9 disponible el perfil sin tener que volver a ejecutar la sentencia infractora.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">A nivel de solicitud<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Esto puede hacerse con la funci\u00f3n <\/span><span style=\"font-weight: 400\">perfil<\/span><span style=\"font-weight: 400\"> par\u00e1metro de la API REST de solicitud, que se pasa al servicio de consulta junto con la sentencia de solicitud, ideal para investigar sentencias individuales.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esto podr\u00eda ser al nivel m\u00e1s bajo posible, como se ejemplifica con esto <\/span><span style=\"font-weight: 400\">rizo <\/span><span style=\"font-weight: 400\">ejemplo<\/span><\/p>\n<pre class=\"lang:sh decode:true\">curl https:\/\/localhost:8093\/query\/service -d 'statement=select * from `travel-sample`&amp;profile=timings' -u Administrator:password<\/pre>\n<p><span style=\"font-weight: 400\">O m\u00e1s sencillamente de una sesi\u00f3n de cbq shell<\/span><\/p>\n<pre class=\"lang:sh decode:true\">cbq&gt; \\set -profile timings;<\/pre>\n<p><span style=\"font-weight: 400\">Query Workbench habilita la creaci\u00f3n de perfiles por defecto, como veremos m\u00e1s adelante.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En <\/span><code>perfil<\/code>\u00a0<span style=\"font-weight: 400\">toma tres valores: <\/span><code>fuera de<\/code><span style=\"font-weight: 400\"> (por defecto),\u00a0<code>fases<\/code><span style=\"font-weight: 400\">y<\/span>\u00a0<code>horarios<\/code><span style=\"font-weight: 400\">.<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400\">La primera, como era de esperar, simplemente desactiva la funci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La segunda permite obtener un resumen de los tiempos de ejecuci\u00f3n para cada fase de solicitud, mientras que la \u00faltima ofrece el mayor nivel de informaci\u00f3n disponible: tiempos completos por operador de ejecuci\u00f3n.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">A nivel de servicios<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Cuando se requiere la creaci\u00f3n de perfiles en todas las peticiones, se puede activar al iniciar el nodo mediante la opci\u00f3n <code>-perfil<\/code><\/span><span style=\"font-weight: 400\">\u00a0par\u00e1metro de l\u00ednea de comandos.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Toma los mismos argumentos que el par\u00e1metro query de la API REST, con el mismo significado.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Cualquier solicitud que no especifique ning\u00fan nivel de perfilado a nivel de la API REST toma el valor del argumento de la l\u00ednea de comandos como la opci\u00f3n seleccionada.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Sobre la marcha<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Cuando los clusters de producci\u00f3n muestran signos de fatiga, es posible cambiar la configuraci\u00f3n del perfil de servicio de consulta sobre la marcha a trav\u00e9s del punto final REST \/admin\/settings, por ejemplo<\/span><\/p>\n<pre class=\"lang:sh decode:true\">curl https:\/\/localhost:8093\/admin\/settings -d '{ \"profile\": \"timings\"}' -u Administrator:password<\/pre>\n<p><span style=\"font-weight: 400\">Esto tiene el mismo efecto que inicializar el servicio de consulta utilizando la funci\u00f3n <code>-perfil<\/code><\/span><span style=\"font-weight: 400\">\u00a0sin embargo, tambi\u00e9n se aplica a las peticiones que ya se han iniciado, lo que significa que cuando las peticiones no especifican un ajuste de perfil de nivel de consulta, tomar\u00e1 el nuevo nivel establecido como la opci\u00f3n seleccionada.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Es importante saber que la informaci\u00f3n sobre perfiles se recopila en todo momento; los interruptores anteriores s\u00f3lo determinan si se comunica informaci\u00f3n y cu\u00e1nta.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Por lo tanto, es posible activar retroactivamente la creaci\u00f3n de perfiles para las solicitudes que ya se han iniciado, lo que significa que cuando se observa una ralentizaci\u00f3n del sistema, un DBA puede crear un perfil de todas las solicitudes que ya se est\u00e1n ejecutando, sin tener que volver a enviar ninguna de las solicitudes o investigar primero cu\u00e1l es la que est\u00e1 funcionando mal.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Obtenci\u00f3n de informaci\u00f3n sobre perfiles<\/span><\/h2>\n<p><span style=\"font-weight: 400\">La informaci\u00f3n sobre el perfil de las solicitudes individuales est\u00e1 disponible como un subdocumento json que detalla el \u00e1rbol de ejecuci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En t\u00e9rminos generales, se trata de una estructura con el mismo formato y contenidos muy parecidos a los del <\/span><span style=\"font-weight: 400\">EXPLICAR<\/span><span style=\"font-weight: 400\"> pero con estad\u00edsticas de ejecuci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La aplicaci\u00f3n cliente puede acceder a ella a trav\u00e9s del documento de respuesta (lo que resulta \u00fatil para investigaciones puntuales), y terceros, a trav\u00e9s de los espacios de claves del sistema, lo que resulta \u00fatil, por ejemplo, para comparar diferentes variaciones de la misma sentencia, o la ejecuci\u00f3n de la misma sentencia con diferentes valores para los marcadores de posici\u00f3n.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">De la respuesta a la solicitud<\/span><\/h3>\n<p><span style=\"font-weight: 400\">El siguiente ejemplo muestra la ejecuci\u00f3n de una sentencia en cbq, con el perfil activado<\/span><\/p>\n<pre class=\"lang:java decode:true\">cbq&gt; \\set -profile timings;\r\ncbq&gt; select * from `travel-sample` limit 1;\r\n{\r\n    \"requestID\": \"eff5d221-fc0d-459f-9de3-727747368a3e\",\r\n    \"signature\": {\r\n        \"*\": \"*\"\r\n    },\r\n    \"results\": [\r\n        {\r\n            \"travel-sample\": {\r\n                \"callsign\": \"MILE-AIR\",\r\n                \"country\": \"United States\",\r\n                \"iata\": \"Q5\",\r\n                \"icao\": \"MLA\",\r\n                \"id\": 10,\r\n                \"name\": \"40-Mile Air\",\r\n                \"type\": \"airline\"\r\n            }\r\n        }\r\n    ],\r\n    \"status\": \"success\",\r\n    \"metrics\": {\r\n        \"elapsedTime\": \"65.441768ms\",\r\n        \"executionTime\": \"65.429661ms\",\r\n        \"resultCount\": 1,\r\n        \"resultSize\": 300\r\n    },\r\n    \"profile\": {\r\n        \"phaseTimes\": {\r\n            \"authorize\": \"1.544104ms\",\r\n            \"fetch\": \"1.776843ms\",\r\n            \"instantiate\": \"777.209\u00b5s\",\r\n            \"parse\": \"840.796\u00b5s\",\r\n            \"plan\": \"53.121896ms\",\r\n            \"primaryScan\": \"6.741329ms\",\r\n            \"run\": \"10.244259ms\"\r\n        },\r\n        \"phaseCounts\": {\r\n            \"fetch\": 1,\r\n            \"primaryScan\": 1\r\n        },\r\n        \"phaseOperators\": {\r\n\t    \"authorize\": 1,\r\n            \"fetch\": 1,\r\n            \"primaryScan\": 1\r\n        },\r\n        \"executionTimings\": {\r\n\t        \"#operator\": \"Sequence\",\r\n\t        \"#stats\": {\r\n\t            \"#phaseSwitches\": 2,\r\n\t            \"execTime\": \"3.41\u00b5s\",\r\n\t            \"kernTime\": \"10.23877ms\"\r\n\t        },\r\n\t        \"~children\": [\r\n\t            {\r\n\t                \"#operator\": \"Authorize\",\r\n\t                \"#stats\": {\r\n\t                    \"#phaseSwitches\": 4,\r\n\t                    \"execTime\": \"3.268\u00b5s\",\r\n\t                    \"kernTime\": \"8.651859ms\",\r\n\t                    \"servTime\": \"1.540836ms\"\r\n\t                },\r\n\t                \"privileges\": {\r\n\t                    \"List\": [\r\n\t                        {\r\n\t                            \"Target\": \"default:travel-sample\",\r\n\t                            \"Priv\": 7\r\n\t                        }\r\n\t                    ]\r\n\t                },\r\n\t                \"~child\": {\r\n\t                    \"#operator\": \"Sequence\",\r\n\t                    \"#stats\": {\r\n\t                        \"#phaseSwitches\": 3,\r\n\t                        \"execTime\": \"8.764\u00b5s\",\r\n    \t                    \"kernTime\": \"8.639269ms\"\r\n\t                    },\r\n\t                    \"~children\": [\r\n\t                        {\r\n\t                            \"#operator\": \"Sequence\",\r\n\t                            \"#stats\": {\r\n\t                                \"#phaseSwitches\": 2,\r\n\t                                \"execTime\": \"8.037\u00b5s\",\r\n\t                                \"kernTime\": \"8.591094ms\"\r\n    \t                        },\r\n\t                            \"~children\": [\r\n\t                                {\r\n\t                                    \"#operator\": \"PrimaryScan\",\r\n\t                                    \"#stats\": {\r\n\t                                        \"#itemsOut\": 1,\r\n\t                                        \"#phaseSwitches\": 7,\r\n\t                                        \"execTime\": \"6.254658ms\",\r\n\t                                        \"kernTime\": \"1.609\u00b5s\",\r\n\t                                        \"servTime\": \"486.671\u00b5s\"\r\n    \t                                },\r\n\t                                    \"index\": \"def_primary\",\r\n\t                                    \"keyspace\": \"travel-sample\",\r\n\t                                    \"limit\": \"1\",\r\n\t                                    \"namespace\": \"default\",\r\n\t                                    \"using\": \"gsi\"\r\n\t                                },\r\n\t                                {\r\n\t                                \t\"#operator\": \"Fetch\",\r\n\t                                    \"#stats\": {\r\n\t                                        \"#itemsIn\": 1,\r\n\t                                        \"#itemsOut\": 1,\r\n\t                                        \"#phaseSwitches\": 11,\r\n\t                                        \"execTime\": \"48.055\u00b5s\",\r\n\t                                        \"kernTime\": \"6.766558ms\",\r\n\t                                        \"servTime\": \"1.728788ms\"\r\n\t                                    },\r\n\t                                    \"keyspace\": \"travel-sample\",\r\n\t                                    \"namespace\": \"default\"\r\n\t                                },\r\n\t                                {\r\n\t                                    \"#operator\": \"Sequence\",\r\n\t                                    \"#stats\": {\r\n\t                                        \"#phaseSwitches\": 5,\r\n\t                                        \"execTime\": \"1.675\u00b5s\",\r\n\t                                        \"kernTime\": \"8.580305ms\"\r\n\t                                    },\r\n\t                                    \"~children\": [\r\n\t                                        {\r\n\t                                            \"#operator\": \"InitialProject\",\r\n\t                                            \"#stats\": {\r\n\t                                                \"#itemsIn\": 1,\r\n\t                                                \"#itemsOut\": 1,\r\n\t                                                \"#phaseSwitches\": 9,\r\n\t                                                \"execTime\": \"4.113\u00b5s\",\r\n\t                                                \"kernTime\": \"8.555317ms\"\r\n\t                                            },\r\n\t                                            \"result_terms\": [\r\n\t                                                {\r\n\t                                                    \"expr\": \"self\",\r\n\t                                                    \"star\": true\r\n\t                                                }\r\n\t                                            ]\r\n\t                                        },\r\n\t                                        {\r\n\t                                            \"#operator\": \"FinalProject\",\r\n\t                                            \"#stats\": {\r\n\t                                                \"#itemsIn\": 1,\r\n\t                                                \"#itemsOut\": 1,\r\n\t                                                \"#phaseSwitches\": 11,\r\n\t                                                \"execTime\": \"2.201\u00b5s\",\r\n\t                                                \"kernTime\": \"8.570215ms\"\r\n\t                                            }\r\n\t                                        }\r\n\t                                    ]\r\n\t                                }\r\n\t                            ]\r\n\t                        },\r\n\t                        {\r\n\t                            \"#operator\": \"Limit\",\r\n\t                            \"#stats\": {\r\n\t                                \"#itemsIn\": 1,\r\n\t                                \"#itemsOut\": 1,\r\n\t                                \"#phaseSwitches\": 11,\r\n\t                                \"execTime\": \"3.244\u00b5s\",\r\n\t                                \"kernTime\": \"8.621338ms\"\r\n\t                            },\r\n\t                            \"expr\": \"1\"\r\n\t                        }\r\n\t                    ]\r\n\t                }\r\n    \t            },\r\n\t            {\r\n\t                \"#operator\": \"Stream\",\r\n\t                \"#stats\": {\r\n\t                    \"#itemsIn\": 1,\r\n\t                    \"#itemsOut\": 1,\r\n\t                    \"#phaseSwitches\": 9,\r\n\t                    \"execTime\": \"8.647\u00b5s\",\r\n\t                    \"kernTime\": \"10.225903ms\"\r\n\t                }\r\n\t            }\r\n\t        ],\r\n\t        \"~versions\": [\r\n\t            \"2.0.0-N1QL\",\r\n\t            \"5.1.0-1256-enterprise\"\r\n\t        ]\r\n    \t}\r\n    }\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">Observe que la respuesta incluye ahora un <strong><code>perfil<\/code><\/strong> con informaci\u00f3n sobre las fases, como <\/span><strong><code>phaseTimes<\/code><\/strong><span style=\"font-weight: 400\">, <\/span><strong><code>phaseCounts<\/code><\/strong><span style=\"font-weight: 400\">, <\/span><strong><code>phaseOperators<\/code><\/strong><span style=\"font-weight: 400\"> (respectivamente, el tiempo de ejecuci\u00f3n de cada fase, el n\u00famero de documentos procesados por fase y el n\u00famero de operadores que ejecutan cada fase), la \u00fanica informaci\u00f3n que se proporciona cuando <\/span><span style=\"font-weight: 400\"><code>perfil<\/code><\/span><span style=\"font-weight: 400\"> se establece en <\/span><span style=\"font-weight: 400\"><code>fases<\/code><\/span><span style=\"font-weight: 400\"> - as\u00ed como un <\/span><span style=\"font-weight: 400\"><code>executionTimings<\/code><\/span><span style=\"font-weight: 400\"> subsecci\u00f3n.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">De los espacios de claves del sistema<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Las consultas a los espacios de claves del sistema pueden devolver informaci\u00f3n sobre el perfil de las solicitudes, siempre que el perfil est\u00e9 activado para dichas solicitudes en el momento de la consulta.<\/span><\/p>\n<p><span style=\"font-weight: 400\">He aqu\u00ed un ejemplo r\u00e1pido:<\/span><\/p>\n<pre class=\"lang:java decode:true\">cbq&gt; select * from system:active_requests;\r\n{\r\n \u00a0\u00a0\u00a0\"requestID\": \"7f500733-faba-45dc-8015-3127e305e86e\",\r\n \u00a0\u00a0\u00a0\"signature\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"*\": \"*\"\r\n \u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\"results\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"active_requests\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"87.698587ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"87.651658ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"node\": \"127.0.0.1:8091\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseCounts\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseOperators\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"authorize\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"fetch\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseTimes\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"authorize\": \"1.406584ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"fetch\": \"15.793\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"instantiate\": \"50.802\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"parse\": \"438.25\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"plan\": \"188.113\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": \"75.53238ms\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"remoteAddr\": \"127.0.0.1:57711\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"requestId\": \"7f500733-faba-45dc-8015-3127e305e86e\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"requestTime\": \"2017-10-09 19:36:04.317448352 +0100 BST\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"scanConsistency\": \"unbounded\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"running\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"statement\": \"select * from system:active_requests;\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"userAgent\": \"Go-http-client\/1.1 (godbc\/2.0.0-N1QL)\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"users\": \"Administrator\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0],\r\n \u00a0\u00a0\u00a0\"status\": \"success\",\r\n \u00a0\u00a0\u00a0\"metrics\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"88.016701ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"87.969113ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultCount\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultSize\": 1220\r\n \u00a0\u00a0\u00a0}\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">El registro para la selecci\u00f3n en <\/span><strong><code>sistema:solicitudes_activas<\/code><\/strong><span style=\"font-weight: 400\"> es informaci\u00f3n de fase deportiva.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Si el perfilado est\u00e1 configurado en <\/span><strong><code>horarios<\/code><\/strong><span style=\"font-weight: 400\">el \u00e1rbol de ejecuci\u00f3n detallado se presenta como <\/span><span style=\"font-weight: 400\">plan<\/span><span style=\"font-weight: 400\"> accesible a trav\u00e9s de la p\u00e1gina <\/span><strong><code>meta()<\/code><\/strong><span style=\"font-weight: 400\"> funci\u00f3n:<\/span><\/p>\n<pre class=\"lang:java decode:true\">cbq&gt; select *, meta().plan from system:active_requests;\r\n{\r\n \u00a0\u00a0\u00a0\"requestID\": \"53e3b537-c781-402a-b3ae-49cd4ad4b4ac\",\r\n \u00a0\u00a0\u00a0\"signature\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"*\": \"*\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"plan\": \"json\"\r\n \u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\"results\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"active_requests\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"58.177768ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"58.163366ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"node\": \"127.0.0.1:8091\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseCounts\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseOperators\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"authorize\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"fetch\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseTimes\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"authorize\": \"674.937\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"fetch\": \"8.26\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"instantiate\": \"20.294\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"parse\": \"985.136\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"plan\": \"69.766\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": \"47.460796ms\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"remoteAddr\": \"127.0.0.1:57817\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"requestId\": \"53e3b537-c781-402a-b3ae-49cd4ad4b4ac\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"requestTime\": \"2017-10-09 19:36:31.374286818 +0100 BST\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"scanConsistency\": \"unbounded\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"running\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"statement\": \"select *, meta().plan from system:active_requests;\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"userAgent\": \"Go-http-client\/1.1 (godbc\/2.0.0-N1QL)\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"users\": \"Administrator\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"plan\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"Sequence\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"818ns\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"57.105844ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"~children\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"Authorize\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 3,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"3.687\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"56.428974ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"servTime\": \"671.25\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"privileges\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"List\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Priv\": 4,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Target\": \"#system:active_requests\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"~child\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"Sequence\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"1.35\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"56.439225ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"~children\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"PrimaryScan\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#itemsOut\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 7,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"19.430376ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"2.821\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"servTime\": \"28.03042ms\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"index\": \"#primary\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"keyspace\": \"active_requests\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"namespace\": \"#system\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"using\": \"system\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"Fetch\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#itemsIn\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 7,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"8.26\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"47.474703ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"servTime\": \"8.946656ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"services\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"keyspace\": \"active_requests\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"namespace\": \"#system\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"Sequence\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"638ns\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"56.466039ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"~children\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"InitialProject\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"1.402\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"56.471719ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"result_terms\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"expr\": \"self\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"star\": true\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"expr\": \"(meta(`active_requests`).`plan`)\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"FinalProject\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"1.105\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"56.49816ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#operator\": \"Stream\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"366ns\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"57.250988ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"kernel\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"~versions\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"2.0.0-N1QL\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"5.1.0-1256-enterprise\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0],\r\n \u00a0\u00a0\u00a0\"status\": \"success\",\r\n \u00a0\u00a0\u00a0\"metrics\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"59.151099ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"59.136024ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultCount\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultSize\": 6921\r\n \u00a0\u00a0\u00a0}\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">La informaci\u00f3n mostrada aqu\u00ed en <\/span><strong><code>sistema:solicitudes_activas<\/code><\/strong><span style=\"font-weight: 400\"> tambi\u00e9n es accesible desde <\/span><strong><code>sistema:solicitudes_realizadas<\/code><\/strong><span style=\"font-weight: 400\">suponiendo que la solicitud en cuesti\u00f3n, una vez completada, cumpla los requisitos para su almacenamiento en <\/span><strong><code>sistema:solicitudes_realizadas<\/code><\/strong><span style=\"font-weight: 400\"> y se activ\u00f3 la creaci\u00f3n de perfiles.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Tenga en cuenta que la informaci\u00f3n de temporizaci\u00f3n devuelta por <\/span><strong><code>sistema:solicitudes_activas<\/code><\/strong><span style=\"font-weight: 400\">\u00a0es <\/span><i><span style=\"font-weight: 400\">actual<\/span><\/i><span style=\"font-weight: 400\">lo que significa que incluye los tiempos de ejecuci\u00f3n acumulados hasta ahora: una segunda selecci\u00f3n en <\/span><strong><code>sistema:solicitudes_activas<\/code><\/strong><span style=\"font-weight: 400\"> puede utilizarse para determinar el coste de un operador concreto en el intervalo de tiempo transcurrido entre las dos selecciones.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Informaci\u00f3n facilitada<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Como se muestra en el siguiente ejemplo<\/span><\/p>\n<pre class=\"lang:java decode:true\">{\r\n \u00a0\u00a0\u00a0\"#operator\": \"Fetch\",\r\n \u00a0\u00a0\u00a0\"#stats\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#itemsIn\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"#phaseSwitches\": 7,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"execTime\": \"8.26\u00b5s\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"kernTime\": \"47.474703ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"servTime\": \"8.946656ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"services\"\r\n \u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\"keyspace\": \"active_requests\",\r\n \u00a0\u00a0\u00a0\"namespace\": \"#system\"\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">el documento del \u00e1rbol de ejecuci\u00f3n informa, para cada operador, del n\u00famero de documentos ingeridos y digeridos (<\/span><strong><code>1TP5Art\u00edculosEn<\/code><\/strong><span style=\"font-weight: 400\"> y <\/span><strong><code>#itemsOut<\/code><\/strong><span style=\"font-weight: 400\">), tiempo de ejecuci\u00f3n del c\u00f3digo del operador (<\/span><strong><code>execTime<\/code><\/strong><span style=\"font-weight: 400\">), en espera de ser programado (<\/span><strong><code>kernTime<\/code><\/strong><span style=\"font-weight: 400\">) y esperar a que los servicios suministren datos (<\/span><strong><code>servTime<\/code><\/strong><span style=\"font-weight: 400\">), el n\u00famero de veces que el operador ha cambiado de estado (ejecutando, a la espera de ser programado, a la espera de datos) y el estado actual (suponiendo que la solicitud a\u00fan no haya finalizado).<\/span><\/p>\n<p><span style=\"font-weight: 400\">Las estad\u00edsticas del operador son muy detalladas a prop\u00f3sito: se sabe que cada medida individual ha destacado de forma prominente durante investigaciones espec\u00edficas de rendimiento, \u00a1y no me averg\u00fcenza decir que tambi\u00e9n se han utilizado provechosamente durante mis propias sesiones de depuraci\u00f3n!<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para hacernos una idea de lo que se puede conseguir, pensemos en lo siguiente <\/span><strong><code>interruptores de fase<\/code><\/strong><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Supongamos que, tras reunir los perfiles dos veces, el n\u00famero de <\/span><strong><code>interruptores de fase<\/code><\/strong><span style=\"font-weight: 400\"> para un operador concreto no ha aumentado.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Es posible que ese operador en concreto no est\u00e9 funcionando correctamente: \u00bfdeber\u00eda el <\/span><span style=\"font-weight: 400\">estado<\/span><span style=\"font-weight: 400\"> estar atrapado en <\/span><span style=\"font-weight: 400\">\"servicios\"<\/span><span style=\"font-weight: 400\">dependiendo del operador, puede estar esperando en el almac\u00e9n de documentos (para una b\u00fasqueda) o en el servicio de indexaci\u00f3n (para una b\u00fasqueda).<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00bfQuiz\u00e1 el servicio correspondiente no funciona o est\u00e1 atascado?<\/span><\/p>\n<p><span style=\"font-weight: 400\">Por el contrario, si est\u00e1 atrapado en <\/span><span style=\"font-weight: 400\">\"n\u00facleo\"<\/span><span style=\"font-weight: 400\">En ese caso, es posible que un consumidor no est\u00e9 aceptando datos, o que la m\u00e1quina est\u00e9 tan cargada que el programador no est\u00e9 encontrando franjas horarias para el operador.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La siguiente secci\u00f3n tratar\u00e1 algunos signos reveladores de algunos escenarios comunes, primero los escenarios m\u00e1s probables.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Interpretar perfiles<\/span><\/h2>\n<h3><span style=\"font-weight: 400\">Cualquier operador: tiempo de n\u00facleo alto<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Se trata de un cuello de botella en un operador m\u00e1s adelante.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Busque un operador con un alto tiempo de ejecuci\u00f3n o de servicios.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Si no se encuentra ninguno, el n\u00facleo de ejecuci\u00f3n tiene problemas para programar los operadores: el nodo de consulta est\u00e1 sobrecargado y a\u00f1adir uno nuevo podr\u00eda resultar \u00fatil.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Fetches, Joins, Scans: tiempos de servicio elevados<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Esto puede indicar un servicio externo estresado.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Una confirmaci\u00f3n de esto vendr\u00eda de una baja tasa de cambio en <\/span><strong><code>#itemsOut<\/code><\/strong><span style=\"font-weight: 400\">, aunque esto requiere tomar el mismo perfil m\u00e1s de una vez, lo que puede resultar inconveniente (o imposible, si la solicitud ya ha finalizado).<\/span><\/p>\n<p><span style=\"font-weight: 400\">Como alternativa, busque los s\u00edntomas que se describen a continuaci\u00f3n.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Fetches y Joins: alto tiempo de servicio por documento entrante<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Las b\u00fasquedas de documentos individuales deben ser r\u00e1pidas.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Dividir <\/span><strong><code>servTime<\/code><\/strong><span style=\"font-weight: 400\"> por <\/span><strong><code>#itemsOut<\/code><\/strong><span style=\"font-weight: 400\">\u00a0deber\u00eda producir siempre tiempos de b\u00fasqueda sustancialmente inferiores a un milisegundo.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Si no es as\u00ed, es que el almac\u00e9n de documentos est\u00e1 bajo tensi\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para que quede claro, no es necesariamente la solicitud que se est\u00e1 perfilando la que est\u00e1 sometiendo a estr\u00e9s al almac\u00e9n: lo m\u00e1s probable es que el problema sea la carga general del servicio.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Una forma de asegurarse de que el problema es la carga global, al menos mientras se realizan pruebas de estr\u00e9s, es reducir el n\u00famero de clientes trabajadores: en un almac\u00e9n sobrecargado, los tiempos de obtenci\u00f3n individuales se mantienen constantes a medida que disminuye el n\u00famero de clientes, y s\u00f3lo empiezan a mejorar cuando la carga llega a un nivel que puede manejarse m\u00e1s f\u00e1cilmente.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Fetches: alto n\u00famero de documentos ingestados<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Un buen plan de consulta debe utilizar un \u00edndice que produzca s\u00f3lo las claves de documentos que sean relevantes para la solicitud.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Si el n\u00famero de claves pasadas al operador Fetch es mucho mayor que el n\u00famero final de documentos devueltos al cliente, el \u00edndice elegido no es lo suficientemente selectivo.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Escaneados: elevado n\u00famero de documentos producidos<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Es la contrapartida del s\u00edntoma anterior: el \u00edndice elegido no es suficientemente selectivo. Considere la posibilidad de crear un \u00edndice para que los predicados adicionales puedan ser empujados a la exploraci\u00f3n del \u00edndice.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Uniones: pocos documentos ingeridos, muchos documentos producidos<\/span><\/h3>\n<p><span style=\"font-weight: 400\">De nuevo, se trata sin duda de una ruta de \u00edndice incorrecta: \u00bfse supone que la uni\u00f3n debe producir tantos resultados en primer lugar?<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Filtros: muchos documentos ingeridos, pocos documentos producidos<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Otro indicador de \"\u00edndice elegido definitivamente no lo suficientemente selectivo\".<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Filtros: tiempo de ejecuci\u00f3n elevado<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Esto no deber\u00eda ocurrir nunca, y si ocurre, lo m\u00e1s probable es que vaya acompa\u00f1ado del s\u00edntoma anterior.<\/span><\/p>\n<p><span style=\"font-weight: 400\">No s\u00f3lo el \u00edndice no era suficientemente selectivo y devolv\u00eda demasiadas claves de documentos, sino que evaluar todas las expresiones de la cl\u00e1usula WHERE para tantos documentos est\u00e1 resultando bastante caro.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Proyecci\u00f3n: tiempo de ejecuci\u00f3n elevado<\/span><\/h3>\n<p><span style=\"font-weight: 400\">De nuevo, una improbable: el servicio de consulta se esfuerza por reunir los documentos de resultados para la solicitud.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00bfCu\u00e1ntos t\u00e9rminos tiene en la cl\u00e1usula de proyecci\u00f3n de la sentencia SELECT? \u00a1Afeite unos cuantos!<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00bfTiene expresiones complejas?<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Stream: tiempo de ejecuci\u00f3n elevado<\/span><\/h3>\n<p><span style=\"font-weight: 400\">La solicitud se esfuerza por convertir el resultado en forma JSON y enviarlo al cliente.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En <\/span><strong><code>bonito<\/code><\/strong><span style=\"font-weight: 400\"> El par\u00e1metro REST puede haberse configurado como <\/span><strong><code>verdadero<\/code><\/strong><span style=\"font-weight: 400\"> por error.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La lista de proyecci\u00f3n puede tener demasiados t\u00e9rminos.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Otra posibilidad es que haya un problema en la red o que los documentos enviados sean demasiado grandes para que la red pueda soportarlos.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Controla<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Muchas veces, el comportamiento de las solicitudes depende de los valores de los marcadores de posici\u00f3n, por lo que ser\u00eda muy \u00fatil capturar los valores de los marcadores de posici\u00f3n junto con los perfiles.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esto puede hacerse con la funci\u00f3n <\/span><strong><code>controla<\/code><\/strong><span style=\"font-weight: 400\"> consulta REST API, par\u00e1metro de l\u00ednea de comandos y <\/span><span style=\"font-weight: 400\">\/admin\/configuraci\u00f3n <\/span><span style=\"font-weight: 400\">REST, que toma un <\/span><strong><code>verdadero<\/code><\/strong><span style=\"font-weight: 400\"> o <\/span><strong><code>falso<\/code><\/strong><span style=\"font-weight: 400\"> valor.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Su comportamiento es exactamente el mismo que el de <\/span><strong><code>perfil<\/code><\/strong><span style=\"font-weight: 400\"> y puede establecerse para cada solicitud, al inicio, sobre la marcha o para todo el servicio. Tambi\u00e9n puede aplicarse retrospectivamente a las solicitudes en ejecuci\u00f3n que no hayan especificado una configuraci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Los par\u00e1metros de nombre y posici\u00f3n se indicar\u00e1n en la salida de la solicitud en su propia secci\u00f3n de control:<\/span><\/p>\n<pre class=\"lang:java decode:true\">cbq&gt; \\set -controls true;\r\ncbq&gt; \\set -$a 1;\r\ncbq&gt; select * from default where a = $a;\r\n{\r\n \u00a0\u00a0\u00a0\"requestID\": \"bf6532d6-f009-4e55-b333-90e0b1d17283\",\r\n \u00a0\u00a0\u00a0\"signature\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"*\": \"*\"\r\n \u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\"results\": [\r\n \u00a0\u00a0\u00a0],\r\n \u00a0\u00a0\u00a0\"status\": \"success\",\r\n \u00a0\u00a0\u00a0\"metrics\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"9.864639ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"9.853572ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultCount\": 0,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultSize\": 0\r\n \u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\"controls\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"namedArgs\": {\r\n \u00a0\u00a0\u00a0        \"a\": 1\r\n        }\r\n \u00a0\u00a0\u00a0}\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">as\u00ed como en los espacios de claves del sistema (aunque, a diferencia de los perfiles, no es necesario acceder a ning\u00fan archivo adjunto a trav\u00e9s de la funci\u00f3n <\/span><strong><code>meta()<\/code><\/strong><span style=\"font-weight: 400\"> funci\u00f3n):<\/span><\/p>\n<pre class=\"lang:java decode:true\">cbq&gt; select * from system:active_requests;\r\n{\r\n \u00a0\u00a0\u00a0\"requestID\": \"dced4ef6-7a31-4291-a15d-030ac67b033c\",\r\n \u00a0\u00a0\u00a0\"signature\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"*\": \"*\"\r\n \u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\"results\": [\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"active_requests\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"69.458652ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"69.434706ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"namedArgs\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"a\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"node\": \"127.0.0.1:8091\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseCounts\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"phaseOperators\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"authorize\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"fetch\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"primaryScan\": 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"remoteAddr\": \"127.0.0.1:63095\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"requestId\": \"dced4ef6-7a31-4291-a15d-030ac67b033c\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"requestTime\": \"2017-10-09 20:51:33.400550619 +0100 BST\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"scanConsistency\": \"unbounded\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"state\": \"running\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"statement\": \"select * from system:active_requests;\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"userAgent\": \"Go-http-client\/1.1 (godbc\/2.0.0-N1QL)\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"users\": \"Administrator\"\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n \u00a0\u00a0\u00a0],\r\n \u00a0\u00a0\u00a0\"status\": \"success\",\r\n \u00a0\u00a0\u00a0\"metrics\": {\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"elapsedTime\": \"69.62242ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"executionTime\": \"69.597934ms\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultCount\": 1,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"resultSize\": 977\r\n \u00a0\u00a0\u00a0}\r\n}<\/pre>\n<h2><span style=\"font-weight: 400\">Perfiles visuales<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Una forma bastante sencilla de acceder a informaci\u00f3n detallada sobre perfiles de extractos individuales, sin tener que hacer nada especial, es a trav\u00e9s de la pesta\u00f1a Consulta de la interfaz de usuario de Admin Console.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Query WorkBench activa la creaci\u00f3n de perfiles por defecto y, una vez finalizada la solicitud, los tiempos y el recuento de documentos est\u00e1n f\u00e1cilmente disponibles en forma pict\u00f3rica, haciendo clic en el bot\u00f3n \"plan\".<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4129 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/10\/Picture1.jpg\" alt=\"QWB profile\" width=\"828\" height=\"376\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Picture1.jpg 828w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Picture1-300x136.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Picture1-768x349.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Picture1-20x9.jpg 20w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Los operadores est\u00e1n ordenados por colores seg\u00fan su coste, y al pasar el rat\u00f3n por encima de cada uno de ellos aparecer\u00e1 abundante informaci\u00f3n sobre los tiempos en bruto.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Las Preferencias permiten cambiar los ajustes de perfilado, as\u00ed como otros ajustes como los par\u00e1metros de nombre y posici\u00f3n.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Perfilar es mucho m\u00e1s que perfilar<\/span><\/h2>\n<p><span style=\"font-weight: 400\">La informaci\u00f3n sobre perfiles y controles tambi\u00e9n puede utilizarse para un seguimiento m\u00e1s detallado.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Por ejemplo, para encontrar solicitudes con cualquier operador que produzca cantidades excesivas de documentos, se podr\u00eda utilizar<\/span><\/p>\n<pre class=\"lang:tsql decode:true\">select * from system:active_requests\r\n \u00a0where any o within meta().plan satisfies o.`#itemsOut` &gt; 100000 end;<\/pre>\n<p><span style=\"font-weight: 400\">(modifique el umbral de los documentos de salida en funci\u00f3n de sus necesidades).<\/span><\/p>\n<p><span style=\"font-weight: 400\">El ejemplo es bastante simplista, y en realidad podr\u00eda hacerse m\u00e1s f\u00e1cilmente utilizando <\/span><strong><code>phaseCounts<\/code><\/strong><span style=\"font-weight: 400\">pero cambiando la cl\u00e1usula ANY por<\/span><\/p>\n<pre class=\"lang:tsql decode:true\">o.`#operator` = \"Fetch\" and\r\no.keyspace = \"travel-sample\" and\r\no.`#stats`.`#itemsOut` &gt; 100000<\/pre>\n<p><span style=\"font-weight: 400\">y \u00a1listo!, se revelan las peticiones que cargan un espacio clave espec\u00edfico.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Del mismo modo, la b\u00fasqueda de cualquier solicitud que utilice un valor espec\u00edfico para cualquier par\u00e1metro con nombre se puede lograr con<\/span><\/p>\n<pre class=\"lang:tsql decode:true\">select * from system:active_requests\r\n \u00a0where namedArgs.`some parameter` = \"target value\";<\/pre>\n<p><span style=\"font-weight: 400\">(sustituya \"alg\u00fan par\u00e1metro\" y \"valor objetivo\" por los valores requeridos)<\/span><\/p>\n<p><span style=\"font-weight: 400\">Las posibilidades son infinitas.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Una \u00faltima consideraci\u00f3n<\/span><\/h2>\n<p><span style=\"font-weight: 400\">La informaci\u00f3n de perfiles se almacena en el propio \u00e1rbol de ejecuci\u00f3n, que consume bastante memoria.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esto en s\u00ed mismo no es un problema, sin embargo, tenga en cuenta que cuando una solicitud de ejecuci\u00f3n lenta se convierte en elegible para el almacenamiento en <\/span><strong><code>sistema:solicitudes_realizadas<\/code><\/strong><span style=\"font-weight: 400\"> y <\/span><strong><code>perfil<\/code><\/strong><span style=\"font-weight: 400\"> se establece en <\/span><strong><code>horarios<\/code><\/strong><span style=\"font-weight: 400\">tambi\u00e9n se almacenar\u00e1 todo el \u00e1rbol de ejecuci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esto, de nuevo, no es un problema en s\u00ed mismo. Sin embargo, puede convertirse en un problema si <\/span><strong><code>sistema:solicitudes_realizadas<\/code><\/strong><span style=\"font-weight: 400\"> est\u00e1 configurado para registrar todas las peticiones, no tiene l\u00edmite, y todas las peticiones tienen <\/span><strong><code>perfil<\/code><\/strong><span style=\"font-weight: 400\">\u00a0ajustado a <\/span><strong><code>horarios<\/code><\/strong><span style=\"font-weight: 400\">En este caso, el uso de memoria puede crecer m\u00e1s all\u00e1 de lo razonable, ya que se est\u00e1n almacenando todos los tiempos de todas las peticiones ejecutadas desde el principio de los tiempos.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Afortunadamente, la configuraci\u00f3n por defecto de <\/span><strong><code>sistema:solicitudes_realizadas<\/code><\/strong><span style=\"font-weight: 400\"> El registro significa que no te meter\u00e1s en problemas sin saberlo y, de todos modos, no estoy sugiriendo que seas ahorrativo con la cantidad de tiempos que registras, pero este es un caso en el que el exceso puede ser doloroso.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Est\u00e1s avisado.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Conclusiones<\/span><\/h2>\n<p><span style=\"font-weight: 400\">A partir de la versi\u00f3n 5.0 de Couchbase Server, N1QL ofrece herramientas especializadas para analizar en profundidad los tiempos de ejecuci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Se han dado ejemplos de c\u00f3mo acceder a la funcionalidad e interpretar los datos recogidos. <\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Monitoring uncovered the resource hog. Now what? Couchbase Server 4.5 introduced a mechanism to keep an eye on executing requests, so that slow performers could be highlighted. This DZone article covers the subject of N1QL monitoring in great detail, but [&hellip;]<\/p>","protected":false},"author":1782,"featured_media":4131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1816,9417,1812],"tags":[],"ppma_author":[8924],"class_list":["post-4120","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-server","category-performance","category-n1ql-query"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Optimize N1QL performance using request profiling - 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\/optimize-n1ql-performance-using-request-profiling\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optimize N1QL performance using request profiling\" \/>\n<meta property=\"og:description\" content=\"Monitoring uncovered the resource hog. Now what? Couchbase Server 4.5 introduced a mechanism to keep an eye on executing requests, so that slow performers could be highlighted. This DZone article covers the subject of N1QL monitoring in great detail, but [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/optimize-n1ql-performance-using-request-profiling\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-10-20T11:09:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:20:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marco Greco, Software Architect, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marco Greco, Software Architect, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/\"},\"author\":{\"name\":\"Marco Greco, Software Architect, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2b5184a7cdb443ff2897aff0866cd6fd\"},\"headline\":\"Optimize N1QL performance using request profiling\",\"datePublished\":\"2017-10-20T11:09:51+00:00\",\"dateModified\":\"2025-06-14T03:20:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/\"},\"wordCount\":2315,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png\",\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Server\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/\",\"name\":\"Optimize N1QL performance using request profiling - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png\",\"datePublished\":\"2017-10-20T11:09:51+00:00\",\"dateModified\":\"2025-06-14T03:20:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png\",\"width\":1280,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Optimize N1QL performance using request profiling\"}]},{\"@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\/2b5184a7cdb443ff2897aff0866cd6fd\",\"name\":\"Marco Greco, Software Architect, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/707c967b795fd71b6330f6d3118cf308\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e6be0ee56851d2f71a554731d5edd5c820069680f0a810b47f094091c58bc553?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e6be0ee56851d2f71a554731d5edd5c820069680f0a810b47f094091c58bc553?s=96&d=mm&r=g\",\"caption\":\"Marco Greco, Software Architect, Couchbase\"},\"description\":\"In a previous life, Marco used to be CTO, radiation physicist, software architect, sysadmin, DBA, trainer and general handyman at Italy's largest radiation theraphy practice. Having switched career and country, he spent more than two decades in various support and development positions in Informix first and IBM later, before finally taking the plunge and joining Couchbase, to help them make gold out of N1QL. He holds several patents and has authored open source projects of his own.\",\"sameAs\":[\"https:\/\/github.com\/marcogrecopriolo\",\"https:\/\/www.linkedin.com\/in\/marco-greco-7665308\/\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/marcocouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Optimize N1QL performance using request profiling - 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\/optimize-n1ql-performance-using-request-profiling\/","og_locale":"es_MX","og_type":"article","og_title":"Optimize N1QL performance using request profiling","og_description":"Monitoring uncovered the resource hog. Now what? Couchbase Server 4.5 introduced a mechanism to keep an eye on executing requests, so that slow performers could be highlighted. This DZone article covers the subject of N1QL monitoring in great detail, but [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/optimize-n1ql-performance-using-request-profiling\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-10-20T11:09:51+00:00","article_modified_time":"2025-06-14T03:20:20+00:00","og_image":[{"width":1280,"height":800,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png","type":"image\/png"}],"author":"Marco Greco, Software Architect, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marco Greco, Software Architect, Couchbase","Est. reading time":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/"},"author":{"name":"Marco Greco, Software Architect, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2b5184a7cdb443ff2897aff0866cd6fd"},"headline":"Optimize N1QL performance using request profiling","datePublished":"2017-10-20T11:09:51+00:00","dateModified":"2025-06-14T03:20:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/"},"wordCount":2315,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png","articleSection":["Best Practices and Tutorials","Couchbase Server","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/","url":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/","name":"Optimize N1QL performance using request profiling - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png","datePublished":"2017-10-20T11:09:51+00:00","dateModified":"2025-06-14T03:20:20+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/10\/Balloon-Burst-4.png","width":1280,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/optimize-n1ql-performance-using-request-profiling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Optimize N1QL performance using request profiling"}]},{"@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\/2b5184a7cdb443ff2897aff0866cd6fd","name":"Marco Greco, Arquitecto de software, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/707c967b795fd71b6330f6d3118cf308","url":"https:\/\/secure.gravatar.com\/avatar\/e6be0ee56851d2f71a554731d5edd5c820069680f0a810b47f094091c58bc553?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e6be0ee56851d2f71a554731d5edd5c820069680f0a810b47f094091c58bc553?s=96&d=mm&r=g","caption":"Marco Greco, Software Architect, Couchbase"},"description":"En su vida anterior, Marco fue director de tecnolog\u00eda, radiof\u00edsico, arquitecto de software, administrador de sistemas, administrador de bases de datos, formador y manitas en general en la mayor cl\u00ednica de radioterapia de Italia. Tras cambiar de carrera y de pa\u00eds, pas\u00f3 m\u00e1s de dos d\u00e9cadas en varios puestos de soporte y desarrollo en Informix primero e IBM despu\u00e9s, antes de dar finalmente el paso y unirse a Couchbase, para ayudarles a convertir N1QL en oro. Es titular de varias patentes y autor de sus propios proyectos de c\u00f3digo abierto.","sameAs":["https:\/\/github.com\/marcogrecopriolo","https:\/\/www.linkedin.com\/in\/marco-greco-7665308\/"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/marcocouchbase-com\/"}]}},"authors":[{"term_id":8924,"user_id":1782,"is_guest":0,"slug":"marcocouchbase-com","display_name":"Marco Greco, Software Architect, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/e6be0ee56851d2f71a554731d5edd5c820069680f0a810b47f094091c58bc553?s=96&d=mm&r=g","author_category":"","last_name":"Greco","first_name":"Marco","job_title":"","user_url":"","description":"En su vida anterior, Marco fue director de tecnolog\u00eda, radiof\u00edsico, arquitecto de software, administrador de sistemas, administrador de bases de datos, formador y manitas en general en la mayor cl\u00ednica de radioterapia de Italia.\r\n\r\nTras cambiar de carrera y de pa\u00eds, pas\u00f3 m\u00e1s de dos d\u00e9cadas en varios puestos de soporte y desarrollo en Informix primero e IBM despu\u00e9s, antes de finalmente dar el paso y unirse a Couchbase, para ayudarles a convertir N1QL en oro.\r\n\r\nEs titular de varias patentes y autor de sus propios proyectos de c\u00f3digo abierto."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4120","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\/1782"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=4120"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4120\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/4131"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=4120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=4120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=4120"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=4120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}