TRANXACT.AI मदत

सिस्टम मॉनिटर: कार्य प्रक्रिया, ट्रेस, लॉक आणि सेशन्स

प्लॅटफॉर्म सध्या काय करत आहे, त्यामागील डेटाबेसचे काम, त्याने लावलेले लॉक्स आणि कोण साइन इन आहे — आणि यापैकी काहीही कसे थांबवायचे.

वर्क प्रोसेसेस, सिस्टम ट्रेसेस आणि लॉक्स हे इंटिग्रेशन, पाइपलाइन आणि वर्कफ्लो हेल्थ स्क्रीनच्या शेजारी, प्लॅटफॉर्म → ऑपरेशन्स → हेल्थ अंतर्गत आहेत; वेब आणि युझर सेशन्स हे युझर्सच्या शेजारी, प्लॅटफॉर्म → ॲक्सेस अंतर्गत आहेत. प्रत्येकाची स्वतःची एक परवानगी आहे, त्यामुळे ऑपरेशन्स रोलला प्रत्येकाला साइन आउट करण्याची परवानगी न देताही, सिस्टमवर लक्ष ठेवण्याची आणि अनियंत्रित क्वेरी रद्द करण्याची परवानगी दिली जाऊ शकते.

कार्य प्रक्रिया

उत्तर दिली जाणारी प्रत्येक विनंती, प्रत्येक बॅकग्राउंड वर्कर (शेड्यूलर, मेलर, प्रोसेस मायनिंग, डेटा रिटेंशन, ई-सिग्नेचर स्वीप्स, इस्टेट रिपोर्टर) आणि प्रत्येक चालू कंटेनरवरील प्रत्येक बॅच रन — हे सर्व त्या क्षणी वापरत असलेल्या डेटाबेस बॅकएंडशी जोडलेले असते. त्याच्या खाली, प्रत्येक डेटाबेस कनेक्शन, त्याची स्थिती, ते कशाची वाट पाहत आहे, त्याचे स्टेटमेंट आणि ट्रान्झॅक्शन किती काळापासून उघडे आहेत, त्याला कोणी ब्लॉक केले आहे, आणि कोणत्या विनंतीने किंवा जॉबने ते पाठवले आहे, या सर्व गोष्टी नमूद केलेल्या असतात.

  • कॅन्सल केल्याने सध्या चालू असलेले स्टेटमेंट थांबते; त्यामुळे रिक्वेस्ट वाट पाहण्याऐवजी एररसह समाप्त होते. अनेक ओळींवर टिक करा आणि त्या सर्व एकत्र थांबवण्यासाठी 'कॅन्सल सिलेक्टेड' वापरा.
  • बॅच रनमध्ये, 'रद्द करा' (Cancel) पर्याय निवडल्यास ते पुढील आयटमवर थांबते — कोणताही आयटम अर्धवट सोडला जात नाही — आणि जे काही पूर्ण झाले होते, त्यासह तो रन रद्द झाल्याची नोंद केली जाते.
  • एंड (End) (डेटाबेस बॅकएंडवर) ते कनेक्शन बंद करते आणि त्याचा ट्रान्झॅक्शन रोलबॅक करते. याचा उपयोग अशा सेशनसाठी करा जे 'ट्रान्झॅक्शनमध्ये निष्क्रिय' (idle in transaction) आहे आणि लॉक धारण करून आहे, ज्यापर्यंत कॅन्सल (Cancel) पोहोचू शकत नाही कारण त्यावेळी काहीही चालू नसते.
  • दुसऱ्या कंटेनरवरील काम त्या कंटेनरद्वारे रद्द केले जाते: ही क्रिया दहा सेकंदांच्या आत होते.
  • प्रत्येक रद्द करण्याच्या आणि समाप्त करण्याच्या प्रक्रियेवेळी कारण विचारले जाते, जे तुमच्या नावासह ऑडिट लॉगमध्ये नोंदवले जाते.

सिस्टम ट्रेस

ट्रेस (कोणत्याही वर्क किंवा बॅकएंडवर) एक संपूर्ण प्रोसेस उघडतो: त्या प्रोसेसने पाठवलेले प्रत्येक स्टेटमेंट, प्रत्येकाला लागलेला वेळ आणि त्याने परत केलेल्या रो, त्याने धारण केलेले आणि ज्याची तो वाट पाहत आहे ते लॉक्स, त्याच्या पुढील सेशन्सची साखळी, त्याच्या मागे रांगेत असलेले सेशन्स, आणि जिथे सुरक्षितपणे दाखवता येते तिथे सध्या चालू असलेल्या क्वेरीचा प्लॅन. सिस्टम ट्रेसेस स्क्रीन सर्वात धीम्या आणि सर्वात अलीकडील कामाची यादी करते, आणि — जिथे डेटाबेसमध्ये pg_stat_statements आहेत — तिथे ज्या स्टेटमेंट्सनी डेटाबेसचा सर्वाधिक वेळ वापरला आहे त्यांचीही यादी करते. वापरकर्त्यांनी टाइप केलेली मूल्ये कधीही रेकॉर्ड केली जात नाहीत: तिथेच वैयक्तिक डेटा असतो.

