Zadejte hledaný výraz...

Odezva komunikace serveru

qye
verified
rating uzivatele
(16 hodnocení)
3. 10. 2011 15:23:21
Zdravím,
řeším takový problém.
Když na webhostingu (linux/apache/php) dám načíst obsah vzdáleného souboru z jiného hostingu (linux/apache/php) pomocí php funkce file_get_contents, tak celá operace zabere do 15ms. (Do funkce zadávám adresu pomocí doménového jména.)
Když se snažím o načtení z dalšího (testovacího) serveru (windows/apache/php) tak celé operace zabere 200ms.(Do funkce zadávám adresu pomocí IP.)
Tento testovací server je připojen optikou 5Mbps s webovou odezvou 7-15ms (když dám ping na seznam.cz tak pod 1ms, když na webhosting tak taky pod 1ms.).
Vzdálený soubor umístěný na testovacím serveru je php script který nic nedělá, jen staticky vypíše 10bajtů.
Na vzdáleném testovacím serveru je vypnutý firewall, vypnutý antivir a žádné další programy řešící zabezpečení tam nejsou.
HW testovací serveru: 6x3.2GHz, 12GBram, systémový ssd disk (serverová data umístěna na klasickém hdd)
Kde byste prosím hledali problém?
Jediné co mě zatím napadá je, že testovací server běží na windows (W7), ale tento fakt přeci nezapříčiní 10krát větší odezvu.
Moc děkuji za případnou pomoc
3. 10. 2011 15:23:21
https://webtrh.cz/diskuse/odezva-komunikace-serveru/#reply683008
P-ierre
verified
rating uzivatele
(43 hodnocení)
3. 10. 2011 16:53:49
A oba servery jsou umístěné ve stejné síti? Je totiž možné, že to je k windowsovému serveru z testovacího počítače prostě "dál" (přes víc uzlů) a tím pádem se tam může nasbírat to prodlení.
Trochu taky nechápu, proč ti na serveru běží desktopový OS (Win7). Pokud na serveru chceš/potřebuješ Windows, tak bych volil 2008 nebo 2003, ale prostě něco serverového. Nežere to zbytečně systémové prostředky na služby, které na serveru stejně nevyužiješ.
3. 10. 2011 16:53:49
https://webtrh.cz/diskuse/odezva-komunikace-serveru/#reply683007
Nehlede na to, ze vyuzivat Win7 v internetu je dle licencnich podminek zakazano. Musite pouzivat bud Windows 2003 jakykoliv nebo Win 2008 Web.
3. 10. 2011 17:04:28
https://webtrh.cz/diskuse/odezva-komunikace-serveru/#reply683006
soudruh
verified
rating uzivatele
(57 hodnocení)
3. 10. 2011 17:28:48
trace
3. 10. 2011 17:28:48
https://webtrh.cz/diskuse/odezva-komunikace-serveru/#reply683005
qye
verified
rating uzivatele
(16 hodnocení)
3. 10. 2011 17:49:18
Nejsou na stejné síti.
Je to pracovní stanice a potřebuji jí teď využívat jako testovací server a stále na tom pracovat, 4 jádra si dám na server a 2 jádra na práci. Vím, že to je divné řešení, nicméně pro mě nejvhodnější.
Díky tobě P-ierre mě napadla možnost, kterou jsem netestoval. A to co se stane když si stroje svou roli vymění.
Moudrý jsem z výsledku nebyl, nicméně to hodně pomůže ke zjistění problému.
Vytvořil jsem dva scripty.
10b.php (který vypíše 10B textu)
a
testodezvy.php (který pomocí file_get_contents stáhne ze vzdáleného serveru 10b.php)
Když jsem testodezvy spustil na windows serveru který tak stahoval data z linux serveru tak odezva byla v průměru 18ms.
Když jsem testodezvy spustil na linux serveru který tak stahoval data z windows serveru tak odezva byla v průměru 210ms.
No napadá mě, že by poskytoval internetu měl nějaké zabezpečení příchozího spojení, jinak mě nic nenapadá, nenapadá mě ani proč by tam měl to zabezpečení.
---------- Příspěvek doplněn 03.10.2011 v 20:58 ----------
tak bude to pravděpodobně v konfiguraci apache, nebo někde uvnitř windows - ale absolutně netuším kde
pockety na síťovku přijdou a o 200ms další odejdou
---------- Příspěvek doplněn 04.10.2011 v 16:15 ----------
Ha! Vyřešeno.
To prevent a network flood of ACK messages (sending out a confirmation for EVERY package) Windows has a smart trick! Windows waits some time (up to 200ms) before it sends out the next ACK, so that it can send out multiple ACK’s in one go.
To bylo těch 200ms které jsem hledal.
3. 10. 2011 17:49:18
https://webtrh.cz/diskuse/odezva-komunikace-serveru/#reply683004
Pro odpověď se přihlašte.
Přihlásit