फ़ाइल डेटाबेस बाधाओं से कैसे बचें (हाल के अनुभव से)। फ़ाइल-आधारित मंदी - कैसे बचें (हालिया अनुभव से) फ़ाइल-आधारित संस्करण नेटवर्क पर 1C 8.3 धीमा कर देता है

2. कार्यक्रम की विशेषताएं. अक्सर, इष्टतम सेटिंग्स के साथ भी, 1C बहुत धीमी गति से काम करता है। प्रदर्शन विशेष रूप से तेजी से गिरता है जब डेटाबेस के साथ एक साथ काम करने वालों की संख्या 4-5 उपयोगकर्ताओं से अधिक हो जाती है।

आप कंपनी में कौन हैं?

धीमे 1सी संचालन की समस्या का समाधान इस बात पर निर्भर करता है कि आप कंपनी में कौन हैं। यदि आप तकनीकी विशेषज्ञ हैं, तो बस आगे पढ़ें। यदि आप निदेशक या लेखाकार हैं, तो विशेष लिंक ↓ का अनुसरण करें

नेटवर्क बैंडविड्थ

एक नियम के रूप में, एक नहीं, बल्कि कई उपयोगकर्ता एक सूचना आधार (आईएस) के साथ काम करते हैं। साथ ही, जिस कंप्यूटर पर 1सी क्लाइंट स्थापित है और जिस कंप्यूटर पर सूचना सुरक्षा स्थित है, उसके बीच डेटा का निरंतर आदान-प्रदान होता है। इस डेटा की मात्रा काफी महत्वपूर्ण है. ऐसी स्थिति अक्सर उत्पन्न होती है जब 100 Mbit/s की गति पर चलने वाला एक स्थानीय नेटवर्क, जो कि सबसे सामान्य गति है, लोड का सामना नहीं कर पाता है। और फिर से उपयोगकर्ता प्रोग्राम धीमा होने की शिकायत करता है।

इनमें से प्रत्येक कारक व्यक्तिगत रूप से पहले से ही कार्यक्रम की गति को काफी कम कर देता है, लेकिन सबसे अप्रिय बात यह है कि आमतौर पर ये चीजें बढ़ती हैं।

आइए अब 10 मध्यम आकार के कंप्यूटरों के स्थानीय नेटवर्क के उदाहरण का उपयोग करके कम 1C गति की समस्या और उनकी लागत के कई समाधान देखें।

समाधान एक. बुनियादी ढांचे का आधुनिकीकरण

यह शायद सबसे स्पष्ट समाधान है. आइए इसकी न्यूनतम लागत की गणना करें।

कम से कम, प्रत्येक कंप्यूटर के लिए हमें 2 जीबी रैम स्टिक की आवश्यकता होती है, जिसकी कीमत औसतन 1,500 रूबल होती है, 1 जीबीपीएस की गति का समर्थन करने वाले नेटवर्क कार्ड की लागत लगभग 700 रूबल होती है। इसके अतिरिक्त, आपको कम से कम 1 राउटर की आवश्यकता होगी जो 1 Gbit/s की गति का समर्थन करता हो, जिसकी लागत लगभग 4,000 रूबल होगी। कुल लागत - उपकरण के लिए 26,000 रूबल, काम को छोड़कर।

सिद्धांत रूप में, गति काफी बढ़ सकती है, हालाँकि, अब कार्यालय के लिए सस्ते कंप्यूटर खरीदना संभव नहीं है। इसके अलावा, यह समाधान उन लोगों के लिए लागू नहीं है जो वाई-फाई का उपयोग करते हैं या इंटरनेट के माध्यम से काम करना चाहते हैं - उनके मामले में, नेटवर्क की गति दसियों गुना कम हो सकती है। विचार उठता है: "क्या पूरे प्रोग्राम को एक शक्तिशाली सर्वर पर लागू करना संभव नहीं है, ताकि उपयोगकर्ता का कंप्यूटर जटिल गणनाओं में भाग न ले, बल्कि केवल छवि को स्थानांतरित करने का काम करे?" फिर आप बहुत कमज़ोर कंप्यूटरों पर भी, कम बैंडविड्थ वाले नेटवर्क पर भी काम कर सकते हैं। स्वाभाविक रूप से, ऐसे समाधान मौजूद हैं।

समाधान दो. टर्मिनल सर्वर

1सी 7 के दिनों में इसे बहुत लोकप्रियता मिली। इसे विंडोज़ के सर्वर संस्करण पर लागू किया गया है और यह हमारे कार्य को अच्छी तरह से पूरा करता है। हालाँकि, इसके अपने नुकसान हैं, अर्थात् लाइसेंस की लागत।

ऑपरेटिंग सिस्टम की लागत लगभग 40,000 रूबल होगी। इसके अलावा, हमें उन सभी लोगों के लिए एक विंडोज़ सर्वर सीएएल लाइसेंस की आवश्यकता होगी जो 1सी में काम करने की योजना बना रहे हैं, जिसकी कीमत लगभग 1,700 रूबल है, और एक विंडोज़ रिमोट डेस्कटॉप सर्विसेज सीएएल लाइसेंस है, जिसकी कीमत लगभग 5,900 रूबल है।

10 कंप्यूटरों के नेटवर्क की लागत की गणना करने के बाद, हमें 116,000 रूबल मिलते हैं। केवल एक लाइसेंस के लिए. इसमें सर्वर की लागत (कम से कम 40,000 रूबल) और कार्यान्वयन कार्य की लागत जोड़ें, हालांकि, इसके बिना भी, लाइसेंस की कीमत प्रभावशाली निकली।

समाधान तीन. सेवा 1सी एंटरप्राइज

1C ने इस समस्या का अपना समाधान विकसित किया है, जो प्रोग्राम की गति को काफी बढ़ा सकता है। लेकिन यहां एक बारीकियां भी है.

तथ्य यह है कि ऐसे समाधान की लागत संस्करण के आधार पर 50,000 से 80,000 रूबल तक होती है। 15 उपयोगकर्ताओं तक वाली कंपनी के लिए यह काफी महंगा साबित होता है। "1C एंटरप्राइज़ मिनी-सर्वर" पर बड़ी उम्मीदें लगाई गई थीं, जो कि 1C कंपनी के अनुसार, छोटे व्यवसायों के लिए है और इसकी लागत लगभग 10,000 - 15,000 रूबल है।

हालाँकि, जब यह बिक्री पर गया, तो यह उत्पाद एक बड़ी निराशा थी। तथ्य यह है कि मिनी-सर्वर का उपयोग करने वाले उपयोगकर्ताओं की अधिकतम संख्या केवल 5 थी।

जैसा कि एक 1C प्रोग्रामर ने फोरम पर लिखा: “यह अभी भी स्पष्ट नहीं है कि 1C ने बिल्कुल 5 कनेक्शन क्यों चुने! समस्याएँ केवल 4 उपयोगकर्ताओं के साथ शुरू होती हैं, लेकिन पाँच के साथ सब समाप्त हो जाती हैं। यदि आप छठे व्यक्ति को जोड़ना चाहते हैं, तो 50 हजार और भुगतान करें। हम कम से कम 10 कनेक्शन कर सकते हैं..."

बेशक, मिनी सर्वर को भी अपना उपभोक्ता मिल गया। हालाँकि, उन कंपनियों के लिए जहां 5 या अधिक लोग 1C के साथ काम करते हैं, कोई सरल और सस्ता समाधान सामने नहीं आया है।

