git - लिनक्स की तुलना में खिड़कियों में गिट क्लोन बहुत धीमी है




networking github (2)

मैं विंडोज़ पर जिथब से बेहद धीमी क्लोन गति के साथ एक समस्या का पीछा कर रहा हूं। लिनक्स (काली) में यह समस्या नहीं है।

मैं 100/40 मेगाबिट / एस डाउन कनेक्शन पर हूं। मैं करीब 8 एमबी / एस डाउनलोड कोई समस्या नहीं प्राप्त कर सकते हैं।

मैंने अपने पीसी को बिना किसी राउटर या स्विच के सीधे हमारे इंटरनेट आउटलेट में प्लग किया है।

विंडोज गिट क्लोन (विंडोज 10, गिट 2.14.1) लगातार 150-210 केबी / एस पर लगातार डाउनलोड करता है

मैंने एक ही समस्या के साथ एक और विंडोज 7 और विंडोज 10 मशीन की कोशिश की है। मैंने एक ही मुद्दे के साथ एक विंडोज एक्सपी वीएम की कोशिश की है। मैंने 4 जी सेलुलर में अपना कनेक्शन बदल दिया है और गति वही है।

मैंने एक ही परिणाम के साथ जिथब दर्पण परीक्षण ( https://bitbucket.org/mirror/git.git ) की कोशिश की है।

मैंने गति में बदलाव के साथ एसएसएच और एचटीटीपीएस की कोशिश की है लेकिन अभी भी धीमी है।

मैंने धीमी रफ्तार के साथ अन्य जिथब दर्पणों को भी आजमाया है।

मैंने सिलिकॉन घाटी के माध्यम से एक वीपीएन (पीआईए) का उपयोग करने की कोशिश की है जो धीमी थी।

यदि मैं नेटवर्क कनेक्शन के साथ एक ही मशीन पर एक वीएम में काली लिनक्स का उपयोग करता हूं तो मुझे एसएसएच और एचटीटीपीएस दोनों का उपयोग करके बिटबकेट से ~ 8 एमबी / एस मिलता है।

यदि मैं विज़ुअल स्टूडियो टीम सेवाओं का निर्माण करता हूं जो बिल्ड एजेंट (विंडोज़) होस्ट करता है तो मुझे लगभग 60 एमबी / एस (संभवतः कैश किया जाता है?)

मैंने गिट बैश, उबंटू बैश (विंडोज़ 10), विंडोज सीएमडी, पावरहेल से एक ही धीमी रफ्तार के साथ गिट चलाने की कोशिश की है।

मैंने गिट स्थापित करते समय "ओपनएसएसएल लाइब्रेरी" और "मूल विंडोज सुरक्षित चैनल लाइब्रेरी" का उपयोग करने का प्रयास किया है।

मैंने बिना किसी अंतर के 2.14 से संस्करण 2.00 के रूप में कम डाउनग्रेड करने का प्रयास किया है।

मैं ऑस्ट्रेलिया में स्थित हूँ।

मैंने बिटबकेट समर्थन से बात की है और उन्होंने सुझाव दिया है कि एमएसएस / एमटीयू 1436 या उससे कम होना चाहिए। मेरा राउटर और पीसी 1500 तक डिफ़ॉल्ट है, हालांकि विंडोज़ में वायरशर्क का उपयोग करके मैं देख सकता हूं कि सभी पैकेट में 1436 का एमटीयू है।

काली लिनक्स में टीसीपीडम्प का उपयोग करके मैं 1436 का एमटीयू भी देखता हूं।

संक्षेप में मैंने निम्नलिखित चीजों को बदल दिया है: विभिन्न पीसी / वीएम विंडोज़ के विभिन्न संस्करण विभिन्न भौतिक नेटवर्क कनेक्शन।

मुझे या तो विंडोज़ में 200kb / s अधिकतम मिलता है, या मुझे लिनक्स में 8 एमबी / एस अधिकतम मिलता है।

लिनक्स और विंडोज गिट कार्यान्वयन के बीच विशेष रूप से अलग क्या है जिससे गति में अंतर भिन्न हो सकता है?

संपादित करें: यदि गिट धीमी नेटवर्क शेयर का उपयोग कर रहा था (इस बारे में अन्य प्रश्नों को देखा) मैंने अपने स्थानीय क्लोन का उपयोग करके एक सीपी-आर करने की कोशिश की और मुझे लगभग उसी तरह से 1 जीबी / एस ट्रांसफर की गति (RAID 0 एसएसडी) मिलती है जैसे कि मेरे रास्ते में गिट विन्यास

संपादित करें: अगर मैं अपने काली वीएम में नेटवर्क को पुल करता हूं तो मुझे 8 एमबी / एस मिलती है, अगर मैं एनएटी का उपयोग करता हूं तो मुझे 200kb / s मिलता है यह इंगित करता है कि यह समस्या के कारण गिट क्लाइंट की बजाय विंडोज़ के माध्यम से https के साथ कुछ करना है। क्या यह मदद करता है?

2 संपादित करें: ऐसा लगता है कि विंडोज़ के माध्यम से सभी एचटीटीपीएस ट्रैफिक 200kb / s पर कैप्ड किया गया है, यह एक विंडोज़ समस्या है जो गिट समस्या नहीं है। मैं एक नया सवाल शुरू करूंगा।

https://superuser.com/questions/1244551/https-traffic-40x-slower-than-http-in-windows-10-x64


(उदाहरण के लिए) PortableGit-2.14.1-64-bit.7z.exe को आज़माएं और अन-संपीड़ित करें C: \ git2.14.1

फिर, एक सीएमडी (बैश नहीं) में, टाइप करें:

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set GH=C:\git2.14.1
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH%

उस सत्र में, आपका पाथ केवल विंडोज और गिट का संदर्भ देगा।

यह देखने के लिए कि गति अभी भी कैप्ड की गई है, फिर से एक गिट क्लोन आज़माएं।

यदि यह ओपी टिप्पणी के रूप में करता है, तो विंडोज नेटवर्किंग गलती है
ओपी ने अपने दूसरे प्रश्न में यही पाया।
और यह कि " विंडोज 10 में विंडो ऑटो-ट्यूनिंग " में क्या समझाया गया है

रिसीव विंडो ऑटो-ट्यूनिंग सुविधा ऑपरेटिंग सिस्टम को नियमित रूप से बैंडविड्थ, नेटवर्क विलंब और एप्लिकेशन विलंब जैसी रूटिंग स्थितियों की निगरानी करने देती है। इसलिए, ऑपरेटिंग सिस्टम नेटवर्क प्रदर्शन को अधिकतम करने के लिए टीसीपी प्राप्त विंडो को स्केल करके कनेक्शन कॉन्फ़िगर कर सकता है।

इष्टतम प्राप्त विंडो आकार निर्धारित करने के लिए, प्राप्त विंडो ऑटो-ट्यूनिंग सुविधा उन उत्पादों को मापती है जो बैंडविड्थ में देरी करते हैं और एप्लिकेशन दरों को पुनर्प्राप्त करते हैं। फिर, प्राप्त विंडो ऑटो-ट्यूनिंग सुविधा किसी भी अप्रयुक्त बैंडविड्थ का लाभ उठाने के लिए चल रहे संचरण के प्राप्त विंडो आकार को अनुकूलित करती है।

विंडो ऑटो-ट्यूनिंग सुविधा की डिफ़ॉल्ट सेटिंग्स को सक्षम करने दें। यदि आपका नेटवर्क पुराने राउटर का उपयोग करता है या आपका फ़ायरवॉल सॉफ़्टवेयर इस सुविधा का समर्थन नहीं करता है, और आप खराब या कोई कनेक्टिविटी समस्याएं अनुभव नहीं कर रहे हैं, तो तभी आप इस सुविधा को अक्षम कर सकते हैं और देख सकते हैं कि यह आपके पक्ष में काम करता है या नहीं।

जैसा कि माइक्रोसॉफ्ट ब्लॉग पोस्ट में बताया गया है:

कुछ भ्रम एक ब्लॉग पोस्ट की गलत व्याख्या से उत्पन्न हो सकते हैं जो निम्न आदेश के साथ हेरिस्टिक को अक्षम करने का सुझाव देता है:

netsh interface tcp set heuristics disabled

हेरिस्टिक एक ऐसी सुविधा है जो ऑटो-ट्यूनिंग में हस्तक्षेप कर सकती है और इसे अक्षम करने से इंटरनेट की गति में सुधार हो सकता है और असल में हेरिस्टिक पहले ही विंडोज 8.1 और इससे अधिक अक्षम हो चुके हैं।
दूसरी तरफ ऑटो-ट्यूनिंग को कभी भी अक्षम नहीं किया जाना चाहिए


एनटीएफएस फाइल सिस्टम में बहुत सी छोटी फाइलें बनाते समय शायद आप तेजी से प्रदर्शन नहीं कर रहे हैं; इसका आपके इंटरनेट कनेक्शन से कोई लेना-देना नहीं है।

तकनीकी विवरणों में बहुत गहराई से जाने के बिना, हजारों छोटी फाइलों (आमतौर पर जो आप एक जीआईटी रेपो में देखते हैं) के साथ काम करते समय एनटीएफएस बेहद inefficient , आप शायद कुछ एनटीएफएस विकल्पों को ट्वीव करके प्रदर्शन बढ़ा सकते हैं , वैसे भी वाईएमएमवी।

शायद यह पुष्टि करने के लिए कि यह एक फ़ाइल सिस्टम प्रदर्शन समस्या है, आप एक रैम डिस्क बना सकते हैं जिसमें रेपो क्लोन किया गया हो।





bitbucket