Portál AbcLinuxu, 10. května 2025 01:34

Dotaz: Pomalý "překlad adres"

6.8.2009 23:38 jonyssss
Pomalý "překlad adres"
Přečteno: 423×
Odpovědět | Admin
Dobrý den, mám probléb s internetem. Mám domácí server na kterém mám Fedory 10, a mám na něm umístěné vlastní stránky. Když se chci na stránkách v php pomocí funkce get_headers() zjískat hlavičku určité stránky a pomocí jejího názvu př. www.seznam.cz tak to trvá tak kolem 2 sekund když to dám přes IP adresu je to hned. Na servru sem si nainstaloval BIND8 takže překladem adresy to není.
; <<>> DiG 9.5.1-P3-RedHat-9.5.1-3.P3.fc10 <<>> www.seznam.cz
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62499
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;www.seznam.cz.			IN	A

;; ANSWER SECTION:
www.seznam.cz.		4	IN	A	77.75.76.3

;; AUTHORITY SECTION:
seznam.cz.		1605	IN	NS	ns.seznam.cz.
seznam.cz.		1605	IN	NS	ms.seznam.cz.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Aug  6 23:34:39 2009
;; MSG SIZE  rcvd: 81
Pingnu se taky hnedkon. I když tam dám www.seznam.cz. Nevíte někdo čím to může být? Děkuji za odpovědi
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.8.2009 00:30 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten ping zkoušíte už na nakešovaném doménovém jméně nebo na úplně novém? Váš bind použivá nějakého rekurzivního rodiče, nebo sie vyhledává záznamy úplně sám? Mám zkušenosti s Telecomem, jemuž blbly jmenné servery tak, že první dotaz zahodily a odpověděly až na další, což se vůbec nedalo, tak jsem je přestal používat.
7.8.2009 07:39 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Doména už je v keši. Když dám dig na ty adresu tak je odezva 0-1 ms.
7.8.2009 08:25 tomk
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Odpovědět | | Sbalit | Link | Blokovat | Admin

S tim www.seznam.cz to opravdu zkousite, nebo je to jen ilustracni priklad? Ptam se proto, ze v pripade seznamu to sice vyjde pravdepodobne nastejno, ale obecne se pri pouziti ip adresy muzete ptat na HEAD uplne jineho virtualniho webu, nez pri pouziti jmena.

Muzete vyzkouset nasledujici jednoduchy skript a poslat nam vysledek?

<?php
    $start = microtime(true);
    gethostbyname("www.seznam.cz");
    echo (microtime(true)-$start)."\n";
    $start = microtime(true);
    get_headers("http://www.seznam.cz/");
    echo (microtime(true)-$start)."\n";
    $start = microtime(true);
    get_headers("http://77.75.72.3/");
    echo (microtime(true)-$start)."\n";
?>

Staci to spustit jen tak v shellu:

spider:~$ php test.php
0.012479066848755
0.039880990982056
0.036962032318115

Krome tech rozdilnych virtualnich webu a problemu s resolvingem, ktere vylucujete, me momentalne nic jineho nenapada.

Tomas

 

7.8.2009 11:34 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
To je zajímavé přes konzoly:
0.002..........
0.01.......
0.01......
Přes prohlížeč:
5.0111591815948
15.033034086227
0.0084240436553955
7.8.2009 11:59 tomk
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"

Tak to jsem sam necekal :-) CLI php muze pouzivat jiny konfiguracni soubor, nez apache modul (je to jako apache modul?). Ale nevzpominam si na zadnou volbu typu slow_down_dns=true v php.ini, ktera by neco takoveho mohla delat ;-) Pripadne by to snad mohlo byt odlisnym prostredim v jakem tobezi v ramci apache. Co je to za distribuci linuxu? Je tam zapnuty selinux, nebo nejak zvlastne nastaveny firewall? Ty casy to vraci pri naslednych pokusech porad priblizne stejne? Same otazky.

Tomas

 

7.8.2009 13:33 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Jsou tam Fedory 10, Selinux je vypnutý a firewall standard, časy +- furt stejný.
7.8.2009 13:54 tom
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"

 Omlouvam se, kdyz jsem videl ty Fedory, tak jsem si vzpomnel, ze to vlastne bylo napsane v dotazu. Pokud jsou casy stejne, tak to vypada na nejaky timeout. Vyzkousel bych se podivat tcpdumpem na co presne se pta php v pripade, ze je spustene z prikazove radky a v pripade, ze jako modul apache.

Nejak takto:  tcpdump -n -i lo port 53 . Melo by to vypsat dotazy a odpovedi v celkem rozumne forme. Jestli se treba v pripade, ze je modul, nesnazi zjistovat IPv6 adresy, nebo neco podobneho, co by nas mohlo nasmerovat dal.

Tomas

 

 

 

 

 

7.8.2009 15:20 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Už vyřešeno děkuji za snahu. Stačilo restartovat apache páč měl někde uložený starý DNS asi pomalý popř nefunkční DNS.
7.8.2009 09:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na servru sem si nainstaloval BIND8 takže překladem adresy to není.
To byste musel mít Bind správně nakonfigurován jako resolver pro váš počítač a váš resolver mít nakonfigurován, aby Bind používal (tj. v /etc/resolv.conf byste musel mít nastaven jmenný server na 127.0.0.1). A musel byste mít ověřeno, že vám ten Bind funguje správně? To všechno platí?
7.8.2009 11:07 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Nakonfigurovaný je snad zprávě a v resolv.conf to taky je. Podle mě to funguje dobře aspon podle výpisu z dig sem to tak pochopil.
7.8.2009 11:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
A dig vám tedy odpoví hned, i na adresy zatím nenakešované? Asi bych si v druhé konzoly pustil tcpdump a zjistil, jak dlouho od spuštění vašeho programu odejde dotaz na neznámou doménu do internetu a vrátí se odpověď. Pokud to bude hned, budete vědět, že problém je mimo DNS.
7.8.2009 13:37 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Na nenakešované adresu je to v rozmezí 5-20ms.
7.8.2009 13:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
A nemáte v tom PHP nastaveno nějaké zvláštní resolvování? Pak můžete ještě zkusit sledovat přes tcpdump i ten HTTP provoz, zda bude pauze opravdu mezi DNS odpovědí a zahájením HTTP komunikace, nebo zda není až někde v průběhu HTTP komunikace.
7.8.2009 13:57 tom
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"

 5s prodleva je tam i na ciste gethostbyname() - pokud je to volano v ramci modulu apache.

Tomas

 

7.8.2009 14:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Restartoval jste Apache od změny konfigurace resolveru? Nepoužívá Apache pořád starou konfiguraci, buď že si ji při startu načetla resolvovací knihovna, nebo kvůli nějakému kešování, např. NSS?
7.8.2009 15:17 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Ou to mi vůbec nedošlo že apache může používat náký vlastní konfiguráky na dns. Restartoval sem ho a jedeto děkuji moc!
7.8.2009 12:25 R
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
Odpovědět | | Sbalit | Link | Blokovat | Admin
BIND 8 - to je z muzea?
7.8.2009 13:49 jonyssss
Rozbalit Rozbalit vše Re: Pomalý "překlad adres"
a tak je to 9.5.1 sry špatně sem si to zapomatoval

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.