Respostas lentas com curl e wget no CentOS 7

1

Meu problema é que não consigo entender por que estou recebendo tempos de resposta tão lentos usando curl e wget. Quando digo devagar, quero dizer um mínimo de cinco ou seis segundos para uma página que deve levar apenas um segundo ou menos.

Eu testei todos os tipos de cenários, mas não consigo fazer nenhuma diferença.

Meu servidor é: CentOS Linux versão 7.3.1611 (Core)

Estou tentando consertar isso porque está atrasando um aplicativo WordPress recém-instalado. Eu acabei identificando (usando o Xdebug) que, ao invés do problema ser o WP, parece ser chamadas PHP que usam curl. Posteriormente, tenho testado a partir da linha de comando, sem qualquer outra aplicação.

Então, por exemplo:

$ curl -o /dev/null "http://techrepublic.com"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  100   178  100   178    0     0     30      0  0:00:05  0:00:05 --:--:--    41

Não faz diferença qual é o URL, mas se eu usar um endereço IP, em vez de um nome de domínio , não haverá problema algum.

O mesmo problema também é verdadeiro usando o wget.

Então, algumas das coisas que eu tentei são:

  • a) Alterando os servidores DNS em /etc/resolv.conf
  • b) O mesmo efeito com curl e também com wget
  • c) O mesmo efeito com http e também com https
  • d) O mesmo efeito com páginas pesadas e leves
  • e) Testado com ondulação no Windows 10, na mesma rede, com o mesmo roteador, etc., e demora cerca de um segundo ou menos
  • f) Testado como usuário comum e como root

Meu servidor DNS primário agora está listado em /etc/resolv.conf como 8.8.8.8, o que deve ser bom.

Para obter mais informações, também usei isto:

$ curl -L --output /dev/null --silent --show-error --write-out 'lookup: %{time_namelookup}\nconnect:%{time_connect}\nappconnect:%{time_appconnect}\npretransfer:%{time_pretransfer}\nredirect:%{time_redirect}\nstarttransfer: %{time_starttransfer}\ntotal:%{time_total}\n' 'techrepublic.com'
Output:
lookup: 5.514
connect:5.528
appconnect:0.000
pretransfer:5.528
redirect:5.819
starttransfer: 6.680
total:12.552

(não sei por que, mas usar o curl desta maneira parece demorar mais do que usá-lo sem todas as opções, mas de qualquer forma ele ainda está demorando muito)

Então, estou imaginando que, de alguma forma, em algum lugar, isso está relacionado a pesquisas de DNS, mas não tenho certeza do que mais tentar. É muito frustrante.

Qualquer ajuda seria muito apreciada. Obrigado!

    
por SuperDog 29.06.2017 / 23:05

1 resposta

1

Ok, problema resolvido. Depois de me aprofundar na web por problemas semelhantes, deparei com este site, que descreveu o mesmo problema:

link

Adicionando a seguinte linha na parte inferior do /etc/resolv.conf resolveu o problema para mim, mas eu recomendo que você leia o artigo na íntegra:

options single-request-reopen
    
por 30.06.2017 / 02:18