আমি পিএইচপি 7.4 ব্যবহার করে আমার প্রোডাকশন সার্ভারগুলিতে ওপচী প্রিলোডিং ( আরএফসি ) সক্ষম করতে চাই । আমি সিমফনি ব্যবহার করছি , তবে এটি সমস্ত পিএইচপি-র ক্ষেত্রে প্রযোজ্য।
আমি পিএইচপি 7.4 ব্যবহার করে আমার প্রোডাকশন সার্ভারগুলিতে ওপচী প্রিলোডিং ( আরএফসি ) সক্ষম করতে চাই । আমি সিমফনি ব্যবহার করছি , তবে এটি সমস্ত পিএইচপি-র ক্ষেত্রে প্রযোজ্য।
উত্তর:
সবার আগে আপনার যুক্ত করা উচিত:
opcache.preload=/path/to/project/preload.php
তোমার php.ini
তারপরে আপনার পিএইচপি স্ক্রিপ্টে আপনার opcache_compile_file($file);
প্রতিটি ফাইল প্রিললোড করা উচিত।
ব্লগ পোস্ট অনুসারে এটি তুচ্ছ বলে মনে হচ্ছে। দৃশ্যত 4.4 সাল থেকে সিমফনি একটি প্রিললোড স্ক্রিপ্ট তৈরি করে যা এতে সেট করতে হবে php.ini
:
opcache.preload=/path/to/project/var/cache/prod/App_KernelProdContainer.preload.php
আমি আমার স্থানীয় ডকার পরিবেশে কিছু পরীক্ষা করেছি এবং এভাবেই চলেছে:
ওপচী ছাড়াই পিএইচপি 7.3 (বর্তমান)
Requests per second: 8.75 [#/sec] (mean)
Time per request: 114.402 [ms] (mean)
ওপচছে ছাড়াই পিএইচপি 7.4
Requests per second: 11.44 [#/sec] (mean)
Time per request: 87.417 [ms] (mean)
প্রিলোড না করে ওপচাচি সহ পিএইচপি 7.4 (অ্যাপাচি + মোডেফপি)
Requests per second: 30.25 [#/sec] (mean)
Time per request: 33.053 [ms]
প্রিলোড না করে ওপচাচি সহ পিএইচপি 7.4 (এনগিনেক্স + পিএইচপি এফএম)
Requests per second: 40.00 [#/sec] (mean)
দুর্ভাগ্যক্রমে আমি প্রিলোডিং সক্ষম করতে সক্ষম হইনি :( আমি নিম্নলিখিত ত্রুটিগুলির মুখোমুখি হয়েছি (অ্যাপাচি + মোড এবং এনগিনেক্স + এফপিএম উভয় ক্ষেত্রে):
double free or corruption (!prev)
child pid 17 exit signal Aborted (6), possible coredump (…)
এই বৈশিষ্ট্যটি যদিও ডাব্লুআইপি-র মতো দেখাচ্ছে । আমি এই উত্তরটি পুনরায়করণ করতে চলেছি যখন আমি এই প্রিলোডিং জিনিসটি ব্যবহার করতে সক্ষম হয়েছি। সামগ্রিক আমি বেশ পিএইচপি থেকে অভিভূত + 30% কর্মক্ষমতা শুধু আপগ্রেড দ্বারা 7.3
করতে 7.4
।