तो मैं विजुअलVM के साथ अपने आवेदन को प्रोफाइल कर रहा था।विजुअलVM सॉकेट.read
मैंने अपने MySQL इंटरैक्शन के बारे में एक हॉटस्पॉट मारा। मेरा पहला विचार था कि गर्म स्थान समय दिखा रहा था कि मेरा आवेदन आईओ के बाद इंतजार कर रहा था। लेकिन प्रोफाइलिंग रिपोर्ट में, विजुअलVM में दो कॉलम "टाइम" और "टाइम (सीपीयू)" हैं। हो सकता है कि इस शब्द का गलत इस्तेमाल किया गया हो, लेकिन मुझे लगता है कि आत्म-समय (सीपीयू) कॉलम आईओ समय को छोड़ रहा था। अधिक डिबगिंग के बाद, हमने निष्कर्ष निकाला कि धारणा गलत थी और आईओ समय दिखा रहा था क्योंकि हॉटस्पॉट java.net पर था। MySQL ड्राइवर और अन्य आईओ चीजों काocketInputStream.read() जो किसी भी cpu की लागत नहीं लेनी चाहिए।
तो, मेरा सवाल यह है कि Visualvm सॉकेटइनपुटस्ट्रीम.read() को cpu समय के रूप में क्यों रिपोर्ट करता है?
शायद कुछ व्यस्त प्रतीक्षा है, उदा। लूप में 'उपलब्ध() 'को कॉल करना? –
मेरी गलती क्षमा करें। यह java.net पर था। सॉकेटइनपुटस्ट्रीम.read() – plcstpierre