ऊपर वर्णित कार्यक्रम त्वरण विधियों के अलावा, एक और तरीका है जो 5 - 15 उपयोगकर्ताओं के खंड के लिए आदर्श है, अर्थात् फ़ाइल मोड में 1 सी के लिए वेब एक्सेस।

समाधान चार. फ़ाइल मोड में 1सी के लिए वेब एक्सेस

संचालन का सिद्धांत इस प्रकार है: कंप्यूटर पर एक वेब सर्वर की एक अतिरिक्त भूमिका स्थापित की जाती है, जिस पर सूचना सुरक्षा प्रकाशित होती है।

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

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

ऑपरेटिंग गति के मामले में यह विकल्प एंटरप्राइज़ 1C सर्वर से कमतर है, लेकिन 15-20 उपयोगकर्ताओं तक यह अंतर व्यावहारिक रूप से अदृश्य है। वैसे, एक वेब सर्वर को लागू करने के लिए आप IIS (विंडोज़ के लिए) और Apache (लिनक्स के लिए) का उपयोग कर सकते हैं और ये दोनों समाधान मुफ़्त हैं!

स्पष्ट लाभों के बावजूद, 1C ऑपरेशन को अनुकूलित करने की इस पद्धति को अधिक लोकप्रियता नहीं मिली है।

मैं निश्चित रूप से नहीं कह सकता, लेकिन संभवतः यह दो कारणों से है:

  • तकनीकी दस्तावेज में काफी कमजोर वर्णन है
  • सिस्टम प्रशासक और 1सी प्रोग्रामर की जिम्मेदारी के चौराहे पर स्थित है

आमतौर पर, जब किसी सिस्टम एडमिनिस्ट्रेटर से कम गति की समस्या के बारे में संपर्क किया जाता है, तो वह बुनियादी ढांचे या टर्मिनल सर्वर को अपग्रेड करने का सुझाव देता है; यदि 1सी विशेषज्ञ से संपर्क किया जाता है, तो उसे 1सी एंटरप्राइज सर्वर की पेशकश की जाती है। इसलिए, यदि आपकी कंपनी में बुनियादी ढांचे के लिए जिम्मेदार विशेषज्ञ और 1सी के लिए जिम्मेदार विशेषज्ञ "हाथ से काम" करते हैं, तो आप वेब सर्वर पर आधारित समाधान का सुरक्षित रूप से उपयोग कर सकते हैं।

आइए 1C की गति बढ़ाएं। दूर से, शीघ्रता से और आपकी भागीदारी के बिना

हम जानते हैं कि ग्राहक को परेशान किए बिना 1स्की की गति कैसे बढ़ाई जाए। हम समस्या की गहराई में जाते हैं, अपना काम करते हैं और चले जाते हैं। यदि आप चाहते हैं कि प्रोग्राम सामान्य रूप से काम करे, तो हमसे संपर्क करें। हम यह पता लगा लेंगे।

एक अनुरोध छोड़ें और कार्यक्रम में तेजी लाने पर निःशुल्क परामर्श प्राप्त करें।

कई मायनों में, 1C अनुकूलन और कार्य की गति लॉक, क्वेरी और इंडेक्स के साथ काम करने पर निर्भर करती है। हम इस प्रश्न का उत्तर देने का प्रयास करेंगे कि "1C के काम को कैसे तेज़ किया जाए" (हम एक अन्य लेख में 1C के लॉन्च को तेज़ करने के प्रश्न पर विचार करेंगे) और "दस्तावेज़ों के लंबे प्रसंस्करण" के बारे में उपयोगकर्ता की शिकायतों से बचें, जो अनिवार्य रूप से व्यावसायिक प्रक्रियाओं को प्रभावित करता है।

भाग 3. 1सी प्रदर्शन

1सी 8.3 में ताले: कोड में खोज और उन्मूलन, प्रबंधित ताले में स्थानांतरण

ताले ACID तंत्र का हिस्सा हैं। आइए SQL सर्वर के उदाहरण का उपयोग करके सरलीकृत आरेख के रूप में प्रस्तुत इसकी अवधारणा पर विचार करें

स्वचालित मोड में, ताले को DBMS द्वारा ही प्रबंधित किया जाता है। उसी समय, MS SQL सर्वर पर दुष्प्रभाव दिखाई दिए, जैसे खाली तालिकाओं और बॉर्डर डेटा श्रेणियों (सीरियलाइज़ेबल स्तर) को लॉक करना, जिसने बहु-उपयोगकर्ता कार्य में अतिरिक्त समस्याएं पैदा कीं। इन समस्याओं को हल करने के लिए, 1C ने नियंत्रित ताले बनाए।

1सी नियंत्रित ताले

लॉकिंग तंत्र को 1C सर्वर पर ले जाया गया, और DBMS स्तर पर, अलगाव को न्यूनतम कर दिया गया। एमएस एसक्यूएल पर, 8.2 प्लेटफॉर्म पर एक साझा लॉकिंग तंत्र और 8.3 प्लेटफॉर्म पर एक पंक्ति संस्करण तंत्र (तथाकथित रीड कमिटेड स्नैपशॉट अलगाव) के साथ अलगाव स्तर को रीड कमिटेड तक कम कर दिया गया था। अधिक सटीक रूप से, यह एक ही नाम की डेटाबेस संपत्ति है और दो रीड कमिटेड ऑपरेटिंग मोड हैं जो इस पैरामीटर पर निर्भर करते हैं।

अलगाव के अंतिम स्तर (आरसीएसआई) पर, तंत्र ने डीबीएमएस सर्वर पर समान संसाधनों पर पढ़ने और लिखने के लेनदेन को इंटरसेक्ट नहीं करना संभव बना दिया। सभी मुख्य कार्य 1C ब्लॉकिंग सेवा द्वारा ले लिए गए थे, जो मूल मेटाडेटा के आधार पर यह निर्धारित करता है कि DBMS सर्वर पर लेनदेन की अनुमति दी जाए या नहीं, ताकि व्यावसायिक तर्क का कोई उल्लंघन न हो। खाली टेबलों और सीमा सीमाओं को लॉक करने की समस्याएँ अतीत की बात हैं।

डीबीएमएस लॉक प्रकार लेन-देन अलगाव स्तर लेन-देन के बाहर पढ़ें
स्वचालित ताले
फ़ाइल डेटाबेस टेबल serializable गंदा पढ़ा
एमएस एसक्यूएल सर्वर पदों गंदा पढ़ा
आईबीएम डीबी2 पदों दोहराए जाने योग्य या क्रमबद्ध करने योग्य गंदा पढ़ा
पोस्टग्रेएसक्यूएल टेबल serializable लगातार पढ़ना
ओरेकल डेटाबेस टेबल serializable लगातार पढ़ना
प्रबंधित ताले
फ़ाइल डेटाबेस टेबल serializable गंदा पढ़ा
एमएस एसक्यूएल सर्वर 2000 पदों प्रतिबद्ध पढ़ें गंदा पढ़ा
एमएस एसक्यूएल सर्वर 2005 और उच्चतर प्रतिबद्ध स्नैपशॉट पढ़ें लगातार पढ़ना
संस्करण 9.7 से पहले आईबीएम डीबी2 पदों प्रतिबद्ध पढ़ें गंदा पढ़ा
IBM DB2 संस्करण 9.7 और उच्चतर पदों प्रतिबद्ध पढ़ें लगातार पढ़ना
पोस्टग्रेएसक्यूएल पदों प्रतिबद्ध पढ़ें लगातार पढ़ना
ओरेकल डेटाबेस पदों प्रतिबद्ध पढ़ें लगातार पढ़ना

