सवाल स्थानीयहोस्ट पर प्रतिक्रिया इतनी धीमी क्यों है?


मैं अपने एक दोस्त के लिए एक छोटी सी छोटी परियोजना पर काम कर रहा हूं, और मेरे पास स्थानीय विकास के लिए एक WAMP पर्यावरण सेटअप है। मुझे उन दिनों को याद है जब मेरे स्थानीय अपाचे 2.2 की प्रतिक्रिया तत्काल थी। हां, अब जब मैं एक लंबी, लंबी छुट्टी से वापस आया, मुझे जवाब मिलते हैं localhost दर्दनाक धीमा

एक 300 बी एचटीएमएल पेज से बाहर निकलने में लगभग 5 सेकंड लगते हैं।

जब मैं टास्क मैनेजर को देखता हूं, तो httpd प्रक्रियाएं (2) सीपीयू के 0% का उपयोग कर रही हैं और कुल मिलाकर मेरा कंप्यूटर लोड नहीं है (0-2% CPU उपयोग)।

विलंबता इतनी ऊंची क्यों है? क्या कोई अपाचे सेटिंग है जिसे मैं शायद अपने धागे को उच्च प्राथमिकता या कुछ के साथ चलाने के लिए ट्विक कर सकता हूं? ऐसा लगता है कि यह प्रतिक्रिया देने से पहले बस सो रहा है।


53
2017-09-17 17:15


मूल


है localhost ठीक से DNS-wise का समाधान? ping localhost वापस आना चाहिए तत्क्षण साथ में 127.0.0.1। - Alexis Lê-Quôc
यह ठीक काम करता है, <1ms में प्राप्त प्रतिक्रिया - Peter Perháč
मैंने सोचा कि फ़ायरफ़ॉक्स समस्या हो सकती है, लेकिन आईई में भी 5 एस लेती है, इसलिए या तो कुछ सिस्टम सेटिंग या अपाचे सेटिंग या ग्रैमलिन होना चाहिए। - Peter Perháč
स्थैतिक सामग्री का अनुरोध करते समय यह वही व्यवहार करता है (यानी लोड होने पर http://localhost/index.html)? यदि नहीं, तो यह एक PHP समस्या हो सकती है, अपाचे समस्या नहीं। - Marcus Spiegel
इस प्रश्न के शो के कई सारे जवाब क्या हैं कि दर्जनों हैं, यदि सैकड़ों अलग-अलग कारणों से पृष्ठ अनुरोध धीमा नहीं हो सकते हैं। यदि आप इस प्रश्न पर पहुंचे हैं क्योंकि आपके पास भी धीमे पेज अनुरोध हैं, तो आपको यहां एक उपयोगी उत्तर प्राप्त करने से पहले धीमेपन के कारण में गहरी खुदाई करने की आवश्यकता होगी। strace तथा tcpdump इसके लिए उपयोगी उपकरण हैं। - Ladadadada


जवाब:


मेरे लिए, सेटिंग ServerName संपत्ति में httpd.conf देरी तय की गई (वे सबसे खराब पर 10 सेकंड तक थे):

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
ServerName 127.0.0.1:80

56
2018-01-13 11:55



यह काम करता है - इच्छा है कि मैं दो बार ऊपर उठा सकता हूं - hohner
यह मेरे लिए भी ठीक करता है! 10 वीं विलंबता से 2ms तक चला गया! - DouglasHeriot
मैं घंटों तक संघर्ष कर रहा था और यह समाधान था। - williamcarswell
स्थानीयहोस्ट ठीक तरह से हल होने पर यह समस्या क्यों है? जवाब देने से पहले उन 10sec पर क्या चल रहा है? समय-समय पर इंतजार कर रहे हैं? - milan
@Elipticalview फ़ाइल में टिप्पणी के रूप में कहते हैं; If your host doesn't have a registered DNS name, enter its IP address here. - sshow


यह मुद्दा अपाचे की मुख्य सेटिंग्स फ़ाइल के साथ था httpd.conf

मुझे मिला:

विंडोज़ पर अपाचे 2.x के साथ काम करने के लिए PHP सेट अप करने के तीन तरीके हैं। आप एक सीजीआई के रूप में, या फास्टसीजीआई के तहत एक हैंडलर के रूप में PHP चला सकते हैं।  [स्रोत]

और इसलिए मैं अपाचे की सेटिंग्स में गया और देखा कि समस्या कहां थी: मैंने इसे मॉड्यूल के रूप में लोड करने के बजाय सीजीआई के रूप में स्थापित किया था। इसका कारण php-cgi.exe शुरू करने के लिए हर बार शुरू करने और बंद करने के लिए। यह मेरा धीमा कर रहा था localhost विकास नीचे

मैंने PHP को अपाचे के रूप में लोड करने के लिए सेटिंग्स को बदल दिया मॉड्यूल और अब यह सब पूरी तरह से काम करता है। :)

