दिलचस्प पोस्ट
SQL सर्वर में कंसैट समूह जावा में एएससीआईआई में स्ट्रिंग का हेक्स परिवर्तित करें आप MySQL संग्रहीत कार्यविधियों को डिबग कैसे करते हैं? रीडायरेक्ट टाईएक्शन के साथ मैं एक मॉडल कैसे शामिल करूं? सिग्नलआर – एक विशिष्ट उपयोगकर्ता को संदेश भेजने (IUserIdProvider) * न्यू 2.0.0 * बैकबोन: `$` ('# पादलेख') “ एल `को क्यों असाइन करें? पास-थ्रू माउस इवेंट्स को पेरेंट कंट्रोल कैसे अल्फा मिश्रण RGBA अहस्ताक्षरित बाइट रंग तेजी से? बाश के मूल्यों के जोड़े से अधिक लूपिंग console.log () async या सिंक? कैसे इकाई परीक्षण अतुल्यकालिक एपीआई? ब्रेकपॉइंट बाइंड करने में विफल – विजुअल स्टूडियो 2015 पायथन के अंदर पूर्णांक कैश के साथ क्या है? मैं दो तारीखों के बीच अंतर कैसे गणना कर सकता हूं? एनडीईएफ एंड्रॉइड एप्लीकेशन रिकॉर्ड्स (एएआर) के साथ एनएफसी टैग प्राप्त करें

PHP ओपीकाचे का उपयोग कैसे करें?

PHP 5.5 जारी कर दिया गया है और इसमें ओपीसीचेक नामक एक नया कोड कैशिंग मॉड्यूल है, लेकिन इसके लिए कोई दस्तावेज नहीं दिखता है।

तो इसके लिए दस्तावेज कहां है और मैं ओपेका का उपयोग कैसे करूं?

वेब के समाधान से एकत्रित समाधान "PHP ओपीकाचे का उपयोग कैसे करें?"

स्थापना

OpCache PHP5.5 + पर डिफ़ॉल्ट रूप से संकलित किया गया है हालांकि यह डिफ़ॉल्ट रूप से अक्षम है PHP5.5 में ओपसीच का इस्तेमाल शुरू करने के लिए आपको सबसे पहले इसे सक्षम करना होगा। ऐसा करने के लिए आपको निम्नलिखित करना होगा

अपने php.ini में निम्न पंक्ति जोड़ें:

 zend_extension=/full/path/to/opcache.so (nix) zend_extension=C:\path\to\php_opcache.dll (win) 

ध्यान दें कि जब पथ में रिक्त स्थान हैं, तो आपको इसे उद्धरण में लपेट करना चाहिए:

 zend_extension="C:\Program Files\PHP5.5\ext\php_opcache.dll" 

यह भी ध्यान रखें कि आपको "सामान्य" extension निर्देश के बजाय zend_ extension निर्देश का उपयोग करना होगा क्योंकि यह वास्तविक जेड इंजन को प्रभावित करता है (अर्थात जो PHP चलाता है)।

प्रयोग

वर्तमान में चार फ़ंक्शन हैं जो आप उपयोग कर सकते हैं:

opcache_get_configuration() :

वर्तमान में उपयोग किए जाने वाले कॉन्फ़िगरेशन ओपेकैश का उपयोग करता है जिसमें एक सरणी देता है इसमें सभी INI सेटिंग्स के साथ ही संस्करण की जानकारी और ब्लैकलिस्ट किए गए फ़ाइलें शामिल हैं

 var_dump(opcache_get_configuration()); 

opcache_get_status() :

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

 var_dump(opcache_get_status()); 

opcache_reset() :

संपूर्ण कैश रीसेट करता है जिसका अर्थ है कि सभी संभव कैश्ड स्क्रिप्ट को अगले विज़िट पर फिर से पार्स किया जाएगा।

 opcache_reset(); 

opcache_invalidate() :

विशिष्ट कैश्ड स्क्रिप्ट को अस्वीकृत करता है स्क्रिप्ट का मतलब अगले यात्रा पर फिर से पार्स किया जाएगा।

 opcache_invalidate('/path/to/script/to/invalidate.php', true); 

रखरखाव और रिपोर्ट

कुछ जीयूआई बनाया गया है ताकि ओपसीचे को बनाए रखने में और उपयोगी रिपोर्ट तैयार की जा सकें। ये उपकरण उपरोक्त कार्यों का लाभ उठाते हैं।

OpCacheGUI

अस्वीकरण मैं इस परियोजना के लेखक हूँ I

विशेषताएं:

  • OpCache स्थिति
  • OpCache कॉन्फ़िगरेशन
  • ओपकाच आँकड़े
  • OpCache रीसेट करें
  • कैश्ड स्क्रिप्ट अवलोकन
  • कैश्ड स्क्रिप्ट अमान्यकरण
  • बहुभाषी
  • मोबाइल डिवाइस समर्थन
  • चमकदार रेखांकन

स्क्रीनशॉट:

स्थिति

कैश्ड-लिपियों

रेखांकन

mobilr

यूआरएल: https://github.com/PeeHaa/OpCacheGUI

opcache-स्थिति

विशेषताएं:

  • OpCache स्थिति
  • OpCache कॉन्फ़िगरेशन
  • ओपकाच आँकड़े
  • कैश्ड स्क्रिप्ट अवलोकन
  • एक दस्तावेज

स्क्रीनशॉट:

स्थिति

यूआरएल: https://github.com/rlerdorf/opcache-status

opcache-जीयूआई

विशेषताएं:

  • OpCache स्थिति
  • OpCache कॉन्फ़िगरेशन
  • ओपकाच आँकड़े
  • OpCache रीसेट करें
  • कैश्ड स्क्रिप्ट अवलोकन
  • कैश्ड स्क्रिप्ट अमान्यकरण
  • स्वचालित रीफ़्रेश

स्क्रीनशॉट:

opcache-जीयूआई-सिंहावलोकन

यूआरएल: https://github.com/amnuts/opcache-gui

OPcache एपीसी की जगह

क्योंकि ओपीसीचे एपीसी मॉड्यूल को बदलने के लिए डिज़ाइन किया गया है, उन्हें PHP में समानांतर में चलाने के लिए संभव नहीं है। PHP ओपीसी कैशिंग के लिए यह ठीक है क्योंकि न ही आप कोड लिखते हैं।

हालांकि इसका अर्थ है कि यदि आप वर्तमान में अन्य डेटा ( apc_store() फ़ंक्शन के माध्यम से स्टोर करने के लिए एपीसी का उपयोग कर रहे हैं) तो आप ऐसा नहीं कर पाएंगे, यदि आप ओपीसीचे उपयोग करने का निर्णय लेते हैं

आपको किसी अन्य पुस्तकालय जैसे एपीसीयू या वाईएसी का उपयोग करना होगा, जो दोनों साझा किए गए PHP मेमोरी में डेटा स्टोर करते हैं, या मेम्कैच जैसे कुछ का उपयोग करने के लिए स्विच करते हैं, जो कि PHP में एक अलग प्रक्रिया में स्मृति में डेटा संग्रहीत करता है।

इसके अलावा, एपीसी में अपलोड की गई प्रगति मीटर के बराबर ओपीसीएचे का कोई समकक्ष नहीं है इसके बजाय आपको सत्र अपलोड प्रगति का उपयोग करना चाहिए

OPcache के लिए सेटिंग्स

यहां सूचीबद्ध सभी विन्यास विकल्प के साथ OPcache के लिए प्रलेख यहां पा सकते हैं । अनुशंसित सेटिंग्स हैं:

 ; Sets how much memory to use opcache.memory_consumption=128 ;Sets how much memory should be used by OPcache for storing internal strings ;(eg classnames and the files they are contained in) opcache.interned_strings_buffer=8 ; The maximum number of files OPcache will cache opcache.max_accelerated_files=4000 ;How often (in seconds) to check file timestamps for changes to the shared ;memory storage allocation. opcache.revalidate_freq=60 ;If enabled, a fast shutdown sequence is used for the accelerated code ;The fast shutdown sequence doesn't free each allocated block, but lets ;the Zend Engine Memory Manager do the work. opcache.fast_shutdown=1 ;Enables the OPcache for the CLI version of PHP. opcache.enable_cli=1 

यदि आप किसी भी लाइब्रेरी या कोड का उपयोग करते हैं जो कोड एनोटेशन का उपयोग करता है, तो आपको टिप्पणियाँ सहेजना आवश्यक है:

 opcache.save_comments=1 

यदि अक्षम है, तो सभी PHPDoc टिप्पणियों को कोड से हटा दिया गया है ताकि अनुकूलित कोड के आकार को कम किया जा सके। "डॉक्टर टिप्पणियां" को अक्षम करने से कुछ मौजूदा एप्लिकेशन और फ़्रेमवर्क (जैसे सिद्धांत, ZF2, PHPUnit) टूट सकता है

मैं क्या opcache का उपयोग करने के लिए अपने दो सेंट में ड्रॉप करने जा रहा हूँ

मेरे डेटाबेस से बात करने में सक्षम होने के लिए मैंने कई सारे फ़ील्ड और सत्यापन विधि और मानों के साथ एक व्यापक ढांचा बनाया है

Opcache बिना

जब इस स्क्रिप्ट को बिना opcache का उपयोग किया जाता है और मैं 9 8000 अनुरोधों को 2.8 सेकेंड में अपाचे सर्वर पर पुश करता हूं तो यह 90 से 100% सीपीयू तक 70-80 सेकेंड तक बढ़ जाता है, जब तक कि यह सभी अनुरोधों के साथ कैच न हो जाए।

Total time taken: 76085 milliseconds(76 seconds)

Opcache सक्षम के साथ

ओपेकैश सक्षम के साथ 25 से 30% सीपीयू समय लगभग 25 सेकेंड तक चलता है और 25% सीपीयू का उपयोग कभी नहीं होता है।

Total time taken: 26490 milliseconds(26 seconds)

मैंने एक opcache ब्लैकलिस्ट फाइल बनाई है, जिसमें ढांचे को छोड़कर सब कुछ कैशिंग को अक्षम किया गया है जो कि सभी स्थिर है और कार्यक्षमता बदलने की आवश्यकता नहीं है मैं स्पष्ट रूप से सिर्फ ढांचा फाइलों के लिए चयन करता हूं ताकि कैश फ़ाइलों को पुनः लोड / मान्य करने के बारे में चिंता न करें। सब कुछ कैश किए जाने से 25546 milliseconds के अनुरोधों पर एक दूसरे को 25546 milliseconds

यह महत्वपूर्ण रूप से डेटा / अनुरोधों की मात्रा को बढ़ाता है जो मैं प्रति सेकेंड को बिना किसी पसीना को तोड़ने के बिना प्रबंधित कर सकता हूं।

अमेज़ॅन लिनक्स पर PHP 5.6 पर (लाल हेट या सेंटोस पर भी होना चाहिए):

 yum install php56-opcache 

और फिर अपाचे को पुनरारंभ करें

मूडल की स्थापना करते समय मुझे इसका सामना करना पड़ा मैंने php.ini फ़ाइल में निम्नलिखित पंक्तियां जोड़ दीं।

 zend_extension=C:\xampp\php\ext\php_opcache.dll [opcache] opcache.enable = 1 opcache.memory_consumption = 128 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 60 ; Required for Moodle opcache.use_cwd = 1 opcache.validate_timestamps = 1 opcache.save_comments = 1 opcache.enable_file_override = 0 ; If something does not work in Moodle ;opcache.revalidate_path = 1 ; May fix problems with include paths ;opcache.mmap_base = 0x20000000 ; (Windows only) fix OPcache crashes with event id 487 ; Experimental for Moodle 2.6 and later ;opcache.fast_shutdown = 1 ;opcache.enable_cli = 1 ; Speeds up CLI cron ;opcache.load_comments = 0 ; May lower memory use, might not be compatible with add-ons and other apps extension=C:\xampp\php\ext\php_intl.dll [intl] intl.default_locale = en_utf8 intl.error_level = E_WARNING 

intl -> http://php.net/manual/en/book.intl.php

उबंटू 14.04 की रिलीज और PHP 5.5 के प्रसार के साथ, वैकल्पिक प्रदर्शन कैश (एपीसी) से और PHP के नए अंतर्निहित ओपेकाशे की तरफ स्थानांतरित होने जा रहा है।

यह एक तार्किक कदम है जो कि किसी भी व्याख्या की भाषा के लिए नियत लगता है। जैसा कि वेबसाइटें कई प्रक्रियाओं के चलते चलते हुए अधिक से अधिक जटिल हो गई हैं, opcode कैशिंग एक आवश्यकता बन गई है – सौभाग्य से, कार्यान्वयन करना सरल है

आपको अपने सर्वर पर php.ini फ़ाइल में परिवर्तन करने के लिए OPcache सेट अप करना है।

PHP में सेटिंग सेट अप करें: यहां छवि विवरण दर्ज करें

फिर अगला सेटिंग्स कॉन्फ़िगर करें:

यहां छवि विवरण दर्ज करें

पूरा लेख पढ़ने के लिए यहां क्लिक करें ..