यह पता लगाने के लिए कि 1सी प्रोग्राम डेटाबेस किस लॉकिंग मोड में है, आपको वांछित डेटाबेस के संदर्भ में एसएसएमएस से निम्नलिखित अनुरोध चलाने की आवश्यकता है:


1C ताले. उपयोगकर्ता ताले पर इंतजार नहीं करेगा, यदि आप कुछ नियमों का पालन करते हैं तो 1C की गति तेज हो जाएगी:

  • लेन-देन की अवधि यथासंभव कम की जानी चाहिए। ओएलटीपी सिस्टम पर काम करते समय 100% मामलों में लेन-देन में लंबी गणना करने से अवरोध उत्पन्न हो जाएगा।
  • लेन-देन के भीतर लंबे बाहरी संचालन समाप्त हो जाते हैं, उदाहरण के लिए, ईमेल द्वारा पुष्टिकरण भेजना और प्राप्त करना, फ़ाइल सिस्टम के साथ काम करना और अन्य अतिरिक्त कार्रवाइयां। सभी कार्यों को स्थगित लघु कार्यों में रखा जाना चाहिए।
  • क्वेरीज़ को अधिकतम अनुकूलित किया गया है.
  • एप्लिकेशन के भीतर इष्टतम क्वेरी प्रदर्शन सुनिश्चित करने के लिए इंडेक्स केवल आवश्यकतानुसार बनाए जाने चाहिए।
  • संकुल सूचकांक में बार-बार अद्यतन किए गए स्तंभों का समावेशन कम कर दिया गया है। क्लस्टर्ड इंडेक्स कुंजी कॉलम के अपडेट के लिए क्लस्टर्ड इंडेक्स और सभी गैर-क्लस्टर्ड इंडेक्स दोनों पर लॉक की आवश्यकता होती है (क्योंकि उनकी लोकेटर पंक्ति में क्लस्टर्ड इंडेक्स कुंजी होती है)।
  • जहां संभव हो, एक कवरिंग इंडेक्स बनाया जाता है और डेटा पुनर्प्राप्ति समय को कम करने के लिए इसका उपयोग किया जाता है।
  • लेनदेन अलगाव के निम्नतम स्तर का उपयोग करना, जिसके लिए प्रबंधित लॉकिंग मोड पर स्विच करने की आवश्यकता होगी।

रुकावटों के निदान के लिए उपकरण:

  • प्रौद्योगिकी पत्रिका;
  • 1सी उपकरण से प्रदर्शन प्रबंधन केंद्र;
  • गिलेव क्लाउड सेवाएँ;

गिलेव सेवा का उपयोग करके सिस्टम मॉनिटरिंग का एक उदाहरण नीचे दिया गया है। अवरोधन की कुल अवधि ~15 घंटे है। 400 से अधिक सक्रिय उपयोगकर्ता। निर्णय लेने और अनुकूलन के बाद, टाइमआउट एक मिनट से भी कम है, और अवरोधों की संख्या ~670 गुना कम हो गई है।

था:



बन गया:


ऐसी स्थिति में जहां "सब कुछ रुक जाता है और इसमें लंबा समय लगता है" और निगरानी सेवाएं कॉन्फ़िगर नहीं की जाती हैं या बिल्कुल भी उपयोग नहीं की जाती हैं, पेरेटो सिद्धांत को याद रखते हुए, आपको कोड पर ध्यान केंद्रित करने की आवश्यकता है।

स्वचालित मोड में, वांछित डेटाबेस के संदर्भ में सिस्टम प्रक्रिया का उपयोग करके सर्वर पर लॉक की उपस्थिति का पता लगाया जा सकता है। यह संग्रहीत प्रक्रिया आपको यह निर्धारित करने की अनुमति देती है कि ताले किस मोड में संचालित होते हैं, उनकी स्थिति, प्रकार, आदि:



1सी के लिए प्रक्रिया को अंतिम रूप देने के बाद, आप 1सी तालिकाओं की बारीकियों को ध्यान में रखते हुए, सर्वर पर वर्तमान में क्या हो रहा है, इसके बारे में दृश्य जानकारी प्राप्त कर सकते हैं:


टुकड़ा 1

//1सी सेलेक्ट के संदर्भ में लॉक * dbo.ReturnLockName1C(डिफॉल्ट,डिफॉल्ट) से टी के रूप में जहां TableName1C टी.रिसोर्स द्वारा शून्य ऑर्डर नहीं है

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

SQL सर्वर DMO ऑब्जेक्ट का उपयोग करना

हम डेटा की प्रासंगिकता को समझने के लिए सर्वर प्रारंभ तिथि प्रदर्शित करते हैं। हम रेटिंग (भौतिक, तार्किक, प्रोसेसर लोड) पढ़कर पैकेज को विभाजित करते हैं। इस मामले में, sys.dm_exec_query_stats से मास्टर डेटा का उपयोग किया जाता है। हम अनुरोध पाठ का 1C शब्दों में अनुवाद करते हैं। यदि आप अनुरोध पाठ से कॉल के संदर्भ को समझ सकते हैं, तो जो कुछ बचा है वह अनुरोध योजना को देखना, समस्याग्रस्त ऑपरेटरों को ढूंढना और समझना है कि क्या किया जा सकता है।

टुकड़ा 2

//प्रारंभ समय sys.dm_os_sys_info से sqlserver_start_time चुनें; //भौतिक पढ़ने के लिए शीर्ष अनुरोध शीर्ष चुनें (50) (कुल_भौतिक_पढ़ें) कुल_भौतिक_पढ़ने के रूप में,

डेटा संग्राहक संग्रह के परिणामस्वरूप समस्याग्रस्त प्रश्नों की पहचान करना

इस टूल का उपयोग करके, आप डेटा को आवश्यक मापदंडों, जैसे प्रोसेसर लोड, अवधि, तार्किक I/O, भौतिक रीड ऑपरेशंस के अनुसार रैंक कर सकते हैं, जो आपको SQL सर्वर को रीबूट करने के बावजूद, आगे के विश्लेषण के लिए संपूर्ण आंकड़े सहेजने की अनुमति देता है।


तीसरे पक्ष की निगरानी के बिना सर्वर द्वारा समस्याग्रस्त अनुरोध एकत्र किए जाने के बाद, आप प्राप्त डेटा को आवश्यक मापदंडों के अनुसार रैंक कर सकते हैं।

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

समस्याग्रस्त अनुरोध का एक उदाहरण और तकनीकी लॉग स्थापित करने का एक उदाहरण:



1सी 8.3 को गति देने के अवसर के रूप में क्वेरी अनुकूलन


उप-इष्टतम प्रश्नों के परिणाम दस्तावेज़ों के लंबे प्रसंस्करण, रिपोर्टों की दर्दनाक लंबी पीढ़ी, सिस्टम फ़्रीज़ और अन्य अप्रिय घटनाओं के रूप में प्रकट हो सकते हैं।

