2008-12-16 12 views
6

मैं बस सबवर्जन के साथ शुरू/familar शुरू कर रहा हूं और सोच रहा था जो नेटवर्क पर सबवर्सन रिपॉजिटरी एक्सेस करते समय प्रोटोकॉल सर्वश्रेष्ठ प्रदर्शन फ़ाइल: // या svn: // देता है? यदि हम svn: // प्रोटोकॉल का उपयोग नहीं करते हैं, तो किसी भी फीचर पर गायब हो जाएगा जिसे हम फ़ाइल: // प्रोटोकॉल का उपयोग करके मिटगेट नहीं कर पाएंगे? हम सभी एक ही एनटी डोमेन & विंडोज एथ का उपयोग करने और एनटीएफएस/यूएनसी सुरक्षा का उपयोग करने की योजना पर हैं।सबवर्जन प्रोटोकॉल प्रदर्शन

टीआईए!

उत्तर

14

SVN बुक की सिफारिश की फ़ाइल का उपयोग नहीं है कि आप करते : एकाधिक उपयोगकर्ताओं

के लिए // प्रोटोकॉल

Choosing a Server Configuration:

अपने सभी उपयोगकर्ताओं के होने का सरल विचार से आकर्षित न हो फ़ाइल के माध्यम से सीधे एक भंडार का उपयोग करें: // यूआरएल। भले ही भंडार नेटवर्क शेयर के माध्यम से हर किसी के लिए आसानी से उपलब्ध हो, यह एक बुरा विचार है। यह उपयोगकर्ताओं को और भंडार के बीच सुरक्षा के किसी भी परतों को हटा: उपयोगकर्ता कर सकता है गलती से (या जानबूझकर) भ्रष्ट भंडार डेटाबेस, यह मुश्किल हो जाता है निरीक्षण के लिए भंडार ऑफ़लाइन लेने के लिए या उन्नयन, और यह फ़ाइल अनुमति समस्याओं की गड़बड़ी का कारण बन सकता ("एकाधिक रिपोजिटरी एक्सेस विधियों का समर्थन" नामक अनुभाग देखें। ध्यान दें कि यह भी कारणों से हम SVN के माध्यम से खजाने तक पहुँचने के खिलाफ चेतावनी दी है में से एक है + ssh: // URL-से एक सुरक्षा के दृष्टिकोण से, यह स्थानीय उपयोगकर्ताओं फ़ाइल द्वारा एक्सेस करने वाले के रूप में प्रभावी रूप से एक ही है: //, और यह सभी एक ही समस्याओं का खतरा पैदा कर सकते हैं यदि व्यवस्थापक सावधान

7

आप विंडोज प्रमाणन का उपयोग करने, http (s) प्रोटोकॉल का उपयोग, एक साथ अपाचे के साथ चाहते हैं नहीं है। यह सेट करना थोड़ा कठिन है, और जरूरी नहीं है, लेकिन प्रमाणीकरण के लिए मानक अपाचे प्रमाणीकरण विधियों का उपयोग करने की अनुमति देता है। विभिन्न विंडोज आधारित प्रमाणीकरण योजनाओं, या केर्बेरोस सहित।

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

+0

मैं पूरी तरह से सहमत हूं। –

+0

एक बार जब आप प्रोटोकॉल स्पीड इफेक्ट देखेंगे तो एक एसवीएन पेड़ को अद्यतन, जांच या निर्यात करते समय होगा। –

+0

ओह, और जब कोई प्रतिबद्धता (मैं एसवीएन का सबसे महत्वपूर्ण कार्य कैसे भूल सकता हूं ??) –

0

पॉल डी वीरीज़ कहते हैं कि एसवीएन द्वारा उपयोग किए जाने वाले प्रोटोकॉल को अन्य कारकों के रूप में प्रदर्शन को प्रभावित नहीं किया जा रहा है। यदि आप एक छोटे से स्थानीय क्षेत्र नेटवर्क पर हैं तो एसवीएन प्रोटोकॉल आपके लिए संतोषजनक हो सकता है। अन्य सभी मामलों में यह अपाचे के साथ HTTP: // का उपयोग करने के लिए सबसे अच्छा प्रतीत होता है। मैं लैन पर रहा हूं जहां एसवीएन का प्रदर्शन: // इंटरनेट से HTTPS: // कनेक्शन से भी बदतर है।

तुम भी मिलेगा अपाचे शायद सुरक्षा के मामले में एक अधिक प्रबंधनीय समाधान भी, या SVN भंडार को देखने है।

5

एक चेकआउट/SVN से अधिक अद्यतन: // लगभग http (s) से अधिक की तुलना में 4-12 गुना तेजी से है: //। कारक फाइलों/फ़ोल्डर्स और फ़ाइल आकार की संख्या पर निर्भर करता है। अपाचे बहुत छोटी फाइलों पर बहुत धीमी है क्योंकि प्रत्येक फ़ाइल एक पूर्ण http-request-प्रतिक्रिया चक्र है। कछुए में आप आसानी से गति ड्रॉप देख सकते हैं:

बड़ी जावा परियोजनाओं को चेकआउट करें यदि आप एक विशाल .jar स्थानांतरित करते हैं, तो स्थानांतरण जा रहा है, स्रोत जावा फाइलें प्राप्त करने और पैकेज संरचना बनाने पर, यह गिर जाएगी।

भी महत्वपूर्ण है कि SVN चेकआउट निर्यात SVN से ग्राहक पर धीमी है और (जावा) भी ग्रहण कछुआ/सीएमडी तुलना में बहुत धीमी है।

1

मैं दूसरों कि svn से सहमत: // दूर दूर तेजी से तो http: //।ऐसा कहा जा रहा है, मैं अपने भंडारों पर http: // का उपयोग करता हूं क्योंकि मुझे mod_authz_svn की एक्सेस कंट्रोल फ़ाइल पसंद है और मैंने अभी तक 1.5 तक अपग्रेड नहीं किया है।

चूंकि मेरा मुख्य भंडार विशाल है, इसलिए हम svn: // को केवल पढ़ने के रूप में चलते रहते हैं। मैं उपयोगकर्ताओं को सुझाव देता हूं कि आपका प्रारंभिक चेकआउट svn: // के रूप में बनाना है, फिर इसे svn relocate का उपयोग http: // url को प्रतिबद्ध करने के लिए करें। Svn: // पर अपडेट हमारे लिए स्वीकार्य समय में चलाते हैं।

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