Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

पीडीओ को पूरी तरह से समझना ATTR_PERSISTENT

अपाचेस दृष्टिकोण

अपाचे में एक मूल प्रक्रिया है। यह प्रक्रिया चाइल्ड प्रोसेस बनाती है जो वेब सर्वर पर आने वाले किसी भी अनुरोध को हैंडल करेगी। वेब सर्वर शुरू होने पर शुरू होने वाली चाइल्ड प्रक्रियाओं की प्रारंभिक मात्रा StartServers द्वारा कॉन्फ़िगर की जाती है। अपाचे विन्यास में निर्देश। वेब सर्वर पर ServerLimit . तक अनुरोधों की बढ़ती मात्रा के साथ आवश्यकतानुसार संख्या बढ़ जाती है पहुँच गया है।

PHP और लगातार कनेक्शन

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

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

ध्यान रखें कि...

यह जानना महत्वपूर्ण है, कि इससे बहुत परेशानी भी हो सकती है। यदि कोई अंतहीन लूप या निरस्त लेनदेन है या स्क्रिप्ट निष्पादन के दौरान कुछ अन्य अप्रत्याशित त्रुटि भी हो सकती है, तो कनेक्शन अवरुद्ध है और इसका पुन:उपयोग नहीं किया जा सकता है .यह भी हो सकता है कि डेटाबेस के सभी उपलब्ध कनेक्शन का उपयोग किया जाता है, लेकिन अपाचे सर्वर की एक और चाइल्ड प्रक्रिया है जो डेटाबेस तक पहुंचने की कोशिश कर रही है। यह प्रक्रिया तब तक के लिए अवरुद्ध है जब तक कि डेटाबेस द्वारा कनेक्शन मुक्त नहीं किया जाता है या apache (समयबाह्य या स्वेच्छा से समाप्ति द्वारा)। इस पृष्ठ पर इस विषय के बारे में कोई और जानकारी:http://www.php.net/manual/en/features.persistent-connections.php

मुझे आशा है कि मुझे वह सब मिल गया है जिस पर हमने अपनी टिप्पणी बातचीत में चर्चा की है और संक्षेप में कुछ भी नहीं भूले हैं। यदि ऐसा है, तो कृपया मुझे एक संकेत दें और मैं इसे जोड़ दूंगा। :)

संपादित करें:

मैंने इस टिप्पणी में उल्लिखित लेख @MonkeyZeus को पढ़ना समाप्त कर दिया है। यह उस प्रक्रिया का वर्णन करता है जिसे मैंने ऊपर संक्षेप में प्रस्तुत किया है और लगातार कनेक्शन के साथ बेहतर तरीके से काम करने के लिए अपने अपाचे सर्वर को अनुकूलित करने के तरीके के बारे में उपयोगी जानकारी प्रदान करता है। इसका उपयोग ओरेकल डेटाबेस बैकएंड के साथ या बिना किया जा सकता है, हालाँकि। आपको एक नज़र डालनी चाहिए:http://www.oracle.com/technetwork/articles/coggesall-persist-084844.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle दिनांक DST की वजह से टूटी हुई तुलना

  2. ओरेकल के एंटिटी फ्रेमवर्क समर्थन के साथ पास्कल केस को कैसे बल दें?

  3. Oracle एकाधिक मानों से मेल खाने वाली पंक्तियों को हटाएं

  4. फ़ंक्शन से परिणाम लौटाएं

  5. पीएल/एसक्यूएल में वर्तमान तिथि कैसे प्राप्त करें?