मुझे पता है कि यह क्या करता है ... मुझे लगता है कि मैं उत्सुक हूं कि यह एक आवेदन में एक समस्या को ठीक कर रहा है जो मुझे विरासत में मिला है। मैंने काफी बड़े टॉमकैट एप्लिकेशन को संभाला, जो कि फ्लेक्स क्लाइंट्स के एक समूह के लिए Red5 सर्वर के रूप में काम करता है, और वास्तविक समय के इंटरैक्शन डेटा का एक बहुत संभालता है, जो अंततः एक रेल एपी के लिए फ्लश हो जाता है। यह मुद्दा समय के साथ लोड के तहत चल रहा था, इन ग्राहकों की प्रतिक्रिया 3-400 एमएस तक बढ़ रही थी, जहां आमतौर पर यह <100 एमएस था। ग्राहक को शक था कि यह एक मेमोरी इश्यू है जिसकी हम कभी पुष्टि नहीं कर सकते। एक दिन एक स्टेजिंग सर्वर मैं अनुरोधों पर आधारिक रूप से लोड लेना बंद कर रहा था या बेहद धीमी गति से चल रहा था। जिस पर मैंने भेजा
sync && echo 3 > /proc/sys/vm/drop_caches
और जादुई रूप से सर्वर जीवन के लिए वापस आ गया और पूरी गति से इन कनेक्शनों की सेवा करने लगा। क्या यह संयोग था या यह व्यवहार समझ में आता है और क्यों?
sync
या सिर्फ कोशिश करें echo
। फिर यह पता लगाने की कोशिश करें कि सर्वर इस धीमे मामलों में धीमा क्यों है (क्या सीपीयू अधिकतम है? क्या आईओ अधिकतम है? सिस्टम पेजिंग है?)