हमारे ग्राहकों में से एक में एक नई समस्या है: एप्लिकेशन रुकने के लिए पीसता है। थ्रेड डंप से पता चलता है कि सभी धागे जेडीबीसी कॉल में नेटवर्क आईओ पर लटक रहे हैं।जेडीबीसी कनेक्शन लटकाना
हमने/मैंने इन नेटवर्क नेटवर्क IO को कभी नहीं देखा है। आम तौर पर एक धीमी मशीन डब्ल्यू/डीबी समस्याओं में से एक है) एक या दो लंबे समय से चलने वाले प्रश्न या बी) कुछ प्रकार के लॉक/डेडलॉक। इनमें से किसी भी मामले में धागे 'विभिन्न तरीकों से' हैंग '। मैंने नेटवर्क IO पर लटकने वाले सभी 30+ धागे कभी नहीं देखा है।
नीचे मैंने थ्रेड डंप से एक अंश शामिल किया है। सभी HTTP थ्रेड उसी java.net.SocketInputStream.read
कॉल पर लटक रहे हैं।
मैंने उनके डीबीए और sysadmin से बात की। उनके अनुसार हाल ही में पर्यावरण में 'कुछ भी नहीं बदला है' जो इस समस्या का कारण बन जाएगा।
db पर्यावरण
MSSQL 2005 64-बिट सर्विस पैक 2 चालक: sqljdbc.jar: 1,0 809 102
नोट: वे एक पुराने JDBC ड्राइवर चल रहे हैं। AFAIK उन्होंने 1.0 से 1.2 ड्राइवर तक अपग्रेड करने का प्रयास किया लेकिन कुछ और समस्या थी।
अन्य पर्यावरण के मुद्दों
वे दोनों अनुप्रयोग सर्वर और VMWare वी एम के दशक में डाटाबेस सर्वर चला रहे हैं। मुझे नहीं पता कि यह सेटअप नेटवर्क प्रदर्शन को कैसे प्रभावित करता है।
स्पष्ट रूप से यह इस समस्या के साथ एकमात्र एप्लिकेशन है। मैं उनके नेटवर्क आर्किटेक्चर के बारे में कुछ और नहीं जानता।
प्रश्न * इस समस्या पर कोई अंतर्दृष्टि? * यदि यह नेटवर्क है, तो विश्लेषण के लिए कोई अगला कदम?
परिशिष्ट A: थ्रेड से अंश डंप
सभी HTTP कनेक्शन एक ही विधि पर लटका कर रहे हैं:
"TP-Processor31" daemon prio=5 tid=0x04085b78 nid=0x970 runnable [0x0764d000..0x0764fd6c] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source) at com.microsoft.sqlserver.jdbc.IOBuffer.sendCommand(Unknown Source) - locked (a com.microsoft.sqlserver.jdbc.DBComms) at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteQuery(Unknown Source)
मैंने इस तरह की चीजें देखी हैं यदि कनेक्शन मूर्खतापूर्ण एनएटी गेटवे – nos