कुलूपे

ज्या लॉक्सची प्रतीक्षा केली जात आहे, जे लॉक्स एखाद्याला ब्लॉक करतात, ॲडव्हायझरी लॉक्स (स्कीमा मायग्रेशन लॉकचे नाव घेतले जाते), आणि बॅच रन्स जे अजूनही "रनिंग" दाखवत आहेत. जेव्हा लॉक धारण करणारा ट्रान्झॅक्शन तुम्ही सेट केलेल्या थ्रेशोल्डपेक्षा (डीफॉल्टनुसार पाच मिनिटे) जास्त काळ निष्क्रिय राहतो, किंवा जेव्हा कोणताही चालू असलेला कंटेनर बॅच रनवर दावा करत नाही, तेव्हा तो लॉक स्टेल (stale) म्हणून चिन्हांकित केला जातो — ज्या रनचा कंटेनर थांबला आहे तो कधीही पूर्ण होणार नाही, आणि जोपर्यंत तो रिलीज होत नाही तोपर्यंत त्याचे शेड्यूल पुन्हा चालणार नाही.

  • सर्व कालबाह्य झालेले निवडा, नंतर निवडलेले सोडा. PostgreSQL लॉक तेव्हाच परत देते जेव्हा ते धारण करणारे सत्र (session) संपते, म्हणून 'सोडणे' (Release) ते सत्र समाप्त करते आणि त्याचा व्यवहार (transaction) पूर्ववत करते.
  • जोपर्यंत तुम्ही 'फोर्स रिलीज' निवडत नाही, तोपर्यंत 'स्टेल' नसलेला लॉक नाकारला जातो — या क्षणी लॉक धारण करणारा एखादा 'हेल्दी ट्रान्झॅक्शन' समाप्त करणे, हेच ते क्लिक आहे ज्यामुळे ती समस्या उद्भवते, जी दुरुस्त करण्यासाठी ते क्लिक केले गेले होते.
  • कालबाह्य झालेली बॅच रन रिलीझ केल्याने ती अयशस्वी झाल्याचे चिन्हांकित होते, जेणेकरून तिचे शेड्यूल पुन्हा चालवता येईल.

वेब आणि वापरकर्ता सत्रे

प्रत्येक वेब सेशन (प्रत्येक ब्राउझर किंवा डिव्हाइससाठी एक) आणि प्रत्येक साइन-इन केलेली व्यक्ती, ती व्यक्ती सध्या काय करत आहे यासह. व्यक्तीनुसार आणि सेशननुसार निवड करा, नाव, पत्ता किंवा स्त्रोतानुसार फिल्टर करा आणि एक सेशन, एका व्यक्तीची सर्व सेशन्स, निवडक सेशन्स किंवा तुमच्याशिवाय इतर सर्वांना साइन आउट करा. सर्व्हिस अकाउंट्ससुद्धा येथे दिसतात, प्रत्येक टोकनसाठी एक सेशन. तुमचे स्वतःचे सेशन कोणत्याही मोठ्या कृतीने कधीही समाप्त होत नाही.

प्लॅटफॉर्म अंतर्गत रोल्स स्क्रीनवर, खालील पर्याय उपलब्ध आहेत: वर्क प्रोसेसेस — पाहण्यासाठी प्रदर्शित करा, रद्द करण्यासाठी बदला, बॅकएंड समाप्त करण्यासाठी हटवा. सिस्टम ट्रेसेस — प्रदर्शित करा. लॉक्स — पाहण्यासाठी प्रदर्शित करा, मुक्त करण्यासाठी हटवा. वेब आणि युझर सेशन्स — पाहण्यासाठी प्रदर्शित करा, लोकांना साइन आउट करण्यासाठी हटवा. हे सर्व एका प्रशासकाच्या नियंत्रणाखाली असते. मल्टी-टेनंट डिप्लॉयमेंटमध्ये, प्रत्येक टेनंटला फक्त स्वतःचे काम आणि स्वतःचे डेटाबेस कनेक्शन्स दिसतात.