Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demora na requisição quando a paginação é longa #240

Open
morais90 opened this issue May 1, 2019 · 4 comments

Comments

@morais90
Copy link

commented May 1, 2019

Olá!

Estou fazendo download das proposições com a querystring "ano=0" e surpreendentemente demorou dois dias para percorrer toda a listagem de proposições (190.000+). Fiquei surpreso pois demorou um dia para percorrer de 1988 até 2019, utilizando dos mesmos recursos.

Estava investigando e percebi que o tempo de retorno da paginação vai crescendo conforme vai chegando as últimas páginas, em horário que creio ser de pico, as requisições estavam demorando entre 40s e 60s para retornar.

Fiz um script para computar o tempo e mostrar mais ou menos o que identifiquei:
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1 retornada em 1.912376s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=201 retornada em 6.092311s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=401 retornada em 12.264297s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=601 retornada em 14.064185s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=801 retornada em 16.131649s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1001 retornada em 17.602187s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1201 retornada em 20.515356s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1401 retornada em 12.767395s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1601 retornada em 13.767341s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1801 retornada em 14.878571s
Página https://dadosabertos.camara.leg.br/api/v2/proposicoes?ano=0&itens=100&pagina=1911 retornada em 14.96983s

Espero que seja útil para vocês tentarem identificar se há algo que esteja deixando a paginação lenta!

@EquipeDadosAbertosCD

This comment has been minimized.

Copy link
Member

commented May 2, 2019

Ahááá! Então foi você que sentou o banco de dados!!

Brincadeira, Willian :) Mas há algumas coisas a considerar sobre isso:

  • Você não disse quais foram esses dois dias, mas a rede da Câmara teve problemas de instabilidade recentemente (ver o issue #238) e isso pode ter influenciado.

  • APIs não são adequadas para varreduras de base e para esse tipo de "deep searching". Para evitar consultas desse tipo nós fornecemos os arquivos para download. É verdade, porém, que nos arquivos as proposições cadastradas com ano 0 não estão sendo incluídas. Sua mensagem já serviu para colocarmos a correção disso na nossa listinha aqui.

  • A base de proposições tem mais de 700.000 registros. A query para a API ainda inclui algumas operações de JOIN complexas, e outras que ainda hoje não passaram por otimizações possíveis e pendentes. Vamos ver o que conseguimos aperfeiçoar nela. Ainda assim, me parece óbvio que, apesar disso, dois dias para retorno só pode ser uma anomalia. Seria mais rápido mandar os dados por Sedex...

Abraço!

Fabricio Rocha
Equipe Dados Abertos - Câmara

@morais90

This comment has been minimized.

Copy link
Author

commented May 2, 2019

Haha, quem sabe ein! Estou consumindo abaixo das orientações da thread #66:

  • Máximo de 80 conexões simultâneas
  • Máximo de 20 requisições por segundo

Ta valendo essa informação ainda?

@EquipeDadosAbertosCD

This comment has been minimized.

Copy link
Member

commented May 2, 2019

Salve, Willian!

As restrições continuam ativas por tempo indeterminado. Não me consta que elas tenham sofrido alguma alteração depois dos problemas de rede que tivemos...

Fabricio Rocha
Equipe Dados Abertos - Câmara

@vitormarcal

This comment has been minimized.

Copy link
Member

commented May 3, 2019

Olá @morais90 , obrigado pelo feedback sobre o tempo de resposta deste endpoint!

Foi feita uma mudança que melhora a latência deste serviço.

Ainda sim, como bem apontado pelo @FabricioRocha , para fins de carga de base, recomendamos utilizar os arquivos que nós fornecemos para download.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.