मैं मैक ओएस एक्स लायन पर लोकलहोस्ट / वर्चुअलबॉस्ट (2-3 सेकंड के अंतराल) के धीमे हल / लोडिंग को कैसे समाप्त कर सकता हूं?


97

मैक ओएस एक्स लायन (जनवरी 2012 में खरीदे गए नए मैकबुक एयर) पर अपने विकास के वातावरण को स्थापित करने के बाद से, मैंने देखा है कि वर्चुअल होस्ट का समाधान पहली बार बहुत धीमा (लगभग 3 सेकंड) है लेकिन इसके बाद जब तक तेज है मैं इसे नियमित रूप से लोड करना जारी रखता हूं।

अगर मैं इसे कुछ मिनटों के लिए अछूता छोड़ देता हूं और फिर फिर से लोड करता हूं, तो पहला लोड फिर से धीमा होता है; ऐसा लगता है जैसे कुछ कैश किया जा रहा है।

जैसा कि नीचे देखा जा सकता है कि मैं .local TLD का उपयोग नहीं कर रहा हूं।

मेरा सेटअप: अपाचे 2 - MySQL - PHP स्थापित और सक्षम - आभासी होस्ट के एक जोड़े को जोड़ा गया है जिसमें से एक मैंने लोकलहोस्ट के लिए बनाया है

मेरे / आदि / मेजबान:

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost
127.0.0.1       myproject.dev
::1             myproject.dev
fe80::1%lo0     myproject.dev

मेरा वर्चुअल होस्ट सेट-अप यूज़रनेम में है ।conf:

NameVirtualHost *:80

<Directory "/Users/myusername/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/myusername/Dropbox/dev_envs/
</VirtualHost>
<VirtualHost *:80>
    ServerName myproject.dev
    DocumentRoot /Users/myusername/Dropbox/dev_envs/myprojectname
</VirtualHost>

मुझे यह stackoverflow.com/questions/19313546/… मिला । और यह मेरे लिए काम करता है !!!
क्लार्क यू

2
मैंने इसे ऐप्पल rdar: // 24237290 के बग के रूप में रिपोर्ट किया और इस प्रफुल्लित प्रतिक्रिया मिली:> इंजीनियरिंग ने इस मुद्दे के बारे में निम्नलिखित प्रतिक्रिया प्रदान की है:> यह अधिकतम नहीं के बाद से अपेक्षित व्यवहार है। / etc / मेजबानों की अनुमति वाली फ़ाइल में उपनाम 10. है / 10 से अधिक उपनाम / etc / मेजबान फ़ाइल में व्यावहारिक होना प्रतीत नहीं होता है। मैं स्वागत करूंगा यदि अधिक लोग इस बग की रिपोर्ट करें और उन्हें बताएं कि यह उत्तर पूरी तरह से हास्यास्पद है (और कहीं भी दस्तावेज नहीं है)।
dwt

क्या .lLD TLD का उपयोग करने के बारे में कुछ बुरा है?
याकोव आइंसपैन

Mojave में मेरे लिए ठीक काम करता है ... :)
rogerdpack

जवाबों:


169

मुझे ठीक यही समस्या थी और यह मुझे पागल कर रहा था!

स्थानीय होस्ट के लिए अपनी सभी होस्ट फ़ाइल प्रविष्टियाँ एक पंक्ति में रखें जैसे:

127.0.0.1 localhost myproject.dev myotherproject.dev
::1 localhost
fe80::1%lo0 localhost

मेरे लिए एक जादू की तरह काम किया। शेर में एक बग की तरह लगता है।


यह काम करता है मुझे लगता है कि @ adam-gries को इसे उत्तर के रूप में चिह्नित करना चाहिए। धन्यवाद जेरेमी!
zysoft

5
यह मेरे लिए तय किया गया था, लेकिन मैं 11 साइटों की सीमा तक पहुंच गया, जिसके बाद यह धीमी गति से चलने लगा! अभी के लिए, मैंने चीजों को दो होस्ट प्रविष्टियों (एक ही आईपी पते के साथ) में विभाजित किया है और यह ठीक लग रहा है।
एलेक्स घिकुलेस्कु

