Solicitações HTTP muito lentas ao longo do tempo no Linux embarcado

0

Um aplicativo que estou desenvolvendo está gradualmente ficando cada vez mais lento para executar solicitações HTTP / HTTPS ao longo do tempo. Ele está sendo executado no Buildroot embdded Linux em alguns hardwares bastante antigos e lentos. Depois de algumas horas de execução, demora ~ 10 segundos para resolver uma solicitação. Parece que isso acontece no nível do sistema operacional. A execução de wget google.com , por exemplo, também está ficando mais lenta com o tempo e leva ~ 10s depois de um tempo. Eu verifiquei que isso também está acontecendo com endpoints não HTTPS, mas é pior em HTTPS.

Vale a pena ressaltar que cada parte da solicitação fica mais lenta também: o wget inicial para resolver o DNS leva alguns segundos quando tudo está congestionado e, depois de ter o IP resolvido, a própria solicitação também demora muito muito tempo. Acredito que isso significa que algo bastante fundamental é bloqueado no sistema operacional, não necessariamente diretamente relacionado à solicitação HTTP.

Matar meu aplicativo e verificar se todos os descritores de arquivo desapareceram não resolve. As solicitações HTTP continuam a ficar lentas depois que meu aplicativo é completamente desligado, uma vez que ele chegou ao ponto de ser executado lentamente.

A única resolução que encontrei até agora é reiniciar o hardware.

O monitor superior indica que a CPU não está em 100% e não aumenta com o tempo e que há RAM livre e não há vazamento de memória óbvio. Eu verifiquei para descritores de arquivos abertos e isso parece bem - ~ 160 descritores de arquivos e não está aumentando ao longo do tempo. Não vejo mais nada que pareça errado além desse problema de solicitação HTTP estranho.

O que mais eu posso verificar ou qualquer outra maneira que eu possa tentar identificar onde esse gargalo é?

Tenho certeza de que meu aplicativo, ou alguma outra coisa no sistema, está vazando alguma coisa , mas não tenho ideia do que. Eu não entendo o suficiente sobre coisas de baixo nível para saber onde cavar ainda mais ...

Obrigado!

    
por Marogian 11.05.2018 / 15:24

0 respostas