अनुरोधों के साथ काम करते समय, आप यह नहीं कर सकते:

  • उपश्रेणियों के साथ तालिकाओं को जोड़ें;
  • नियमित तालिकाओं को आभासी तालिकाओं से कनेक्ट करें;
  • शर्तों में तार्किक "OR" का प्रयोग करें;
  • सम्मिलित स्थितियों में उपश्रेणियों का उपयोग करें;
  • "एक्सप्रेस" कीवर्ड के बिना समग्र प्रकार के फ़ील्ड से एक बिंदु के माध्यम से डेटा प्राप्त करें।

अनुरोधों के साथ काम करते समय, आप यह कर सकते हैं:

  • क्वेरी शर्तों, जुड़ाव, एकत्रीकरण और सॉर्ट फ़ील्ड पर अनुक्रमणिका बनाएं;
  • वर्चुअल तालिकाओं को फ़िल्टर करना चयन मापदंडों का उपयोग करके किया जाना चाहिए।

इंडेक्स का उपयोग करना और सिस्टम प्रदर्शन गुणवत्ता पर उनका प्रभाव

सूचकांकों, उनके उपयोग की आवश्यकता और सिस्टम संचालन की गुणवत्ता पर प्रभाव के बारे में बहुत कुछ लिखा गया है। आइए इंडेक्स के "डिज़ाइन", एप्लिकेशन विकल्पों और नियमित तालिकाओं की तुलना में फ़ायदों की पेचीदगियों को समझने का प्रयास करें।

इंडेक्सिंग DBMS कर्नेल का एक महत्वपूर्ण हिस्सा है। अनुपलब्ध अनुक्रमणिका, या इसके विपरीत, उनकी अत्यधिक संख्या, डेटा की पुनर्प्राप्ति, संशोधन, जोड़ने और हटाने की गति को प्रभावित करें।आइए सबसे सामान्य Microsoft DBMS के उदाहरण का उपयोग करके अनुक्रमणिका को देखें।

यह कैसे काम करता है इसकी सामान्य समझ के लिए, आइए डेटा भंडारण तंत्र के विवरण देखें, जिसे हम आमतौर पर एक तालिका (उदाहरण के लिए, एक्सेल) के रूप में प्रस्तुत करते हैं।

भौतिक डेटा भंडारण की इकाई पृष्ठ है - एक 8 केबी मॉड्यूल जो केवल एक ऑब्जेक्ट से संबंधित है (उदाहरण के लिए, एक तालिका या सूचकांक)। पढ़ने और लिखने के लिए पेज सबसे छोटी इकाई है। पृष्ठों को विस्तारों में एकत्रित किया गया है। एक सीमा में लगातार 8 पृष्ठ होते हैं। विस्तार पृष्ठ एक या अधिक ऑब्जेक्ट से संबंधित हो सकते हैं। जब पृष्ठ एकाधिक ऑब्जेक्ट से संबंधित होते हैं, तो सीमा को "मिश्रित" कहा जाता है।

इसकी सामग्री नीचे देखी जा सकती है:





अब जब हमें यह पता चल गया है कि डिस्क स्टोरेज यूनिट कैसे काम करती है, तो आइए तालिकाओं और इंडेक्स के बारे में अधिक बात करें।

डिफ़ॉल्ट रूप से, यदि आप विशेष टी-एसक्यूएल स्टेटमेंट का उपयोग नहीं करते हैं, तो खाली तालिका "हीप" के रूप में बनाई जाती है - पृष्ठों और विस्तारों का एक सरल सेट।ढेर में मौजूद डेटा का कोई तार्किक क्रम नहीं है. SQL सर्वर इंजन इंडेक्स एलोकेशन मैप्स नामक विशेष सिस्टम पेजों का उपयोग करके किसी विशिष्ट ऑब्जेक्ट के पेज और सीमा स्वामित्व का ट्रैक रखता है। प्रत्येक तालिका या सूचकांक में कम से कम एक IAM पृष्ठ होता है, जिसे "पहला IAM पृष्ठ" कहा जाता है।


इस प्रकार, एक नियमित तालिका बनाने के बाद, डिफ़ॉल्ट रूप से, परिणाम डेटा की एक अव्यवस्थित व्यवस्था होती है। आप निम्न प्रक्रिया का उपयोग करके तालिका स्थिति देख सकते हैं:


1C प्लेटफ़ॉर्म द्वारा उपयोग किए जाने वाले मुख्य सूचकांक

टुकड़ा 3

मिथक और वास्तविकता:

मिथक एक: क्लस्टर्ड इंडेक्स और डेटा टेबल दो अलग-अलग इकाइयां हैं, जो एक-दूसरे से अलग-अलग संग्रहीत हैं।

मिथक दो: एक तालिका में कई क्लस्टर्ड इंडेक्स हो सकते हैं।

मैंने DBMS को अनुकूलित करने के लिए एक प्रोग्राम डाउनलोड किया। अनुशंसित अनुक्रमणिकाएँ बनाई गईं। सैंपलिंग की गति 50% बढ़ गई। डेटा बदलना और जोड़ना 7 गुना धीमा हो गया।

क्लस्टर्ड (संकुलित) सूचकांक

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

टुकड़ा 4

Sys.indexes से नाम, प्रकार, TYPE_DESC चुनें जहां object_id = OBJECT_ID("ट्रेस डेटा")

गैर-संकुलित सूचकांक

गैर-संकुलित सूचकांकों की संरचना डेटा पंक्तियों से अलग होती है। एक गैर-क्लस्टर्ड इंडेक्स में क्लस्टर्ड इंडेक्स कुंजी के मान होते हैं, और प्रत्येक रिकॉर्ड में क्लस्टर्ड इंडेक्स कुंजी होती है (आरआईडी नहीं, क्योंकि 1 सी टेबल दुर्लभ अपवादों के साथ ढेर का उपयोग नहीं करते हैं)।

आप गैर-संकुलित सूचकांक के लीफ स्तर पर गैर-कुंजी कॉलम जोड़ सकते हैं और पूरी तरह से अनुक्रमित क्वेरी चलाकर मौजूदा सूचकांक कुंजी सीमा (900 बाइट्स और 16 कुंजी कॉलम) को बायपास कर सकते हैं।

एक गैर-संकुल सूचकांक जोड़ने के बाद, डेटा की प्रतिलिपि बनाई गई और एक अन्य वस्तु दिखाई दी:



टुकड़ा 5

Sys.indexes से नाम, प्रकार, TYPE_DESC चुनें जहां object_id = OBJECT_ID("ट्रेस डेटा")

एक संतुलित वृक्ष के रूप में ढेर से क्लस्टर्ड इंडेक्स को पुनः प्राप्त करने के बाद उसका योजनाबद्ध आरेख:



क्लस्टर तालिका से प्राप्त गैर-क्लस्टर इंडेक्स की स्कीमा (ध्यान दें कि पंक्ति लोकेटर कॉलम में क्लस्टर इंडेक्स कुंजी है):



क्वेरी प्रदर्शन पर अनुक्रमणिका का प्रभाव

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

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

कृपया ध्यान दें कि क्लस्टर्ड इंडेक्स को किसी भी परिस्थिति में ब्लॉक नहीं किया जा सकता है, क्योंकि यह तालिका डेटा तक पहुंच को अवरुद्ध कर देगा। यह केवल उन इंडेक्स पर लागू होता है जिन्हें आपने टी-एसक्यूएल के माध्यम से स्वयं बनाया है। 1C:Enterprise को दरकिनार करते हुए T-SQL का उपयोग करके इंडेक्स बनाने का कारण, सबसे पहले, इंडेक्स में हेरफेर करने और बनाए गए इंडेक्स में अतिरिक्त फ़ील्ड शामिल करने के मामले में 1C प्लेटफ़ॉर्म की सीमित क्षमताओं से जुड़ा है।