अपाचे 2.x के लिए PHP मॉड्यूल लोड करने के लिए:

1) निम्नलिखित पंक्तियों को सम्मिलित करें httpd.conf 

LoadModule php5_module "c:/php/php5apache2.dll"

AddHandler application/x-httpd-php .php

(पी। बदले C:/php आपके रास्ते पर साथ ही, php5apache **। Dll को अपने मौजूदा फ़ाइल नाम में बदलें)

2) केवल .php फ़ाइलों के लिए PHP निष्पादन को सीमित करने के लिए, इसे जोड़ें httpd.conf:

<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>

3) php.ini में पथ सेट करें httpd.conf (यदि पुनरारंभ करने के बाद आपको त्रुटि मिलती है, तो फिर इस पंक्ति को हटा दें)

PHPIniDir "C:/php"

आपके प्रयासों के लिए धन्यवाद।


20
2017-10-10 22:56



मेरा अपाचे स्रोत में उल्लिखित लाइनों को जोड़ने पर रोकता है। मैं विंडोज़ में कैसे करूं? - AgA
वह लिंक समाप्त हो गया। इसे इस्तेमाल करो: goo.gl/2EVth9 - T.Todua


मुझे एक ही समस्या थी।

मेजबान फ़ाइल में 127.0.0.1 को लोकहोस्ट रीडायरेक्ट सेट करने से मदद नहीं मिली। MySQL सर्वर को अनुकूलित करने में मदद नहीं मिली (InnoDB -> MyISAM, my.ini में कई कैश संबंधी निर्देशों को बदल रहा है)।

तब मैंने वेब वेबग्रिंड का इस्तेमाल किया और समस्या को "नए पीडीओ (...)" कॉल को संकुचित कर दिया। बदलना

mysql:host=localhost;dbname=dp-ui;charset=utf8 

सेवा मेरे

mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8

पीडीओ के लिए डीएसएन में पूरी तरह से समस्या हल हो गई! पेज लोडिंग समय 3000 एमएस से 16 एमएमएस तक चला गया

हालांकि मैं वास्तव में उलझन में हूं कि होस्ट फ़ाइल में "127.0.0.1 लोकलहोस्ट" लाइन क्यों मदद नहीं करती है।


19
2017-11-01 11:51



