2011-01-07 10 views
7

वास्तव में इसकी जटिल जटिल:mysql सर्वर (localhost) से बहुत धीमा

सारांश: डीबी से कनेक्शन बहुत धीमा है।

पृष्ठ प्रतिपादन लगभग 10 सेकंड लेता है लेकिन पृष्ठ पर अंतिम विवरण एक गूंज है और पृष्ठ फ़ायरफ़ॉक्स में लोड होने पर मैं इसका आउटपुट देख सकता हूं (IE समान है)। Google क्रोम में आउटपुट तब दिखाई देता है जब लोडिंग समाप्त हो जाती है। लोडिंग समय लगभग ब्राउज़र में समान है।

डीबगिंग पर मुझे पता चला कि इसकी समस्या डीबी कनेक्टिविटी समस्या पैदा कर रही है। डीबी एक और मशीन पर था। आगे डीबग करने के लिए। मैंने अपनी स्थानीय मशीन पर डीबी तैनात किया .. इसलिए अब डीबी कनेक्शन 127.0.0.1 पर है लेकिन कनेक्टिविटी में अभी भी काफी समय लगता है।

इसका मतलब है कि यह मुद्दा एपीएसीई/PHP के साथ है और mysql के साथ नहीं है। लेकिन फिर मैंने अपने कोड को दूसरी मशीन पर तैनात किया जो डीबी से दूरस्थ रूप से जुड़ता है। और सबकुछ ठीक लगता है।

मूल रूप से आवेदन mod_rewrite की जोड़ी का उपयोग करता है .. लेकिन मैं सब .htaccess फ़ाइलें निकाल और धीमी गति से कनेक्टिविटी समस्या बनी हुई है ..

मैं अपने मशीन और इस्तेमाल किया डिफ़ॉल्ट सेटिंग्स पर एक और APACHE स्थापित। कनेक्शन अभी भी बहुत धीमा था।

मैं निम्नलिखित बयानों जोड़ा निष्पादन समय

$stime = microtime(); 
    $stime = explode(" ",$stime); 
    $stime = $stime[1] + $stime[0]; 

// my code -- it involves connection to DB 

    $mtime = microtime(); 
    $mtime = explode(" ",$mtime); 
    $mtime = $mtime[1] + $mtime[0]; 

    $totaltime = ($mtime - $stime); 
    echo $totaltime; 

उत्पादन 0,0631899833679

है, लेकिन फ़ायरबग नेट पैनल 10-11 सेकंड की कुल लोडिंग समय से पता चलता मापने के लिए। एक ही गूगल क्रोम के साथ मामला

मैं खिड़कियों को बंद करने की कोशिश की फ़ायरवॉल .. एकाधिक है .. कनेक्टिविटी अभी भी धीमी गति से

और मैं सिर्फ काफी कारण खोजने नहीं कर सकता है .. मैं कई DB सर्वर की कोशिश की है apaches .. कुछ भी काम नहीं कर रहा है .. किसी भी विचार क्या समस्या हो सकती है?

[संपादित करें]

कृपया अधिक जानकारी के लिए टिप्पणी अनुभाग के माध्यम से जाना। असल में मुझे लगता है कि मैं समाधान पाने के करीब आ रहा हूं। मूल रूप से मैं अपने स्वयं के ढांचे को विकसित करने पर काम कर रहा हूं जिसमें .htaccess फ़ाइलों के माध्यम से यूआरएल पुनर्लेखन शामिल है। मैंने कुछ सीएसएस और जेएस फाइलों को जोड़ा और मैंने देखा कि इन फ़ाइलों के लिए किसी भी अच्छे कारण (फ़ायरफ़ॉक्स में) के लिए कई अनुरोध भेजे जा रहे थे। मुझे लगता है कि समस्या कुछ हद तक CONTENT-LENGTH शीर्षलेख से संबंधित है क्योंकि फ़ायरफ़ॉक्स इस हेडर को प्राप्त नहीं करता है, इसलिए यह सामग्री के लिए प्रतीक्षा करता रहता है (और तब एक टाइमआउट हो सकता है) .. क्या ट्रांसफर-एन्कोडिंग के साथ इसका कोई संबंध नहीं है: खंडित?

+0

क्या आप पृष्ठ पर एक लिंक प्रदान कर सकते हैं? क्या आप निश्चित रूप से छवियों \ css \ js को जारी नहीं करते हैं, क्या आप उपरोक्त कोड के साथ पूरे पृष्ठ को लोड कर सकते हैं, बस इसे बहुत भीख मांगना शुरू करें, और बहुत अंत में खत्म करें। –

+1

बस एक नोट; 'माइक्रोटाइम (सत्य)' संख्या को μsecs के साथ एक फ्लोट के रूप में लौटाता है, ताकि आप अतिरिक्त से बच सकें। – Dan

+0

हाँ, यह छवियों या सीएसएस या जेएस नहीं है .. मैंने पृष्ठ से सब कुछ हटा दिया .. इसमें सिर्फ 2 गूंज स्टेटमेंट हैं .. एक निष्पादन समय को प्रतिबिंबित करने के लिए दूसरा एक डीबी – Ahmad

उत्तर

-2

तेजी से cgi

+3

लेकिन क्यों !? यह MySQL कनेक्ट समय को प्रभावित करता है – Hubro

0

सबसे पहले रेडहेरिंग भूल जाते हैं, php सीधे mysql से कनेक्ट होता है यह अपाचे का उपयोग नहीं करता है। .htaccess भी असंबंधित है।

क्या आप कोड प्रदान कर सकते हैं कि आप डीबी से कैसे कनेक्ट होते हैं? बेशक हम आपका पासवर्ड नहीं चाहते हैं।

क्या आप बस डीबी भाग से कनेक्ट करने का समय ले सकते हैं?

आप क्या प्रश्न पूछते हैं?

उनमें से प्रत्येक का समय। आपको समस्या के कारण कोड की वास्तविक रेखा को अलग करना होगा।

डीसी

+0

mysql_connnect (सर्वर, उपयोगकर्ता, पासवर्ड), भले ही मैं SQL SELECT क्वेरी लेता हूं, समय भी वही रहता है .. समस्या कनेक्शन के साथ है .. कम से कम मेरी राय में – Ahmad

+0

तो कनेक्शन समय क्या है? कभी धारणाएं न करें आप इसे कुछ अलग पा सकते हैं। – DeveloperChris

+0

mysql दिनांकित है और शायद कम से कम mysqli –

25

मैं पार्टी यहाँ करने के लिए देर हो रही है तेजी से cgi के माध्यम से php फ़ाइलें चलाने के लिए समस्या तय .. srisa .. बस बदली हुई अपाचे के लिए धन्यवाद, लेकिन मैं एक समाधान है इस पृष्ठ पर किसी भी भविष्य के आगंतुकों के लिए इस मुद्दे पर।

सीधे शब्दों में बदलने के लिए:

$link = mysqli_connect('localhost','username','password','db'); 

रहे हैं:

$link = mysqli_connect('127.0.0.1','username','password','db'); 

यह स्थानीय होस्ट पर की तुलना में 1000% की गति में सुधार होगा।

+1

धन्यवाद कि मेरी समस्या पूरी तरह हल हो गई है! – Sharpless512

+0

यह। है। सोना। –

+1

मैंने अभी इसे आज मारा। यह एक केस क्यों है? – Joshua