2012-09-27 8 views
9

मैं एक आवेदन से पाइप अत्यंत उच्च गति डेटा के लिए कोशिश कर रहा हूँ एक और का उपयोग कर 64-बिट CentOS 6. मैं dd का उपयोग कर कि पाइप मुझे मेरे कार्यक्रम में एल्गोरिथ्म पकड़े हुए हैं आगे और नहीं की खोज के लिए निम्न मानक किया है। मेरा लक्ष्य लगभग 1.5 जीबी/एस प्राप्त करना है।क्या लिनक्स पाइप के प्रदर्शन में सुधार करने का कोई तरीका है?

पहले, पाइप के बिना:

dd if=/dev/zero of=/dev/null bs=8M count=1000 
1000+0 records in 
1000+0 records out 
8388608000 bytes (8.4 GB) copied, 0.41925 s, 20.0 GB/s 

इसके बाद, दो dd प्रक्रियाओं के बीच एक पाइप:

dd if=/dev/zero bs=8M count=1000 | dd of=/dev/null bs=8M 
1000+0 records in 
1000+0 records out 
8388608000 bytes (8.4 GB) copied, 9.39205 s, 893 MB/s 

वहाँ किसी भी तोड़ मरोड़ मैं गिरी वरना कि के प्रदर्शन में सुधार होगा कुछ भी करने के लिए कर सकते हैं कर रहे हैं एक पाइप के माध्यम से डेटा चल रहा है? मैंने पाइप नाम भी करने की कोशिश की है, और इसी तरह के परिणाम प्राप्त हुए हैं।

उत्तर

5

आप छोटे ब्लॉकों के साथ करने की कोशिश की है?

मैं लगातार सुधार ध्यान दें जब ब्लॉक आकार को कम मैं अपने खुद के कार्य केंद्र पर का प्रयास करते हैं। यह केवल मेरे परीक्षण में 10% के दायरे में है, लेकिन अभी भी एक सुधार है। आप 100% की तलाश में हैं।

मैंने कोशिश की

dd if=/dev/zero bs=32k count=256000 | dd of=/dev/null bs=32k 
256000+0 records in 
256000+0 records out 
256000+0 records in 
256000+0 records out 
8388608000 bytes (8.4 GB) copied8388608000 bytes (8.4 GB) copied, 1.67965 s, 5.0 GB/s 
, 1.68052 s, 5.0 GB/s 

और अपने मूल

dd if=/dev/zero bs=8M count=1000 | dd of=/dev/null bs=8M 
1000+0 records in 
1000+0 records out 
1000+0 records in 
1000+0 records out 
8388608000 bytes (8.4 GB) copied8388608000 bytes (8.4 GB) copied, 6.25782 s, 1.3 GB/s 
, 6.25203 s, 1.3 GB/s 

5,0/1,3 = 3,8 के साथ:

यह आगे की जांच के पता चला है के रूप में, वास्तव में छोटे ब्लॉक आकार चाल करने के लिए लग रहे हैं तो यह एक बड़ा कारक है।

+1

इस पता लगाना के लिए धन्यवाद! मैंने कुछ अतिरिक्त अनुवर्ती परीक्षण किए और पाया कि यह वास्तव में केवल लिखने की गति है जो मायने रखता है। – KyleL

+0

आईएमओ, प्रश्न प्रश्न पाठ और न ही उत्तर से मेल खाता है। मैं खुद को वास्तविक प्रश्न का उत्तर जानना चाहता हूं। : डी –

संबंधित मुद्दे