मैं PHP 7.4 में opcache को प्रीलोडिंग कैसे सक्षम कर सकता हूं?


9

मैं अपने उत्पादन सर्वर पर PHP 7.4 का उपयोग करके opcache प्रीलोडिंग ( RFC ) को सक्षम करना चाहूंगा । मैं सिम्फनी का उपयोग कर रहा हूं , लेकिन यह सभी PHP पर लागू होता है।


1
निश्चित नहीं है कि reddit.com/r/PHP/comments/e8pgzi/… इसका उपयोग करने के लिए किसी भी योजना को प्रभावित करेगा।
निगेल रेन


1
इस लेख की जाँच करें । यह भी पढ़ें कि बग निगेल ने पोस्ट किया है, क्योंकि यह समय के लिए काफी महत्वपूर्ण लगता है।
जेटो

जवाबों:


4

सबसे पहले आपको जोड़ना चाहिए:

opcache.preload=/path/to/project/preload.php

आपके php.ini

फिर अपनी PHP स्क्रिप्ट में आपको opcache_compile_file($file);प्रत्येक फ़ाइल में पास होना चाहिए जिसे आप पहले से लोड करना चाहते हैं।


4

ब्लॉग पोस्ट के अनुसार यह तुच्छ प्रतीत होता है। 4.4 से स्पष्ट रूप से सिम्फनी एक प्रीलोड स्क्रिप्ट उत्पन्न करता है जिसे इसमें सेट किया जाना है php.ini:

opcache.preload=/path/to/project/var/cache/prod/App_KernelProdContainer.preload.php

मैंने अपने स्थानीय डॉकर वातावरण में कुछ परीक्षण किए और यह इस प्रकार है:

PHP 7.3 बिना OPcache (वर्तमान) के

Requests per second:    8.75 [#/sec] (mean)
Time per request:       114.402 [ms] (mean)

PHP 7.4 बिना OPcache के

Requests per second:    11.44 [#/sec] (mean)
Time per request:       87.417 [ms] (mean)

PHP 7.4, ओपचे के साथ, प्रीलोडिंग के बिना (Apache + modphp)

Requests per second:    30.25 [#/sec] (mean)
Time per request:       33.053 [ms]

ओपेक के साथ PHP 7.4, प्रीलोडिंग के बिना (nginx + php fpm)

Requests per second:    40.00 [#/sec] (mean)

दुर्भाग्य से मैं प्रीलोडिंग को सक्षम करने में सक्षम नहीं था :( मुझे अपाचे + मॉड और नेग्नेक्स + एमएमएम दोनों में त्रुटियों का सामना करना पड़ा:

double free or corruption (!prev)
child pid 17 exit signal Aborted (6), possible coredump (…)

यह सुविधा हालांकि WIP जैसी दिखती है । जब मैं इस प्रीलोडिंग चीज़ का उपयोग करने में सक्षम होता हूं, तो मैं इस उत्तर को पुन: अमान्य करने जा रहा हूं। समग्र में मैं काफी PHP से प्रभावित रहा हूँ, + 30% प्रदर्शन सिर्फ उन्नयन द्वारा 7.3करने के लिए 7.4

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.