समान समस्या और समाधान @AlexGhiculescu के रूप में, लेकिन OS X 10.8 माउंटेन लायन में।
चिशीस्टैंडैंड

2
OS X 10.9, अभी भी एक मुद्दा है और यह मुझे अब घंटों के लिए पागल कर रहा है! शानदार, महान जवाब के लिए धन्यवाद!
रॉबर्ट

2
यह केवल इसलिए काम करता है क्योंकि आप अन्य स्थानीयहोस्ट डिवाइस रूटिंग के पहले से ही होस्ट प्रविष्टियों में प्रवेश कर रहे हैं। यदि आपका वेबसर्वर 127.0.0.1 को देख रहा है, तो उन मेजबानों को अन्य लुकअप के लिए / etc / मेजबान फ़ाइल के HEAD में होना चाहिए। मेरे पास कई दर्जन 127.0.0.1 लाइनें हैं, केवल जब मैंने उन्हें / / / TOP की मेज पर स्थानांतरित किया, तो उन्होंने मेरे लिए तेजी से हल किया।
जॉय टी

70

".Local" में समाप्त होने वाली साइटों के लिए 10.7। * से 10.8.4 तक एक और मुद्दा है जो पांच दूसरे लुकअप का कारण बनता है। निम्नलिखित लिंक पर विवरण और समाधान सौजन्य ब्रैम (हमें) वान डैम:

http://www.bram.us/2011/12/12/mamp-pro-slow-name-resolving-with-local-vhosts-in-lion-fix/

"डिफ़ॉल्ट रूप से, .local में समाप्त होने वाला कोई भी होस्टनाम नेटवर्क वरीयताओं में DNS सर्वर प्रविष्टियों को क्वेरी करने के बजाय एक बोनजॉर होस्ट के रूप में माना जाता है।

इस समस्या को ठीक करने के लिए (प्रत्येक vhost का नाम बदले बिना) आपको अपने / आदि / होस्ट्स फ़ाइल में अपने प्रत्येक vhosts के लिए IPv6 प्रविष्टियाँ जोड़ने की आवश्यकता है: "

::1 mysite.local
fe80::1%lo0 mysite.local
127.0.0.1 mysite.local

यह विंडोज़ सिस्टम को भी प्रभावित करता है। समाधान भी एक आकर्षण की तरह काम करता है।
टोबे

मैंने एक स्थानीय वीएम को मेजबानों की ओर इशारा करते हुए इस मुद्दे को रखा। मैंने अपनी मेजबानों की फाइल को अच्छी तरह से स्वरूपित किया (उनकी अपनी पंक्तियों आदि पर प्रविष्टियाँ) और अतिरिक्त प्रविष्टियाँ जोड़ीं, VM से IPV6 पते का उपयोग करके, और मेरे सभी देरी के मुद्दे चले गए। मुझे ऐसा लगता है कि इसमें केवल साइटें समाप्त हो रही हैं .local, और दोनों IPV4 / 6 प्रविष्टियों को जोड़ने से मेरे लिए सब कुछ तय हो गया है (OS X 10.9)
जस्टिन

इसके लिए थोड़ा लड़ना पड़ा क्योंकि "साझाकरण" वरीयता फलक में मेरा होस्टनाम उस से मेल नहीं खाता था जिसे मैं / etc / host में इनपुट कर रहा था, बस अगर यह किसी की मदद करता है ...
abhishekmukherg

वाह। मैं समझता हूँ कि ::1यह IPv6 शॉर्टकट के बराबर है 127.0.0.1। लेकिन क्या fe80::1%lo0मतलब है? - आह, पर जवाब superuser.com/questions/241642/...
AlexChaffee

macOS सिएरा पर यह काम किया लेकिन मुझे पहली पंक्ति को हटाना पड़ा।
ब्रायस यॉर्क

24

मुझे भी यही समस्या थी, शेर पर भी।

