कृपया, लिनक्स कर्नेल हैकर्स, सॉकेट या फ़ाइलों के लिए write(2)
syscall के लिए उचित बफर आकार क्या है, प्रदर्शन-वार? यह स्पष्ट है कि यह कुछ पेजिज़ेज़ एकाधिक है, लेकिन कौन सा? फर्क पड़ता है क्या? "बहुत छोटा" और "बहुत बड़ा" क्या है?दोनों सॉकेट और फ़ाइल की सिफारिश की गई बफर आकार
5
A
उत्तर
7
कितना बड़ा सहकर्मी के लिए अपने देरी, मान लीजिए कि आप एक 100MBps कनेक्शन, और 50ms की देरी है चलो है पर निर्भर करता है, तो आप की गणना कर सकते
100MBps * 0.050 sec/8 = 0.625MB = 625KB
लेकिन लिनक्स 2.6 में डिफ़ॉल्ट विंडो आकार के आसपास है 110kb, जो आपके सोचा 2.2MBps (110kb/0.050) हां, तो चारों ओर के लिए बाहर तक सीमित कर देगा तय करने के लिए कि आप कर सकते हैं आप setsockopt
int ret, sock, buf_size;
sock = socket(AF_INET, SOCK_STREAM, 0);
buf_size = 625*1024;
ret = setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&buf_size, sizeof(buf_size));
ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&buf_size, sizeof(buf_size));
संबंधित मुद्दे
- 1. अपलोड की गई फ़ाइल का आकार
- 2. आईफोन मैक्स सॉकेट बफर आकार
- 3. एएसपी.NET + MySQL। सिफारिश की?
- 4. प्लूपलोड - अपलोड की गई फ़ाइल
- 5. सी में कोड की कोशिश की गई और सही सरल फ़ाइल कॉपी?
- 6. अपलोड की गई फ़ाइल के प्रतिशत की गणना कैसे करें?
- 7. एक अपलोड की गई फ़ाइल को फ़ाइल
- 8. Git: फ़ाइल की गई सामग्री दिखाएं ऐसा
- 9. एसिंक सॉकेट कनेक्ट से रिपोर्ट की गई त्रुटि कैसा है?
- 10. अजगर फ़ाइल की तरह बफर वस्तु
- 11. सी ++ सॉकेट 256 बाइट बफर
- 12. Android MediaPlayer: डाउनलोड की गई मीडिया फ़ाइल
- 13. सॉकेट प्रोग्रामिंग के लिए एक अच्छा बफर आकार क्या है?
- 14. सिफारिश की दिनांक स्वरूप एपीआई
- 15. जावा: BufferedReader की रीडलाइन विधि की क्षमता और संभावित विकल्प
- 16. एक जेएस कैलेंडर विजेट की सिफारिश करें जो दिनांक और समय दोनों को संभालती है?
- 17. आईडीएल जेनरेट की गई हेडर फ़ाइल
- 18. रेल अपलोड की गई फ़ाइल एक्सेस करना और यह
- 19. सॉकेट और फ़ाइल डिस्क्रिप्टर
- 20. ऑडियो क्यूई ट्रिमिंग और बफर आकार
- 21. रिंग बफर आकार 2 की शक्ति क्यों होनी चाहिए?
- 22. अधिकतम बफर आकार
- 23. जावा में मेमोरी-मैप की गई फ़ाइलें
- 24. Boost.ASIO की सॉकेट क्लास
- 25. मेमोरी-मैप की गई फ़ाइल कितनी बड़ी हो सकती है?
- 26. ResXRersourcewriter जेनरेट की गई संसाधन फ़ाइल से designer.cs फ़ाइल बनाएं
- 27. एक स्केल की गई छवि का मूल आकार प्राप्त करना
- 28. बिट्ससेट हेरफेर के लिए अभ्यास की सिफारिश की जाती है?
- 29. गणना की गई होमोग्राफी
- 30. टेम्प्लेट की गई ऑपरेटर()
128 किलोबाइट से कम कुछ भी है, क्योंकि है कि क्या डिफ़ॉल्ट रूप से भेजने कतार में फिट बैठता है (जब तक आप सेटॉकटॉप के साथ खेलना नहीं चाहते) । – Damon
@ डैमन: मुझे यकीन नहीं है कि "कुछ भी" सही जवाब है। बफर को कम से कम गठबंधन किया जाना चाहिए। – Cartesius00
अधिकांश लोगों के लिए अधिकांश समय डिफ़ॉल्ट कार्य (यह मानना उचित है कि नेटवर्क स्टैक लिखने वाले लोग पूर्ण बेवकूफ नहीं हैं)। जब तक आपको नियमित रूप से बड़ी मात्रा में डेटा (वास्तव में विशाल) भेजने की आवश्यकता नहीं होती है और विलंबता पर कुछ सख्त बाधाएं होती हैं, तो आमतौर पर परेशान करने का कोई कारण नहीं होता है। कुछ भी जो "उचित" आकार है, उसे केवल प्रेषण बफर में कॉपी किया जाता है और भेजा जाता है, इससे कोई फर्क नहीं पड़ता कि यह कितना है। यदि यह सब ठीक नहीं होता है, तो 'लिखने' आपके द्वारा पूछे जाने वाले कार्यों से कम लिखेंगे (राशि वापस कर रहा है)। किसी भी मामले में, यह सिर्फ काम करता है। – Damon