मेरे पास एक जावा एप्लिकेशन है जो कुछ यूडीपी मल्टीकास्ट फ़ीड्स में सुनने के लिए कुछ मल्टीकास्ट सॉकेट उदाहरणों का उपयोग करता है। इस तरह की प्रत्येक सॉकेट को समर्पित धागे से संभाला जाता है।
थ्रेड प्रत्येक डेटाग्राम को पढ़ता है, इसकी सामग्री को पार करता है और पैकेट के अनुक्रम आईडी (लंबा) लॉग (लॉग 4j) और डेटाग्राम प्राप्त करने वाला टाइमस्टैम्प लिखता है।जावा - विंडोज सर्वर 2008 पर मल्टीकास्ट सॉकेट समस्याएं
जब मैं एक Windows Server 2008 R2, 2 * 6 कोर के साथ पर एक ही आवेदन के 2 उदाहरणों चलाने के लिए और 2 एप्लिकेशन द्वारा बनाए गए 2 लॉग तुलना करने की कोशिश, मैं ध्यान दें कि अक्सर पैकेट के समय वही नहीं है
अधिकांश पैकेट एक ही समय (Milis) में 2 एप्लिकेशन द्वारा प्राप्त कर रहे हैं, लेकिन अक्सर वहाँ 2 एप्लिकेशन द्वारा एक ही पैकेट के स्वागत के समय के बीच 1-7ms के बारे में भिन्नता की एक अंतर है।
मैंने एनआईसी में अधिक बफर आवंटित करने का प्रयास किया, और सॉकेट को बफर बड़ा भी बनाया। इसके अलावा मैंने जीसी रनों को कम करने की कोशिश की और मैं भी -verbose: gc का उपयोग करता हूं और देख सकता हूं कि जीसी टाइम्स और समस्याग्रस्त समय भिन्नता एक ही समय में नहीं होती है। यह मुझे यह मानने की अनुमति देता है कि मेरी समस्या जीसी से संबंधित नहीं है।
कोई ड्रॉप पैकेट समस्या नहीं देखी गई थी, और बैंडविड्थ समस्या की संभावना नहीं है।
विचार/राय का स्वागत है। धन्यवाद।
AFAIK ओएस इंटरप्ट आवृत्ति 1 प्रति 10ms है, इस प्रकार ओएस उस समय से अधिक समय सटीक की गारंटी नहीं दे सकता है। –