टी-एसक्यूएल स्टेटमेंट जो इंडेक्स को लॉक करने की क्रिया करता है:

//तालिका में एक अलग इंडेक्स लॉक करें -ALTER INDEX _Reference22_ByPreDefinedIDNotUniq ON _Reference22 DISABLE; //वांछित सूचकांक शामिल करें -ALTER INDEX _Reference22_ByPreDefinedIDNotUniq ON _Reference22 REBUILD;

उपरोक्त चरणों के अलावा, एक भौतिक डिस्क पर एक फ़ाइल समूह बनाना महत्वपूर्ण है जिसमें वर्तमान डेटाबेस फ़ाइलें न हों और गैर-क्लस्टर इंडेक्स को वहां ले जाएं। इससे उनकी रिकॉर्डिंग को समानांतर करके डेटा संशोधन में तेजी आएगी।

यह निर्धारित करना कि प्रश्नों की गति बढ़ाने के लिए कौन से सूचकांक आवश्यक हैं या अनावश्यक हैं

डिफ़ॉल्ट रूप से, 1C इंडेक्स का एक निश्चित मूल सेट बनाता है। अक्सर, उनकी संख्या पर्याप्त नहीं होती है। SQL सर्वर में ऐसे तंत्र हैं जो आपको आपके कार्यभार के आधार पर यह समझने की अनुमति देते हैं कि आपके मौजूदा इंडेक्स कितने आवश्यक हैं।

डेटाबेस इंजन ट्यूनिंग सलाहकार डेटाबेस का विश्लेषण करता है और क्वेरी प्रदर्शन को अनुकूलित करने के लिए सिफारिशें करता है। इसका उपयोग डेटाबेस डिज़ाइन या SQL सर्वर की आंतरिक प्रक्रियाओं की विशेषज्ञ स्तर की समझ के बिना इष्टतम इंडेक्स सेट को चुनने और बनाने के लिए किया जा सकता है। डेटाबेस इंजन कॉन्फ़िगरेशन सहायक आपको निम्नलिखित कार्य करने की अनुमति देता है:

  • किसी विशिष्ट समस्याग्रस्त क्वेरी के प्रदर्शन का समस्या निवारण करें;
  • एक या अधिक डेटाबेस में प्रश्नों का एक बड़ा सेट कॉन्फ़िगर करें।

डीएमओ (गतिशील प्रबंधन ऑब्जेक्ट), जिसमें गतिशील प्रबंधन दृश्य और गतिशील प्रबंधन कार्य शामिल हैं। उदाहरण के लिए, एक टी-एसक्यूएल स्टेटमेंट उन सभी इंडेक्स को पुनः प्राप्त कर सकता है जिनका उपयोग सर्वर के आखिरी बार शुरू होने के बाद से नहीं किया गया है।



टुकड़ा 6