अजीब तरह से, मेरा समाधान जेरेमी के विपरीत था। मेरे पास someproject.dev प्रविष्टियों का एक पूरा गुच्छा / लाइन / होस्ट्स में एक पंक्ति में था। पहली बार उनमें से किसी पर एक साइट लोड हो रही है, एक मिनट या तो की तरह। अगर मैंने इसे 5 सेकंड के भीतर फिर से उपयोग किया या तो यह बहुत तेज था, लेकिन बहुत लंबा है और इसे फिर से एक मिनट लगेगा। मुझे हर तरह की चीजों, mysql कनेक्शन, माणिक संस्करण, रेल्स बग्स, अपाचे, फ़्यूज़न पैसेंजर पर संदेह था। जब तक मैंने अंत में कंसोल को देखा और महसूस किया कि DNS लुकअप का प्रयास किया जा रहा था।

इसलिए, मैंने उन सभी को अलग लाइनों पर रखा:

127.0.0.1 localhost

127.0.0.1 myproject.dev

127.0.0.1 myotherproject.dev

और अचानक सब कुछ फिर से तड़क रहा था। मेरी दोनों मशीनों पर समान।


Stackoverflow में यहाँ कुछ भी करने की कोशिश की लेकिन इस और user902664`s पोस्ट ने मदद की। सभी, IPv4 और IPv6 लाइनों को एक-लाइन पर होना है। यदि केवल IPv4 प्रविष्टियों का उपयोग किया जाता है, लेकिन अलग-अलग लाइनों पर, 30 सेकंड से ~ 1 तक कम हो जाता है, तो अलग-अलग लाइनों पर IPv6 सेटिंग्स के साथ मिलकर ~ 0.5 सेकंड तक कम हो जाता है।
18

यह एक पागल बग प्रतीत होता है। मेरे पास एक पते के लिए एक प्रविष्टि थी, 192.168.56.3 14 उपनामों के साथ। एक उपनाम निकालें और आप <1s में मेजबानों को हल कर सकते हैं। 14 वें उर्फ ​​के साथ, वह कुछ 30 प्रविष्टियों को हल करने के लिए ~ 30s लेता है int वह सूची ...
ब्रायन एम। कैर

क्या यह बग OSX के लिए अनन्य है? क्या कोई बग रिपोर्ट से लिंक कर सकता है?
पीजे

केवल नेटवर्क कॉन्फ़िगरेशन के बारे में जानने के लिए मैंने जितना चाहा था, उससे अधिक घंटे बिताए। मैं डुबकी लेने और एक स्थानीय डीएनएस सर्वर सेटअप करने वाला था और फिर यह तय हो गया। धन्यवाद। यहां मावेरिक्स 10.9.5।
clumsyfingers

13

IPv6 :: 1 के लिए समान होस्ट निर्दिष्ट करने से मुझे मदद मिली।

127.0.0.1 something.local.mydomain.org
::1 something.local.mydomain.org

हां, और प्रति पंक्ति एक डोमेन।
वार्वारियुक

1
यह मेरे लिए मुद्दा तय किया। कम से कम मेरे मामले में, प्रति पंक्ति केवल एक डोमेन की आवश्यकता नहीं थी।
जेफ-एच

9

IPV6 प्रविष्टियों को लोकलहोस्ट के अनुरूप न रखें

::1 localhost

IP v6 प्रविष्टियां एक अलग लाइन में जाती हैं

fe80::1%lo0 here and_here

यह कभी-कभी वास्तव में अब तेजी से होता है, लेकिन दुर्लभ अपवाद हैं जहां पुराने अंतराल वापस आते हैं। हालाँकि वे अन्य कारणों पर आधारित हो सकते हैं।


1
इसने मेरे लिए OS X 10.11.6 पर काम किया - जैसे ही मैंने लोकलहोस्ट IPv4 एंट्री (127.0.0.1 के लिए सिंगल लाइन) की नकल की, उसी एलियास के साथ एक 1 लाइन, लुकअप 4-5 सेकंड से तुरंत इंस्टेंट में चला गया। मेरे पास 127.0.0.2 प्रविष्टि भी थी जिसे मैंने :: 2 के रूप में दोहराया था। मेरे पास प्रति पता एक पंक्ति है। धन्यवाद!
रिचवेल

7

OSX El Capitan पर जो मेरे लिए काम करता था वह IPv4 प्रविष्टि के ठीक ऊपर एक डुप्लिकेट IPv6 प्रविष्टि बना रहा था

fe80::1%lo0 demo.test.dev
127.0.0.1   demo.test.dev

सहमत, IPv6 के ऊपर या नीचे IPv4 प्रविष्टि के साथ काम करता है जब तक कि इसमें उपनामों की एक ही सूची है।
रिचवेल

यह बेतुका है, लेकिन मेरे द्वारा क्रोम के साथ की गई समस्या को ठीक किया जा रहा है जो वास्तव में धीमी गति से मेरे लारडॉक डॉकटर कंटेनरों के लिए लोकलहोस्ट लिंक का समाधान कर रहा है (सफारी हमेशा ठीक रही है)
जेफ-

हाई सिएरा के लिए भी काम करता है - फ़ायरफ़ॉक्स, सफारी इसके साथ या इसके बिना काम करता है
क्रिस अथानाडिसिस

3

यह सुनिश्चित करना कि फ़ाइल के आरंभ में होस्ट नाम परिभाषित किए गए हैं, मेरे लिए अंतर बना। डिफ़ॉल्ट रूप से लाइन 127.0.0.1 लोकलहोस्ट पहले से ही है, बस उसी लाइन पर अपनी प्रविष्टियाँ जोड़ें।


यह वास्तविक समाधान है, बाकी सभी को आज़माया और इसका एक लाइन पर सभी संदर्भों से कोई लेना देना नहीं है या आईपीवी 6 मार्ग से जुड़ा हुआ है (जब तक कि शायद अपाचे में आपका प्राथमिक मार्ग नहीं है ...) धन्यवाद @Erik!
जॉय टी

इसके अलावा यह मेरे लिए 2 या 3 सेकंड से अधिक था, 10 से 20 सेकंड से अधिक। मेरे पास 127.0.0.1 प्रविष्टियां थीं, लेकिन सभी ने OS X द्वारा डिफ़ॉल्ट लोकलहोस्ट कॉन्फिगर के बाद सूचीबद्ध किया। मैं भी शेर पर हूं, एमएल नहीं, अगर वह मायने रखता है।
जॉय टी

अफसोस की बात है कि यह अब w / Mavericks का काम नहीं कर रहा है - मेरे upvote को शेर के लिए यहां छोड़ रहा है, हालांकि जब तक कुछ महीने पहले मैंने Mavs में अपग्रेड नहीं किया था तब तक यह ठीक था।
जॉय टी

1

मुझे भी यही समस्या थी और यह मेरे LAN पर IPv6 को सक्षम करने के कारण लगता था, लेकिन IPv6 को मेरे नेटवर्क और मेरे ISP के बीच सही तरीके से कॉन्फ़िगर नहीं किया गया था। जब ग्राहक को दोनों दिए जाते हैं, तो IPv6 DNS- सर्वर IPv4 DNS पर पूर्ववर्ती स्थिति लेता है। क्लाइंट के लिए IPv6 DNS अनुपलब्ध या अनुपलब्ध है, और फिर IPv4 DNS पर वापस गिर रहा है, यह पता लगाने में कुछ सेकंड (प्रत्येक प्रयास पर) लिया।


1

नोट: मैं विंडोज और एक्सएएमपीपी का उपयोग कर रहा हूं, हालांकि समस्या पर शोध करते समय कई लोगों ने विंडोज और मैक पर एक ही मुद्दा रखा है। इस प्रश्न को खोजने वाले किसी भी व्यक्ति के लिए संदर्भ के रूप में मैंने घंटों काम किया है जो मेरे लिए एक समाधान खोजने की कोशिश कर रहा है:

मैंने एक ही समस्या के लिए कई समाधानों की कोशिश की है, जिसमें सभी मेजबानों को एक पंक्ति में रखना, अनावश्यक होस्ट और वर्चुअलहोस्टेस को हटाना, और IPv6 लाइनों को भी शामिल करना है - इनमें से कोई भी नहीं अकेले सफल रहे थे।

एकमात्र समाधान जो अब तक है मेरे लिए काम करता है, वह सभी समाधानों का एक संयोजन है:

  • डोमेन को बदलना मैं mysite से उपयोग कर रहा हूं। मायसाइट को स्थानीयदेव@ क्लेवरलेमिंग के उत्तर से प्रेरित
  • IPv6 लाइनों सहित।
  • निरर्थक वर्चुअलहोस्टेस और होस्ट्स को हटाना (मैंने उन्हें टिप्पणी दी)।

मेरे होस्ट फ़ाइल में मेरे होस्ट वर्तमान में अलग-अलग लाइनों पर हैं और अब तक यह मुद्दा तय हो गया है।

इस मुद्दे को हल करने का प्रयास करने वाले किसी को भी शुभकामनाएँ और अगर किसी के पास कृपया जोड़ने के लिए कोई जानकारी है - तो यह एक ऐसा मुद्दा है जो बिना किसी ज्ञात कारण या समाधान के बहुत से लोगों को प्रभावित करता है।


1

मुझे यही समस्या थी और आखिरकार एहसास हुआ कि एक ही पंक्ति में दो बार मेरी मेजबान की प्रविष्टि थी:

जैसे

127.0.0.1 localhost host1 host2 host3 host4 host5 host1 host6

मैंने एक ही मेजबान (उदाहरण के ऊपर - host1) के दूसरे उदाहरण को हटा दिया और चीजें तुरंत सामने आ गईं।

जब मुझे यह पता चला तो थोड़ा मूर्खतापूर्ण महसूस किया, लेकिन जब आपको एक ही पंक्ति में 10 लंबे होस्ट नाम मिले हैं और आप बार-बार जोड़ / हटा रहे हैं, तो इसे अनदेखा किया जा सकता है।


0

मेरे लिए यह जो चाल चल रहा था वह जोड़ रहा था

127.0.0.1 locahost

होस्ट फ़ाइल की पहली पंक्ति पर।

मेरे सभी वर्चुअल होस्ट से, डेटाबेस का उपयोग करने वाले केवल धीमे थे। मेरा मानना ​​है कि यह इसलिए है क्योंकि डेटाबेस कनेक्शन के लिए "लोकलहोस्ट" देखने की प्रक्रिया ने चीजों को धीमा कर दिया है, क्योंकि मैंने केवल अपने वर्चुअल होस्ट के लिए पते जोड़े हैं और "लोकलहोस्ट" भी नहीं। अब यह फिर से तड़क है। :)


मुझे वहां लोकलहोस्ट की दो परिभाषाएँ मिलीं; एक बेहतर लगता है।
आरोन ब्रिक

0

मैं इस एक गुच्छा में चला गया हूँ, भी। मेरे पास दो लाइनों पर परिभाषित vhosts का एक गुच्छा है, एक IPv4 के लिए और एक IPv6 के लिए। होस्ट को आगे बढ़ाते हुए मैं सूची में पहले स्थान पर होना चाह रहा था।

127.0.0.1 faster.example.dev host1.example.dev host2.example.dev host3.example.dev host4.example.dev host5.example.dev host6.example.dev
::1 faster.example.dev host1.example.dev host2.example.dev host3.example.dev host4.example.dev host5.example.dev host6.example.dev

0

एक गूंगा मुद्दा जिसने मुझे कुछ समय बर्बाद करने के लिए प्रेरित किया: @ क्लेवरलेमिंग के उत्तर को लागू करने के बाद , मुझे लगा कि मेजबान फ़ाइल पर डुप्लिकेट प्रविष्टियां थीं। कुछ इस तरह:

::1          site1.local site2.local site1.local site3.local site4.local
fe80::1%lo0  site1.local site2.local site1.local site3.local site4.local
127.0.0.1    site1.local site2.local site1.local site3.local site4.local

तब site3.local और site4.local के लिए आईपी का समाधान मौत के इन 5 सेकंड लेता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.