Mam system Ubuntu 12.04 TLS działający na wirtualnym pudełku, kiedy próbuję to zrobić wget
połączenie z serwerem zajmuje około 10 sekund, chociaż samo pobieranie jest szybkie.
Jeśli uruchomię to samo polecenie w terminalu na moim laptopie, to natychmiast.
:~$ time wget example.com/profile/avatar/USERID-640.jpg
--2014-02-26 09:52:58-- http://example.com/profile/avatar/USERID-640.jpg
Resolving example.com (example.com)... 54.230.2.117, 54.240.166.35, 54.230.0.66, ...
Connecting to example.com (example.com)|54.230.2.117|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 40145 (39K) [application/octet-stream]
Saving to: `USERID-640.jpg.7'
100%[===========================================================================>] 40,145 --.-K/s in 0.04s
2014-02-26 09:53:08 (898 KB/s) - `USERID-640.jpg.7' saved [40145/40145]
real 0m10.269s
user 0m0.000s
sys 0m0.004s
Tak wyglądają ustawienia sieciowe:
Podsumowanie ustawień z obrazu:
- Dołączony do: Bridged Adapter
- en0: Wi-Fi (AirPort)
- Typ adaptera: Sieć zwirtualizowana (virtio-net)
Próbowałem też innych Typy adapterów , to nie robi różnicy
Plik powinien się natychmiast pobrać, ale kiedy próbuję sprawdzić, czy na stronach PHP istnieją pliki, czas oczekiwania na serwer sieciowy jest zbyt długi.
Używam niezależnych wersji OS X, Virtual Box 3.3.6
EDYTOWAĆ
Dodany /etc/resolv.conf
zgodnie z prośbą:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.1
search Home
EDYTOWAĆ
Po prostu próbuję uzyskać dostęp serverfault.com
- czas zwijania serverfault.com (prawdziwe 0m10,516s)
- czas wget serverfault.com (prawdziwy 0m10.607s)
- czas lynx -dump serverfault.com (rzeczywisty 0m30.709s)
Odpowiedzi:
Miałem ten sam problem. Po kilku błędnych rozwiązaniach i wreszcie pomocy dźwiękowej znalazłem problem:
Sprawdź plik / etc / network / interfaces na maszynie wirtualnej. Prawdopodobnie będziesz musiał ustawić „adres” i „maskę sieci” dla adaptera tylko dla hosta, a „bramę” na karcie NAT, aby maszyna wirtualna mogła uzyskać dostęp do Internetu (z maszyny wirtualnej). Zasadniczo karty sieciowe nie wydają się być poprawnie skonfigurowane (a konfiguracja Virtual Box może być również błędna).
Moja maszyna wirtualna została skopiowana z innego komputera i nie miałem odpowiedniej konfiguracji kart sieciowych w Virtual Box (nie mojej maszyny wirtualnej, ale samej skrzynki wirtualnej dla mojego hosta). Dodałem adapter dla obu adapterów VM (NAT i Host-Only Network). Po skonfigurowaniu pliku / etc / network / interfaces wszystko działało poprawnie; Moja maszyna wirtualna / przeglądarka odpowiedziała natychmiast, a ja byłem w stanie uzyskać dostęp do Internetu z mojej maszyny wirtualnej.
Szczegółowe informacje na temat zmiany tych ustawień można znaleźć tutaj:
https://askubuntu.com/questions/346838/how-do-i-configure-my-dns-settings-in-ubuntu-server
I bardziej szczegółowe informacje na temat pliku / etc / network / interfaces tutaj:
http://www.cyberciti.biz/faq/setting-up-an-network-interfaces-file/
Ustawiłem adres mojej maszyny wirtualnej na statyczny i dodałem „adres”, „maskę sieci” do mojego adaptera host-only na mojej maszynie wirtualnej i „bramę” do adaptera NAT na mojej maszynie wirtualnej.
Sprawdź swoje wirtualne pudełko - & gt; Ustawienia sieciowe (nie ustawienia sieciowe dla wirtualnej MASZYNY, ale rzeczywiste ustawienia aplikacji). Mój adapter nazywa się „vboxnet0”. Po prostu upewnij się, że uruchamiasz polecenia ifdown i ifup dla tego interfejsu (na maszynie wirtualnej).
Uważam, że problem polega na tym, że maszyna wirtualna próbuje wyszukać komputer łączący się z nim (host) i musi upłynąć limit czasu, zanim odpowie.
Mam nadzieję, że to pomoże.
Oto moje ostatnie ustawienia / etc / network / interfaces:
FYI: Mój komputer jest tym, co umieściłem jako bramę.
źródło
Musisz jeszcze bardziej oddzielić zadania, aby wskazać, gdzie jest problem.
Powiedziałeś, że „połączenie z serwerem trwa około 10 sekund”, a więc prawie 99% czasu
wget
wydano polecenie na połączenie z serwerem? Musisz dalej rozbić 10 sekund.Czy wydano na rozwiązanie DNS?
Próbować
To jest mój wynik:
To znaczy, że rozwiązanie DNS zajęło tylko 38 ms, z mojego lokalnego DNS. Jeśli twoja zajmuje dużo więcej czasu, rozważ zainstalowanie lokalnego serwera DNS tylko tak jak ja. To naprawdę proste, sprawdź http://sfxpt.wordpress.com/2013/11/30/dnsmasq-installation-configuration-5/ i jako bonus, sprawdź http://sfxpt.wordpress.com/2014/01/05/the-best-ad-blocking-method-in-a-package/ ,
Jeśli twoje rozpoznawanie DNS jest tak szybkie, jak moje, problem jest gdzie indziej, spróbuj
httping
i odeślij co masz.https - program podobny do ping dla żądań http
Podsumowując, musisz jeszcze bardziej oddzielić zadania, aby ustalić, gdzie jest problem. Np. Jak szybko pobierać pliki z lokalnego serwera http?
źródło
dig
było: Czas zapytania: 1097 ms - Nie do końca rozumiem, o co chodzi, chciałbym to zrozumieć, zanim spróbuję czegośtime dig serverfault.com +retry=0 +tries=1 +time=1 @8.8.8.8