क्या कोई मुझे बता सकता है कि इसे किस फाइल को संपादित करने के लिए संपादित करना चाहिए? - Giri
आपको उस लाइन को संपादित करना चाहिए जहां आप डेटाबेस से कनेक्ट हो रहे हैं (आपकी PHP स्क्रिप्ट में)। जैसे रेखा बदलें: $link = new PDO('mysql:host=localhost;dbname=dp-ui;charset=utf8'); सेवा मेरे $link = new PDO('mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8'); - michalko
मैं हाल ही में एक एक्सटी-जेएस एप्लिकेशन पर काम कर रहा था और प्रतिक्रिया के लिए बहुत लंबा समय लेते हुए MYSQL डेटा प्रश्नों की एक बड़ी समस्या है। MYSQL मूल रूप से बहुत धीमी थी। शुभकामनाएं, यहां जवाब मिला ..... बस मेरे होस्ट को कनेक्शन स्क्रिप्ट में बदल दिया: होस्ट = localhost; होस्ट करने के लिए = 127.0.0.1 मेरा सर्वर प्रतिक्रिया 3min (180secs) से कम 1 सेकंड तक चला गया। बहुत बहुत धन्यवाद। - user184985
यह मेरी समस्या हल हो गई। अजीब ... मैंने SQLite में उस समस्या को नहीं देखा - Mladen Janjetovic
मेरे लिए भी, लेकिन सिर्फ वर्डप्रेस के लिए। Wp-config.php में "127.0.0.1" के साथ "localhost" को प्रतिस्थापित करना था - Adrian


मुझे एक ही समस्या थी और आखिर में पता चला कि यह दो तथ्यों से आ रहा था:

  1. मैं मैक ओएस एक्स Mavericks का उपयोग करें
  2. मैंने यूआरएल के माध्यम से अपनी परियोजना का उपयोग किया http://myproject.local/ क्योंकि मैंने एक रेखा डाली 127.0.0.1 myproject.local में /etc/hosts

समस्या प्रकट होती है क्योंकि .local टीएलडी बोनजोर सेवा के लिए आरक्षित है, और यह मैक ओएस एक्स शेर (10.7) के बाद से है।

किसी और चीज के लिए tld को बदलने से समस्या ठीक हो गई।


6
2018-06-24 13:26





आपके में httpd.conf सेटिंग सेट करना सुनिश्चित करें HostnameLookups Off


4
2017-09-17 18:16



मुझे apache.conf फ़ाइल प्रतीत नहीं होती है, मैंने सभी फ़ाइलों में HostnameLookups निर्देश की खोज की है और मैंने इसे core.html.en मैन्युअल फ़ाइल में पाया है। यह कहा जाता है कि यह डिफ़ॉल्ट रूप से बंद है, इसलिए मुझे लगता है कि यह बंद है - Peter Perháč


अगर जांच /etc/hostsसही है। ऐशे ही:

# hostname mobrglnx1 added to /etc/hosts by anaconda

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 *****

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 *******

जगह में **** अपना होस्टनाम दें।


4
2018-01-10 09:24



यह मेरे लिए मामला था। मेरा डोमेन ipv4 लाइन में सेट किया गया था, लेकिन ipv6 में नहीं। - Rafael Beckel
मेरे लिए भी ऐसा। मैंने / etc / hosts में अतिरिक्त पंक्ति डालने से पहले अनुरोधों को 5 सेकंड लिया। अब मेरी सामग्री ~ 0.1 सेकंड में चलती है। - mwallisch


अगर यह किसी की मदद करता है, तो मुझे यह समस्या थी और यह होने के लिए उबला हुआ था गलत DNS लुकअप

सर्वर पर DNS सर्वर पर सेट किया गया था 127.0.0.1 - मैंने इसे Google सार्वजनिक DNS सर्वर का उपयोग करने के लिए बदल दिया, और इससे इसे पूरी ढेर तेज कर दिया गया।


3
2018-02-20 23:35





प्रश्न में टैग अपाचे-2.2 है, लेकिन अगर कोई इस घृणित मुद्दे से भी प्रभावित होता है Apache 2.4 + PHP 5.5 के साथ WAMP, एसओ पर निम्नलिखित उत्तर मेरे लिए चाल है:

संपादित करें httpd.conf और सीजीआई मॉड्यूल के लोडिंग को अक्षम करें    टिप्पणी यह रेखा: LoadModule cgi_module modules/mod_cgi.so

https://stackoverflow.com/a/18786773/260080


1
2017-11-21 13:32