वीएल के साथ (SELECT OBJECT_NAME(I.object_id) AS objectname, I.name AS Indexname, I.index_id AS Indexid FROM sys.indexes as I INNER JOIN sys.objects AS O ON O.object_id = I.object_id WHERE I.object_id > 100 और I.type_desc = "NONCLUSTERED" और I.index_id IN नहीं (S.s.dm_db_index_usage_stats से S.index_id को S के रूप में चुनें जहां S.object_id=I.object_id और I.index_id=S.index_id और डेटाबेस_आईडी = DB_ID("डेटाबेस_नाम '))) वीएल से ऑब्जेक्टनाम, T1.NameTable1C, इंडेक्सआईडी, इंडेक्सनाम चुनें बाहरी रूप से dbo.ReturnTableName1C(ऑब्जेक्टनाम) को T1 ऑर्डर के रूप में ऑब्जेक्टनाम, इंडेक्सनाम द्वारा लागू करें;

निर्देश जिनका उपयोग DBMS कर्नेल द्वारा अनुशंसित आवश्यक इंडेक्स बनाने के लिए किया जा सकता है:



टुकड़ा 7

T1.NameTable1C को Table_Name_1C के रूप में चुनें, "इंडेक्स बनाएं" + "चालू करें"
क्वेरी ऑप्टिमाइज़र, क्वेरी निष्पादन योजना बनाते समय, लापता इंडेक्स बनाने की आवश्यकता की पहचान करता है। यह इस जानकारी को XML शोप्लान में संग्रहीत करता है। क्योंकि क्वेरी योजनाओं को हैश किया जाता है और निर्देश सहेजे जाते हैं (अगले सर्वर के पुनरारंभ होने तक), फिर उन्हें कैश में किसी भी निष्पादन योजना के लिए आवश्यक अनुक्रमणिका बनाने के लिए पुनर्प्राप्त, संसाधित और तैयार निर्देश दिए जा सकते हैं। यह क्वेरी निष्पादन की आवृत्ति पर ध्यान देने योग्य है: यह जितना अधिक होगा, क्वेरी के परिणाम उतने ही अधिक प्रासंगिक होंगे और, तदनुसार, एकत्रित संकेतक। यदि क्वेरी एक बार निष्पादित की गई थी, तो उसके परिणाम इतने सांकेतिक नहीं हैं।


टुकड़ा 8

क्रॉस अप्लाई query_plan.nodes('//StmtSimple") AS stmt(stmt_xml) जहां stmt_xml.exist("QueryPlan/Missinglndexes") = 1) शीर्ष 30 डेटाबेसनाम को Database_Name के रूप में, TableName को Table_Name के रूप में, T1.NameTable1C को Table_Name के रूप में चुनें 1C, समानता_colum ns को Compare_columns के रूप में, include_columns को columns_to_include के रूप में,

टुकड़ा 9

[डेटाबेस_नाम] का उपयोग करें। .[_Document497] ([_Fld12771_TYPE],[_Fld12771_RTRef]) पर गैर-संकुलित सूचकांक बनाएं। समग्र फ़ील्ड और सॉर्टिंग फ़ील्ड द्वारा अनुक्रमण की कुछ विशेषताएं।

ORDER BY क्लॉज में निर्दिष्ट कॉलम पर एक इंडेक्स बनाने से क्वेरी ऑप्टिमाइज़र को परिणाम सेट को जल्दी से व्यवस्थित करने में मदद मिलती है क्योंकि कॉलम मान इंडेक्स में पहले से क्रमबद्ध होते हैं। ग्रुप बाय तंत्र का आंतरिक कार्यान्वयन भी आवश्यक डेटा को शीघ्रता से समूहित करने के लिए पहले कॉलम मानों को सॉर्ट करता है।

मानक अनुशंसाओं का उपयोग करते समय, अनुकूलन से पहले और बाद में परिणाम की जाँच करना उचित है। आइए तार्किक संघ "OR" और उसके विकल्प (मानक अनुशंसाओं का उपयोग करके समस्या को हल करने के लिए) का उपयोग करने का एक उदाहरण दें - "सभी को एकजुट करें" सिंटैक्स का उपयोग करके क्वेरी को बदलने की तकनीक।

1C स्वयं "OR" के साथ अनुरोध करता है:

निर्देशिका से कोड, नाम, लिंक का चयन करें। प्रतिपक्ष जहां प्रतिपक्ष हैं। कोड = "000000004" या प्रतिपक्ष। कोड = "0074853" या प्रतिपक्ष। कोड = "000000024" या प्रतिपक्ष। कोड = "009679294" या प्रतिपक्ष। कोड = " 0074742" या प्रतिपक्ष.कोड = "000000104";

"सभी को एकजुट करें" के साथ क्वेरी को संशोधित करना:

निर्देशिका से कोड, नाम, लिंक का चयन करें। प्रतिपक्षों को प्रतिपक्षों के रूप में जहां प्रतिपक्ष। कोड = "000000004" निर्देशिका से सभी चयनित कोड, नाम, लिंक को संयोजित करें। प्रतिपक्षों को प्रतिपक्षों के रूप में जहां समकक्षों को। कोड = "0074853" सभी चयनित कोड, नाम, लिंक को संयोजित करें निर्देशिका से.प्रतिपक्षों को प्रतिपक्षों के रूप में, जहां प्रतिपक्ष.कोड = "000000024" सभी चयनित कोड, नाम, लिंक को निर्देशिका से संयोजित करें.प्रतिपक्षों को प्रतिपक्षों के रूप में, जहां

वास्तविक क्वेरी योजना (प्रदर्शन और प्रदर्शन तुलना में आसानी के लिए, एसएसएमएस में क्वेरी को इंटरसेप्ट और निष्पादित किया गया):


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

1सी में काम की गति कैसे बढ़ाएं: अकाउंटिंग 8.3 (संस्करण 3.0) या नियमित और पृष्ठभूमि कार्यों को अक्षम करें

2019-01-15T13:28:19+00:00

आपमें से जो लोग पहले ही 1सी: अकाउंटिंग 8.3 (संस्करण 3.0) के नए संस्करण पर स्विच कर चुके हैं, उन्होंने देखा है कि यह 2 की तुलना में धीमा हो गया है। कुछ अजीब मंदी, दिन में कई बार अंतहीन पृष्ठभूमि कार्य, जिन्हें किसी ने हमारी जानकारी के बिना करने के लिए नहीं कहा।

मेरे एकाउंटेंट ने परिवर्तन के तुरंत बाद मुझे बताया कि 1सी: अकाउंटिंग 3.0 का नया संस्करण पिछले वाले की तुलना में बिल्कुल धीमा है! और काम करना बिल्कुल असंभव है।

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

ठीक है, उदाहरण के लिए, यदि हम अपने डेटाबेस में सभी ऑब्जेक्टों पर पूर्ण-पाठ (लेखाकारों, चिंतित न हों) खोज नहीं करते हैं, तो हमें "पाठ निष्कर्षण" कार्य को दिन में सौ बार चलाने की आवश्यकता क्यों है।

या यदि हमारे पास मुद्रा लेनदेन नहीं है या हम उन्हें कभी-कभी करते हैं (और इससे पहले हम स्वयं डाउनलोड दरें बटन पर क्लिक कर सकते हैं) तो लगातार मुद्रा दरें क्यों डाउनलोड करें।

यही बात साइट से जुड़ने और बैंक क्लासिफायर की जांच और अपडेट करने के 1C के निरंतर प्रयास पर भी लागू होती है। किस लिए? यदि मुझे इसके बीआईसी द्वारा सही बैंक नहीं मिलता है तो मैं स्वयं क्लासिफायर को अपडेट करने के लिए बटन दबाऊंगा।

इसे नीचे चरण दर चरण कैसे करें।

1. "प्रशासन" अनुभाग पर जाएं और एक्शन पैनल में "रखरखाव" () चुनें:

2. खुलने वाली विंडो में, "नियमित और पृष्ठभूमि कार्य" ढूंढें और चुनें:

3. "चालू" कॉलम में "चालू" वाले प्रत्येक कार्य को खोलें। वहाँ एक दाऊ है.

4. "सक्षम" को अनचेक करें और "सहेजें और बंद करें" बटन पर क्लिक करें।

5. प्रत्येक सम्मिलित कार्य के साथ ऐसा करें और नए संस्करण का आनंद लें। कुल मिलाकर, मेरी राय में, यह दो से कहीं बेहतर है।

साथ ही, प्लेटफ़ॉर्म अभी भी आपके द्वारा अक्षम किए गए कुछ निर्धारित कार्यों को सक्षम करेगा।

1सी प्रणाली आज छोटे और मध्यम आकार के व्यवसायों को चलाने के लिए मुख्य उपकरणों में से एक है। एक नियम के रूप में, संगठन के सभी कर्मचारियों को कार्यक्रम तक पहुंच प्राप्त है। इस प्रकार, यदि 1C धीमा होने लगे या धीमी गति से काम करने लगे, तो यह व्यवसाय के संचालन को महत्वपूर्ण रूप से प्रभावित करता है। आइए देखें कि आप स्वयं 1C में कार्य को कैसे तेज़ और अनुकूलित कर सकते हैं।


1C अद्यतन का उपयोग करके अनुकूलन

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

कई लोग लंबे समय से प्रोग्राम को स्वचालित रूप से अपडेट करने की क्षमता का उपयोग कर रहे हैं। हालाँकि इस समस्या को 1C Enterprise 8.3 के लिए मैन्युअल रूप से आसानी से हल किया जा सकता है, जिसे अपडेट करने से कोई परेशानी नहीं होगी।

पहला कदम उस प्लेटफ़ॉर्म का नवीनतम संस्करण डाउनलोड करना है जिसका आप वर्तमान में उपयोग कर रहे हैं। यह या तो ITS डिस्क का उपयोग करके, या वेब इंटरफ़ेस के माध्यम से किया जाता है, जहां वे 1c एंटरप्राइज 8.3 जैसे प्रोग्राम के उपयोगकर्ताओं को निरंतर समर्थन प्रदान करते हैं, जिसके लिए एक कॉन्फ़िगरेशन अपडेट भी आधिकारिक तौर पर प्रदान किया जाता है।

बाद के मामले में, अद्यतन डेटा वाला संग्रह अलग से डाउनलोड किया जाता है। इसे किसी भी ऐसे फ़ोल्डर में अनपैक किया जाता है जो उपयोगकर्ता के लिए सबसे सुविधाजनक माना जाता है। फिर आपको .exe फ़ाइल चलाने की आवश्यकता है। अगली विंडो में, बस "अगला" बटन पर क्लिक करें।

एक और पेज दिखाई देगा. इस पर, उपयोगकर्ता उस पथ का चयन करता है जिसमें इंस्टॉलेशन पूरा हो गया है। लेकिन यह कदम केवल उन्नत पर्सनल कंप्यूटर मालिकों के लिए अनुशंसित है। अधिकांश समस्याओं को हल करने के लिए डिफ़ॉल्ट फ़ंक्शन आमतौर पर पर्याप्त होते हैं। डिफ़ॉल्ट रूप से, इस मामले में, एक फ़ोल्डर निर्दिष्ट किया जाता है जहां सभी अपडेट एक साथ इंस्टॉल होते हैं। यह उस स्थिति की तुलना में कहीं अधिक सुविधाजनक है जब अंतिम पथ भिन्न होते हैं। हम बस 1सी एंटरप्राइज 8.3 प्रोग्राम में कई बार "नेक्स्ट" बटन पर क्लिक करते हैं, जिसका कॉन्फ़िगरेशन जल्दी से अपडेट किया जाना चाहिए।

जो कुछ बचा है वह अंतिम बटन है, जो "इंस्टॉल" प्रदान करता है।

यदि प्लेटफ़ॉर्म धीमा है तो 1C की गति कैसे बढ़ाएं

समस्याएँ अक्सर इस तथ्य से उत्पन्न होती हैं कि किसी एक चरण में कलाकार की ध्यान की एकाग्रता कम हो जाती है। यहां सही अपडेट स्कीम चुनना महत्वपूर्ण है, केवल इस मामले में हमें अपडेट के दौरान 1सी फ्रीज होने पर कोई समस्या नहीं आएगी।

संस्करण 7.7 अद्यतन

कॉन्फ़िगरेशन कई प्रकार के होते हैं. इसके आधार पर आगे की कार्रवाई की दिशा चुनी जाती है।

  • मानक - इस मामले में यह माना जाता है कि अद्यतन विनियमित रिपोर्टिंग के लिए भी किया जाता है।
  • विशिष्ट उद्योग विन्यास काफी हद तक पिछले विकल्पों की याद दिलाते हैं। डेवलपर द्वारा दिए गए निर्देशों को पहले से पढ़ना महत्वपूर्ण है। अन्यथा, आप यह पता नहीं लगा पाएंगे कि अपडेट के दौरान 1C 8.3 क्रैश क्यों होता है।
  • संशोधित मानक - उपयोगकर्ता के पास हमेशा एप्लिकेशन को स्वयं संशोधित करने का अवसर होता है ताकि यह वर्तमान जरूरतों को पूरा कर सके। कार्यक्षमता बढ़ाने का एक अन्य विकल्प नए प्लेटफ़ॉर्म पर जाना है। उदाहरण के लिए, संस्करण 8.

संस्करण 8.0 और 8.1 के बारे में

वर्तमान में, प्लेटफ़ॉर्म 8.0 को पहले से ही समर्थन से हटाया जा रहा है। नए मानक विकास केवल नवीनतम संस्करणों का उपयोग करते समय ही काम करेंगे। आपको बस यह याद रखने की ज़रूरत है कि सभी मध्यवर्ती रिलीज़ बिना किसी असफलता के पूरे हो गए हैं। अन्यथा, जानकारी खोने की बहुत अधिक संभावना है। या ऐसी स्थिति का सामना करना पड़ता है जहां कॉन्फ़िगरेशन अपडेट करते समय 1c फ़्रीज़ हो जाता है।

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

जहां तक ​​संस्करण 8.1 की बात है, आप इसे कई तरीकों से अपडेट कर सकते हैं:

  1. मैन्युअल रूप से;
  2. स्वचालित मोड में;
  3. इस क्षेत्र में सेवाएँ प्रदान करने वाली कंपनियों के विशेषज्ञों से संपर्क करना।

गैर-मानक या संशोधित संस्करणों के साथ कार्य करना

प्रारंभ में, कोई भी कॉन्फ़िगरेशन मानक विकास को संदर्भित करता है। यदि उद्यम में कुछ परिवर्तन किए जाते हैं तो ऐसा होना बंद हो जाता है। उदाहरण के लिए, स्थापना के दौरान. ऐसे दो वर्ग हैं जो गैर-मानक कॉन्फ़िगरेशन के बीच विशिष्ट हैं:

  1. बदला हुआ;
  2. किसी विशिष्ट उद्यम की आवश्यकताओं को ध्यान में रखते हुए, शुरुआत से बनाया गया।

कभी-कभी द्वितीय श्रेणी कॉन्फ़िगरेशन सक्रिय रूप से उपयोगकर्ताओं के बीच वितरित किया जाता है। तब इसे विशिष्ट माना जाता है. बात सिर्फ इतनी है कि निर्माता को स्वयं 1C नहीं माना जाता है, बल्कि वह कंपनी जिसने नया संस्करण बनाया है।

निम्नलिखित क्रियाओं द्वारा कॉन्फ़िगरेशन को अद्यतित रखा जा सकता है:

  • त्रुटि सुधार।
  • कार्यक्षमता का विस्तार.
  • सुधार।
  • 1C 8.3 में परिवर्तन, रखरखाव त्रुटियों के मामले में कॉन्फ़िगरेशन अद्यतन नहीं किया जाता है।

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

  • हमें याद रखना चाहिए कि सभी रिलीज़ संस्करण वर्तमान कॉन्फ़िगरेशन के लिए उपयुक्त नहीं हो सकते हैं।
  • यदि लंबे समय से अपडेट नहीं किए गए हैं, तो आपको एक साथ कई फ़ाइलें या संग्रह डाउनलोड करने पड़ सकते हैं।
  • सूची में यह समझना आसान है कि 1C एंटरप्राइज 8.3 के किस संस्करण की आवश्यकता है, अपडेट उपयोगकर्ता द्वारा चुना जाता है।

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

ब्रेक लगाने के अतिरिक्त कारण

यदि प्रोग्राम सही ढंग से और बिना किसी त्रुटि के अपडेट किया गया है, तथापि, 1C अभी भी धीमा हो जाता है, तो इसका कारण निम्नलिखित हो सकता है:

  • एंटीवायरस - यदि सही ढंग से कॉन्फ़िगर किया गया है, तो कोई भी एंटीवायरस सिस्टम में हस्तक्षेप नहीं करेगा, हालांकि, यदि आप फ़ैक्टरी सेटिंग्स का उपयोग करते हैं, तो 1C प्रदर्शन 5-10% तक कम हो सकता है। आप पृष्ठभूमि मोड को हटाकर (यदि बिल्कुल आवश्यक हो) अतिरिक्त सेटिंग्स का उपयोग करके अपने एंटीवायरस को अनुकूलित कर सकते हैं।
  • कंप्यूटर पैरामीटर - अक्सर अपर्याप्त रूप से शक्तिशाली कंप्यूटर 1C प्रदर्शन में उल्लेखनीय कमी लाते हैं। वीडियो कार्ड, ऑपरेटिंग सिस्टम और प्रोसेसर पर विशेष ध्यान देना चाहिए।

इस तरह के तरीके किसी भी कंपनी या उद्यम के लिए 1C में काम को महत्वपूर्ण रूप से अनुकूलित और गति देंगे, जिसके बाद कार्यक्रम का प्रदर्शन काफी बढ़ जाएगा।

1C में गति और उपयोग में आसानी कैसे बढ़ाएं

रोगी के लक्षण और इतिहास:

एक ही फ़ाइल (डेटाबेस) के साथ नेटवर्क पर कई उपयोगकर्ताओं के काम में एक नेटवर्क अवरोधन तंत्र शामिल होता है। यह सिस्टम को खुले रिकॉर्डिंग सत्रों की पहचान करने और तदनुसार विवादों को हल करने में मूल्यवान समय बर्बाद करने के लिए मजबूर करता है।

ब्लॉकिंग ऑपरेशन के मुख्य लक्षण:

  • एक्सक्लूसिव मोड में नेटवर्क पर डेटाबेस के साथ उपयोगकर्ता तेजी से काम करता है और जब कई उपयोगकर्ता एक साथ काम करते हैं तो यह बेहद धीमी गति से काम करता है
  • सर्वर पर स्थानीय डेटाबेस के साथ तेज़ उपयोगकर्ता अनुभव और नेटवर्क पर धीमा काम
  • फ़ाइल सिस्टम एक्सेस केवल 10 एमबी/सेकंड से कम है

इसलिए, मुझे यह सुनिश्चित करने का काम दिया गया कि एक ही समय में तीन उपयोगकर्ता 1सी में काम कर सकें! मज़ेदार, है ना?

जब मैंने देखा कि मुझे किस चीज़ से निपटना है तो मैं सभी चुटकुले भूल गया: एक साधारण कार्यालय कंप्यूटर और दो लैपटॉप के रूप में एक "सर्वर"।

यदि अद्भुत ऑपरेटिंग सिस्टम न हों तो खुशी अधूरी होगी - कंप्यूटर पर विंडोज 7 और लैपटॉप पर विंडोज 8, दूसरे पर विंडोज 8।

लैपटॉप पर दस्तावेज़ों को एक साथ पोस्ट करने का प्रयास करते समय, एक लगभग एक मिनट तक अटका रहा, और दूसरा त्रुटि पाठ "टेबल को लॉक नहीं कर सका..." के साथ 1C से बाहर हो गया।

लैपटॉप पर 1C लॉन्च करना एक अलग शो है जो लगभग चलता रहा 3 मिनट!

कई संसाधनों पर मुझे टर्मिनल एक्सेस में काम करने के लिए स्विच करने की सलाह मिली। दुर्भाग्य से, विंडोज 7 आपको मानक टूल का उपयोग करके टर्मिनल सर्वर में बदलने की अनुमति नहीं देता है - अधिकतम एक सक्रिय कनेक्शन है। इस स्थिति में, शेष सत्र समाप्त नहीं होते हैं; आप किसी अन्य उपयोगकर्ता के तहत पुनः कनेक्ट कर सकते हैं - पिछले उपयोगकर्ता को "बाहर फेंकना", लेकिन उसका सत्र समाप्त किए बिना। इसलिए, आपको 1सी को सर्वर ओएस में स्थानांतरित करना चाहिए, जहां ऐसे कोई प्रतिबंध नहीं हैं। ग्राहक ने, अपने जोखिम पर, इसके बजाय तृतीय-पक्ष उपयोगिता का उपयोग करके समस्या का समाधान किया Windows7_SP1_RDFack.

लेकिन रोमांच यहीं ख़त्म नहीं हुआ। यहां तक ​​कि टर्मिनल कनेक्शन में भी काफी देरी हुई। एक बार फिर सर्वशक्तिमान खोज इंजनों ने मेरी मदद की। नीचे फ़ाइल 1सी को तेज़ करने के लिए युक्तियाँ दी गई हैं, जिनका मैंने पालन किया:

1. अक्षम करनानेटवर्क प्रोटोकॉल का उपयोग आईपीवी6, "पुराने" IPv4 पर एड्रेसिंग कॉन्फ़िगर करें।

2. Windows फ़ायरवॉल अपवादों के साथ-साथ एंटीवायरस अपवादों में 1C प्रक्रियाएँ जोड़ें, या उन्हें पूरी तरह से अक्षम करें (अधिक जोखिम भरा, लेकिन एक सरल परीक्षण से पता चला) गति में वृद्धिअवास्ट एंटीवायरस अक्षम होने पर दस्तावेज़ों का पुनः स्थानांतरण का कारक!)

3. 1C में पूर्ण-पाठ खोज को अनुक्रमित करना प्रारंभ करें या इसे पूरी तरह से बंद कर दें

4. ChDbfl उपयोगिता से जाँच करके परीक्षण चलाएँ और डेटाबेस को ठीक करें

5. कॉन्फ़िगरेशन में चेक कॉन्फ़िगरेशन आइटम चलाएँ (यदि कॉन्फ़िगरेशन मानक नहीं है, तो यह उपयोगी हो सकता है)। कॉन्फ़िगरेशन की जाँच के परिणामों के आधार पर, इसका आकार जादुई रूप से लगभग एक तिहाई कम हो गया। आने वाले प्रोग्रामर ने मुझसे पहले क्या अपडेट किया, मैं वास्तव में इसकी गहराई से जांच नहीं कर पाया, लेकिन तथ्य स्पष्ट है।

6. अनावश्यक कार्यात्मक विकल्प अक्षम करें.

7. उपयोगकर्ता अधिकार सेट करें. (यह और पिछली सलाह तब तक बेवकूफी भरी लगती थी जब तक कि मैंने दस्तावेज़ों की सूची खोलते समय प्रबंधित प्रपत्रों का प्रतिपादन नहीं देखा। एक प्रबंधित इंटरफ़ेस में जितनी कम अनावश्यकता होगी, एक नियम के रूप में यह उतनी ही तेज़ी से काम करेगा)

8. योग की पुनर्गणना करना और अनुक्रम को पुनर्स्थापित करना शुरू करें (महत्वपूर्ण वृद्धि केवल तभी हो सकती है जब योग को लंबे समय तक बहाल नहीं किया गया हो)

9. डेटाबेस सूची सेटिंग्स में "कनेक्शन गति - कम" निर्दिष्ट करें (इससे कोई खास परिणाम नहीं मिला, सिवाय इसके कि सबसिस्टम की छवियां बंद कर दी गईं :))

इन सभी चरणों को पूरा करने के बाद, 1C फ़ाइल डेटाबेस बहुत तेज़ी से काम करने लगा। यह अधिकतम 10 सेकंड में लॉन्च होने लगा और दस्तावेज़ स्थानांतरण की गति औसतन 12 गुना बढ़ गई।

यदि आपको अचानक अपने 1C फ़ाइल डेटाबेस को तेज़ करने की आवश्यकता हो तो शायद यह संक्षिप्त लेख आपके लिए उपयोगी होगा।

पी.एस: लेकिन किसी साझा फ़ोल्डर में नेटवर्क एक्सेस का उपयोग करके फ़ाइल 1C लॉन्च करना अभी भी अवास्तविक है, क्योंकि... यहां तक ​​कि सबसे तेज़ सॉलिड-स्टेट ड्राइव, रैम और प्रोसेसर भी नेटवर्क रुकावटों में चलेंगे, और एक से अधिक उपयोगकर्ताओं का काम करना लगभग असंभव होगा। हम विशेष रूप से UT 11.1 के कॉन्फ़िगरेशन के बारे में बात कर रहे हैं। स्व-लिखित छोटे कॉन्फ़िगरेशन फ़ाइल संस्करण में भी काफी तेज़ी से काम कर सकते हैं।

टिप्पणियों से परिवर्धनप्रकाशन हेतु:

चक्र एकत्रित करने वालाफ़ाइल आधार के साथ

कनवल्शनडेटाबेस (उपयोगी हो सकता है यदि डेटाबेस बड़ा है, उदाहरण के लिए, कई वर्षों के लिए)। क्लाइंट का डेटाबेस काफी नया था, इसलिए कमी करना अव्यावहारिक था।

हार्डवेयर अपग्रेड - तेज़ हार्ड ड्राइव, नया स्विच, प्रोसेसर, आदि।

वेब सर्वर पर स्थापित करें, एक पतले क्लाइंट का उपयोग करके पहुंच। यहां राय बंटी हुई है. कुछ लोग कहते हैं कि यह कई गुना तेज़ है, अन्य कहते हैं कि कोई त्वरण नोट नहीं किया गया है।

विषय पर प्रकाशन