मैं कैसे गति कर सकता हूं: docker run और docker exec आदेश?
रनिंग कमांड 0.02 एस उपयोगकर्ता समय लेता है, 0.02 एस एसआईएस समय (जो मेरे मामले में ठीक होगा), लेकिन लगभग 0.5 एस वास्तविक समय प्रत्येक (स्वीकार्य नहीं) ।
उदाहरण के लिए:
$ time sudo docker run --cap-add SYS_ADMIN -i -t --memory=100000k --memory-swap=100000k -d -w /tmp -v /home/asd:/tmp my_image187d****5037sudo docker run --cap-add SYS_ADMIN -i -t --memory=100000k -d -w /tmp -v 0,02s user 0,02s system 6% cpu 0,496 total
क्या मैं किसी तरह कंटेनर चलाने की प्रक्रिया को तेज कर सकता हूं या कम से कम समझ सकता हूं कि यह समय क्यों बर्बाद हुआ है?
my_image से बनाया गया है ubuntu और निर्मित छवि लगभग 800 एमबी लेती है । लेकिन मैंने जो जाँच की उससे यह बहुत अधिक मायने नहीं रखता है - आकार की छवि को 200 एमबी तक कम करने से उपरोक्त कमांड का निष्पादन समय नहीं बदलता है ।
ओवरहेड समय नामस्थानों को बनाने और हटाने में सबसे अधिक खर्च किया जा रहा है । जहां समय बिताया जाता है, वहां काम करने के लिए, आप अपने कंटेनर को विभिन्न तरीकों से चला सकते हैं ।
सबसे पहले, समाप्त sudo कमांड. रूट के रूप में लॉगिन करें, sudo -s, और वहां से कमांड चलाएं।
अगला रन को अलग-अलग बनाने और चरणों को शुरू करने का प्रयास करें । यह आपको बताएगा कि कंटेनर बनाने या इसे चलाने में समय व्यतीत होता है या नहीं:
चूंकि आप अपने कंटेनर को अलग करते हैं, इस बात पर विचार करें कि क्या आप टीटीई आवंटन को हटा सकते हैं, और यदि आपको स्टडिन कॉन्फ़िगर करने की आवश्यकता है, तो हटाकर -it:
$ time sudo docker run --cap-add SYS_ADMIN -d \ --memory=100000k --memory-swap=100000k \ -w /tmp -v /home/asd:/tmp my_image
उसके बाद, आप यह देखना शुरू कर सकते हैं कि नेटवर्क और पीआईडी जैसी चीजों के लिए प्रत्येक नामस्थान को मौजूदा होस्ट नेमस्पेस पर सेट करके उन्हें अक्षम करके कितना समय जोड़ा जाता है: