Seit dem Upgrade auf Mac OS X Lion (von Snow Leopard) ist mir aufgefallen, dass das Auflösen auf einen virtuellen Host sehr langsam ist (zwischen ca. 3 Sekunden). Ich habe eine Reihe von Tipps gefunden (z. B. keine Verwendung der lokalen TLD), die das Problem möglicherweise beheben, sie gelten jedoch nicht für mein Setup.
Mein Setup ist recht einfach: - Apache 2 (im Lieferumfang von Lion enthalten) - PHP aktiviert - einige virtuelle Hosts hinzugefügt - Mail- und SMTP-Pear-Pakete installiert
Die Hosts-Datei von Apache sieht folgendermaßen aus:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 tbi.dev
127.0.0.1 www.tbi.dev
127.0.0.1 test1.tbi.dev
127.0.0.1 test2.tbi.dev
127.0.0.1 psa.dev
127.0.0.1 snd.dev
Und die virtuelle Hosts-Datei von Apache sieht folgendermaßen aus:
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/tbi"
ServerName tbi.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/tbi"
ServerName tbi.dev
ServerAlias *.tbi.dev www.tbi.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/psa"
ServerName psa.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/sandbox"
ServerName snd.dev
</VirtualHost>
Das Setup ist im Wesentlichen identisch mit meinem Setup auf Snow Leopard, aber die Leistung von Apache zum Auflösen virtueller Hosts ist erheblich unterschiedlich. Ich verwende Mac OS X Lion 10.7.2, aber das Problem war bereits beim Ausführen von 10.7.1 vorhanden.
Dies scheint ein kleines Problem zu sein, aber wenn Sie ein paar hundert Mal am Tag auf einen virtuellen Host zugreifen, bedeutet dies eine erhebliche Zeitverschwendung, wie Sie sich vorstellen können.
quelle
Antworten:
Lange DNS-Zeitüberschreitungen sind fast immer ein Zeichen für IPv6-Probleme.
Benötigen Sie IPv6-Konnektivität für Apache?
Wenn nicht, schlage ich vor, zu ändern
in
Oder deaktivieren Sie die IPv6-Konnektivität vollständig.
quelle
Ich bin auch gerade darauf gestoßen.
Dadurch wird IPv6 in der Netzwerkkonfiguration auf Aus gesetzt.
Aber leider konnte das Problem mit der DNS-Auflösung für mich nicht gelöst werden (möglicherweise nach einem Neustart des Systems). Was wirklich geholfen hat, war das Hinzufügen von IPs im IPv6-Stil zu / etc / hosts wie folgt:
wget http: //project.local wird jetzt sofort angezeigt
Anstatt 5 Sekunden bei Resolving project.local zu hängen.
quelle
127.0.0.1
und das Problem wurde vollständig gelöst.Unter MacOSX wurde die Lion-
.local
Domain für Multicast-DNS-Resolver (bonjour) "reserviert".Dies bedeutet, dass das Suchen von Domains, die mit .local enden, zu einer mDNS-Suche (bis zu 5 Sekunden) vor / etc / hosts führt.
Korrekturen:
.dev
)quelle
dscl
Ausnahmestrategie ist ziemlich geschickt. @ artur-bodera dein link ist abgelaufen, aber sie haben ihren alten blog auf github github.com/icebourg/itandme-archive/blob/master/posts/2011/08/…Schauen Sie sich diesen Blog an, um zu sehen, ob er hilft, und heben Sie insbesondere Problem 2 hervor:
quelle
Es klappt.
Ich benutze diese Lösung
quelle
Gleicher Bug bei Mavericks.
Behoben, wenn ich meine lokalen Hosts-Definitionen an den Anfang von setze
/etc/hosts
:quelle
Ich würde versuchen zu ändern:
zu
quelle