का उपयोग करता है हम एक मध्यम आकार की साइट चलाते हैं जो दिन में कुछ सौ हजार पृष्ठदृश्य प्राप्त करता है। पिछले सप्ताहांत तक हम वर्चुअल मशीन पर आमतौर पर 0.2 से नीचे लोड के साथ भाग गए। ओएस उबंटू है।अपाचे अत्यधिक CPU
हमारे आवेदन के नवीनतम संस्करण को तैनात करते समय, हमने तैनाती से पहले एक अपतटीय डिस्ट-अपग्रेड भी किया। हमने तैनात किए जाने के बाद हमने देखा कि सीपीयू पर लोड नाटकीय रूप से बढ़ गया था (कभी-कभी 10 तक पहुंचता है और पृष्ठ अनुरोधों का जवाब देने के लिए रोकता है)।
हमने PHP से Xdebug प्रोफाइलिंग डेटा के पूर्ण मिनट को डंप करने का प्रयास किया, लेकिन इसके माध्यम से देखकर कुछ हद तक धीमे हिस्सों को पता चला, लेकिन भारी कूद को समझाने के लिए कुछ भी नहीं।
अब हम निश्चित हैं कि हमारी वेबसाइट के नए संस्करण में कुछ भी समस्या को ट्रिगर नहीं कर रहा है, लेकिन हमारे पास यह सुनिश्चित करने का कोई तरीका नहीं है। हमने बहुत सारे बदलावों को वापस ले लिया है, लेकिन समस्या अभी भी बनी हुई है।
प्रक्रियाओं को देखते समय, हम देखते हैं कि एकल अपाचे प्रक्रियाएं सख्ती से आवश्यक समय की तुलना में काफी समय तक CPU का उपयोग करती हैं। हालांकि, जब प्रभावित प्रक्रिया पर strace का उपयोग कर, हम कुछ भी लेकिन
accept(3,
कभी नहीं है और यह एक नया कनेक्शन प्राप्त करने से पहले कुछ समय के लिए लटका हुआ है, इसलिए हम वास्तव में क्या समस्या का कारण है नहीं देख सकता।
ढेर PHP 5, अपाचे 2 (prefork), MySQL 5.1 है। अधिकांश चीजें Memcached के माध्यम से चलाते हैं। हमने एपीसी और ई एक्सेलेरेटर की कोशिश की है।
तो, हमारा अगला कदम क्या होना चाहिए? क्या कोई प्रोफाइलिंग विधियां हैं जिन्हें हमने अनदेखा/नहीं किया है?
किस संस्करण से आपने सिस्टम को अपग्रेड किया था? मेरा मतलब है ए) PHP, बी) अपाचे और सी) memcached। – Georgi
मेरे पास इसका लॉग इन नहीं है, दुर्भाग्य से। जहां तक मुझे पता है कि कोई उपयुक्त/योग्यता लॉग नहीं है। –