{"meta":{"title":"Límites de frecuencia y consulta para GraphQL API","intro":"La GitHub API de GraphQL tiene ciertas limitaciones para protegerse frente a llamadas excesivas o abusivas a los servidores de GitHub.","product":"GraphQL API","breadcrumbs":[{"href":"/es/enterprise-server@3.22/graphql","title":"GraphQL API"},{"href":"/es/enterprise-server@3.22/graphql/overview","title":"Información general"},{"href":"/es/enterprise-server@3.22/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api","title":"Límites de frecuencia y consulta"}],"documentType":"article"},"body":"# Límites de frecuencia y consulta para GraphQL API\n\nLa GitHub API de GraphQL tiene ciertas limitaciones para protegerse frente a llamadas excesivas o abusivas a los servidores de GitHub.\n\n## Límite de tasa principal\n\nLos límites de velocidad están deshabilitados de forma predeterminada para GitHub Enterprise Server. Contacta a tu administrador de sitio para confirmar los límites de frecuencia de tu instancia.\n\nSi eres administrador de un sitio, puedes definir los límites de volumen de la instancia. Para más información, consulta [Configuración de los límites de frecuencia](/es/enterprise-server@3.22/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-rate-limits).\n\nSi va a desarrollar una aplicación para usuarios u organizaciones fuera de la instancia, se aplican los límites de velocidad estándar GitHub . Para obtener más información, consulte [Límites de frecuencia y consulta para GraphQL API](/es/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api) en la GitHub Free documentación.\n\n## Límite de nodos\n\nPara pasar la validación del [esquema](/es/enterprise-server@3.22/graphql/guides/introduction-to-graphql#schema), todas las [llamadas](/es/enterprise-server@3.22/graphql/guides/forming-calls-with-graphql) de la API de GraphQL deben cumplir estos estándares:\n\n* Los clientes deben proporcionar un argumento `first` o `last` en cualquier [conexión](/es/enterprise-server@3.22/graphql/guides/introduction-to-graphql#connection).\n* Los valores de `first` y `last` deben estar comprendidos entre 1 y 100.\n* Las llamadas individuales no pueden solicitar más de un total de 500 000 [nodos](/es/enterprise-server@3.22/graphql/guides/introduction-to-graphql#node).\n\n### Calcular los nodos en una llamada\n\nEstos dos ejemplos te muestran cómo calcular los nodos totales en una llamada.\n\n1. Consulta simple:\n\n   <pre>query {\n     viewer {\n       repositories(first: <span class=\"redbox\">50</span>) {\n\nedges {\nrepository:node {\nname\n\nissues(first: <span class=\"greenbox\">10</span>) {\ntotalCount\nedges {\nnode {\ntitle\nbodyHTML\n}\n}\n}\n}\n}\n}\n}\n}</pre>\n\nCálculo:\n\n   <pre><span class=\"redbox\">50</span>         = 50 repositories\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">10</span>  = 500 repository issues\n\n= 550 total nodes</pre>\n\n1. Consulta compleja:\n\n   <pre>query {\n     viewer {\n       repositories(first: <span class=\"redbox\">50</span>) {\n\nedges {\nrepository:node {\nname\n\npullRequests(first: <span class=\"greenbox\">20</span>) {\nedges {\npullRequest:node {\ntitle\n\ncomments(first: <span class=\"bluebox\">10</span>) {\nedges {\ncomment:node {\nbodyHTML\n}\n}\n}\n}\n}\n}\n\nissues(first: <span class=\"greenbox\">20</span>) {\ntotalCount\nedges {\nissue:node {\ntitle\nbodyHTML\n\ncomments(first: <span class=\"bluebox\">10</span>) {\nedges {\ncomment:node {\nbodyHTML\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n```\n   followers(first: <span class=\"bluebox\">10</span>) {\n```\n\nedges {\nfollower:node {\nlogin\n}\n}\n}\n}\n}</code></pre>\n\nCálculo:\n\n   <pre><span class=\"redbox\">50</span>              = 50 repositories\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span>       = 1,000 pullRequests\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span> x <span class=\"bluebox\">10</span> = 10,000 pullRequest comments\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span>       = 1,000 issues\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span> x <span class=\"bluebox\">10</span> = 10,000 issue comments\n    +\n   <span class=\"bluebox\">10</span>              = 10 followers\n\n= 22,060 total nodes</pre>\n\n## Estrategias de optimización de consultas\n\n* **Limitación del número de objetos**: usa valores más pequeños para los argumentos `first` o `last`, y pagina los resultados.\n* **Reducción de la profundidad de consulta**: evita solicitar objetos profundamente anidados a menos que sea necesario.\n* **Filtrado de los resultados**: usa argumentos para filtrar datos y devolver solo lo que necesitas.\n* **División de consultas grandes**: divide las consultas complejas en varias consultas más sencillas.\n* **Solicitud de los campos obligatorios exclusivamente**: selecciona solo los campos que necesites, en lugar de solicitar todos los campos disponibles.\n\nSi sigues estas estrategias, puedes reducir la probabilidad de alcanzar los límites de recursos y mejorar el rendimiento y la confiabilidad de las solicitudes de API."}