2014-07-21 11 views
6

डेटाबेस पर एक स्थानीय और अन्य दूरस्थ सर्वर स्थान पर है। फ्रेमवर्क - cakePHP Mysql: 5.1.71 - "दूरस्थ स्थान" पीएचपी संस्करण 5.5.14httpd - सीपीयू उपयोग 100% - माइस्क्ल सर्वर दूरस्थ स्थान

अब स्थानीय mysql डेटाबेस का उपयोग करते समय, CPU उपयोग, जबकि टॉप आदेश का उपयोग कर जाँच httpd अनुरोध के लिए सामान्य है।

हालांकि मैं दूरस्थ सर्वर डेटाबेस का उपयोग कर रहा हूं। सीपीयू उपयोग उसी पृष्ठ पर जाने के लिए 70% या कभी-कभी 100% तक जा रहा है।

बाद php.ini के लिए कुछ मुख्य सेटिंग्स और httpd.conf फ़ाइलों

php.ini

memory_limit = 128M 
max_input_time = 60 
post_max_size = 8M 

httpd.conf

<IfModule prefork.c> 
StartServers  8 
MinSpareServers 5 
MaxSpareServers 20 
ServerLimit  256 
MaxClients  256 
MaxRequestsPerChild 4000 
</IfModule> 

<IfModule worker.c> 
StartServers   4 
MaxClients   300 
MinSpareThreads  25 
MaxSpareThreads  75 
ThreadsPerChild  25 
MaxRequestsPerChild 0 
</IfModule> 

KeepAlive Off 
MaxKeepAliveRequests 100 
KeepAliveTimeout 15 

क्या कारण हो सकते हैं इस मामले में httpd के लिए उच्च CPU उपयोग।

किसी भी मदद की सराहना की जाएगी।

धन्यवाद सुधीर

उत्तर

0

मैं दो mysql सर्वर है कि इस तरह आंकी गया किया करते थे। मेरे पास कुछ स्क्रिप्ट्स होंगी जो कुछ चीजें करती थीं। कोई मुझे बताएगा कि कनेक्शन एक्शन कैसा दिख रहा था (समवर्ती सत्र कनेक्शन एन सर्वर) और लॉग इन करें। अगली बात सेवाओं के उपयोग की जांच करेगी और यदि दहलीज 70% तक पहुंच गई तो मैं कनेक्शन को मारना शुरू कर दूंगा और यह देखने के लिए खुद को कुछ ईमेल भेजूंगा कि यह सौदा क्या था।

यह पता चला कि आपके सामान्य उपयोग के दौरान जब आप लोगों को अपनी साइट ब्राउज़ करने वाले लोगों को देखने की उम्मीद करेंगे तो मेरे सर्वर को बोर्क कर रहा था)।

कुछ चीजें जिन्हें मैंने मारने के सत्रों के आस-पास कम करने के लिए किया था (जो ठंडा नहीं है)। मेरे डेटाबेस को सामान्यीकृत करना है, भारी उपयोग को देख रहे टेबल को दोहराएं। मैं फिर मरम्मत और reindex होगा।

मुझे यह भी एहसास हुआ कि कुछ चीजें कॉन्फ़िगर करने से परे थीं। हम अनावश्यकता बनाते हैं।

मुझे अपने MySQL सर्वर को दर्पण करना था और फिर उपयोगकर्ताओं को अनुरोध पैरामीटर के आधार पर रूट करना पड़ा।

आखिरकार मुझे एहसास हुआ कि मुझे कुछ बेहतर लोड संतुलन की आवश्यकता है और 4 MySQL सर्वर और लोड-बैलेंसर कम करने या ट्रैफिक को निर्देशित करने के साथ समाप्त हुआ है।

तो आपका दृष्टिकोण क्वेरी स्तर पर है और देखें कि आप वहां क्या कर सकते हैं, फिर आपका डीबी/टेबल रीफैक्टरिंग और रीइंडेक्स।

अगला समवर्ती कनेक्शन हत्या स्क्रिप्ट और उन लक्षित उपयोगकर्ताओं को लक्षित करें जो निष्क्रिय हैं और उन्हें कहीं भी रीडायरेक्ट करें या बस उन्हें क्लिप करें और अपनी साइट पर हेवीवेट्स के लिए रास्ता बनाएं।

मैंने समय के साथ बहुत सी चीजें की लेकिन इस तरह यह दिन में वापस शुरू हुआ।

आशा है कि यह सहायक है या कम से कम आप एक दृष्टिकोण के बारे में सोच रहे हैं

संबंधित मुद्दे