HestiaCP-তে OPcache কীভাবে অপ্টিমাইজ করবেন? অপকোড ক্যাশিং এবং PHP কোড কম্পাইল করার মাধ্যমে ওয়েবসাইটের গতি ব্যাপকভাবে বাড়ানো যায়।

গতিই জীবন; কোনো ওয়েবসাইট এক সেকেন্ডের ভগ্নাংশ পরিমাণও পিছিয়ে থাকলে ব্যবহারকারীরা তা ছেড়ে চলে যাবে।

সেই কারণেই HestiaCP PHP-নির্ভর যেকোনো ওয়েবসাইটের সাফল্য বা ব্যর্থতার জন্য OPcache অপ্টিমাইজ করা অত্যন্ত গুরুত্বপূর্ণ।

OPcache কী?

OPcache হলো PHP-এর একটি বিল্ট-ইন বাইটকোড ক্যাশিং ইঞ্জিন।

এর কাজটা খুবই সহজ: কম্পাইল করা PHP স্ক্রিপ্টটিকে মেমরিতে ক্যাশ করে রাখা, এবং পুনরায় অ্যাক্সেস করার সময় রিকম্পাইল না করে সরাসরি ক্যাশটিকে কল করা।

এর ফলে ওয়েবসাইটের রেসপন্স স্পিড বাড়ে, সিপিইউ-এর ওপর চাপ কমে এবং সার্ভারের ওপর থেকে তাৎক্ষণিকভাবে চাপ হ্রাস পায়।

পিএইচপি অফিসিয়াল ডকুমেন্টেশন অনুসারে:

OPcache স্ক্রিপ্ট কম্পাইলেশনের পুনরাবৃত্তি এড়িয়ে এক্সিকিউশন টাইম কমিয়ে উল্লেখযোগ্য পারফরম্যান্স উন্নতি প্রদান করে।

সংক্ষেপে: OPcache হলো একটি PHP অ্যাক্সিলারেটর।

HestiaCP-তে OPcache অপ্টিমাইজ করার কারণ কী?

HestiaCP-তে OPcache কীভাবে অপ্টিমাইজ করবেন? অপকোড ক্যাশিং এবং PHP কোড কম্পাইল করার মাধ্যমে ওয়েবসাইটের গতি ব্যাপকভাবে বাড়ানো যায়।

HestiaCP হলো একটি হালকা কন্ট্রোল প্যানেল যা অনেকেই ভিপিএস বা ডেডিকেটেড সার্ভার পরিচালনার জন্য ব্যবহার করেন।

OPcache ডিফল্টরূপে সক্রিয় থাকে, কিন্তু এর প্যারামিটারগুলো প্রায়শই সীমিত রাখা হয়।

সমন্বয় না করা হলে কর্মক্ষমতার উন্নতি সীমিত থাকবে।

উদাহরণ স্বরূপ:
৪ কোর এবং ৮ জিবি মেমোরির একটি সার্ভারে, ডিফল্ট OPcache মেমোরি মাত্র ৬৪ এমবি এবং ক্যাশ করা ফাইলের সংখ্যা মাত্র ৪০০০।
এটি মাঝারি আকারের জন্য ওয়ার্ডপ্রেস একটি ওয়েবসাইটের জন্য এটা একেবারেই যথেষ্ট নয়।

এর ফলে ক্যাশে ক্রমাগত পরিষ্কার হতে থাকে, যার কারণে পারফরম্যান্স বারবার ওঠানামা করে।

বর্তমান OPcache স্ট্যাটাস চেক করুন

নিম্নলিখিত কমান্ড চালান:

php -i | grep opcache.enable

আপনি নিম্নলিখিত ফলাফলের অনুরূপ ফলাফল দেখতে পাবেন:

  • opcache.enable => On: এর অর্থ হলো PHP-FPM-এ OPcache সক্রিয় করা আছে।
  • opcache.enable_cli => Off: কমান্ড-লাইন মোডে সক্রিয় নয়।
  • opcache.enable_file_override => Off: ফাইল ওভাররাইড কার্যকারিতা সক্রিয় করা নেই।

এর মানে হলো, যদিও OPcache ইতিমধ্যেই কাজ করছে, তবুও এটিকে আরও উন্নত করার সুযোগ রয়েছে।

পিএইচপি কনফিগারেশন ফাইল সম্পাদনা করুন

HestiaCP-তে, PHP কনফিগারেশন ফাইলের পাথ সাধারণত হয়:

/etc/php/8.x/fpm/php.ini

CLI মোড সক্রিয় করতে:

/etc/php/8.x/cli/php.ini

[opcache] সেকশনটি খুঁজুন এবং নিম্নলিখিত প্যারামিটারগুলো যোগ বা পরিবর্তন করুন:

[opcache]
; 启用 OPcache
opcache.enable=1
opcache.enable_cli=1

; 内存与缓存设置
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000

; 文件更新检测
opcache.validate_timestamps=0
opcache.revalidate_freq=60

; 其他优化参数
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.enable_file_override=1

প্যারামিটারের বিবরণ এবং অপ্টিমাইজেশন লজিক

  • opcache.memory_consumption=256
    মাঝারি থেকে বড় আকারের ওয়েবসাইটগুলোর জন্য OPcache-এ ২৫৬ মেগাবাইট মেমরি বরাদ্দ করা উপযুক্ত।
    ছোট ওয়েবসাইটের জন্য আপনি এটি ১২৮ মেগাবাইটে সেট করতে পারেন।

  • opcache.interned_strings_buffer=16
    একই স্ট্রিংয়ের ব্যবহার কমাতে একটি ১৬ মেগাবাইটের স্ট্রিং ক্যাশে প্রদান করে।

  • opcache.max_accelerated_files=10000
    ওয়ার্ডপ্রেস ও প্লাগইন পরিবেশে ক্যাশ করা ফাইলের সর্বোচ্চ সংখ্যা কমপক্ষে ১০,০০০ রাখার পরামর্শ দেওয়া হয়।

  • opcache.revalidate_freq=60
    ঘন ঘন ইনপুট/আউটপুট কমাতে প্রতি ৬০ সেকেন্ড পর পর ফাইলগুলো আপডেটের জন্য পরীক্ষা করা হয়।

  • opcache.enable_cli=1
    Artisan এবং WP-CLI-এর মতো কমান্ড-লাইন টুল চালানোর জন্য CLI ক্যাশিং সক্রিয় করা উপযুক্ত।

  • opcache.enable_file_override=1
    OPcache-কে ফাইল সিস্টেম ক্যাশের নিয়ন্ত্রণ নিতে দিন, যা ডিস্ক অ্যাক্সেস আরও কমিয়ে দেবে।

  • opcache.validate_timestamps=0
  • রিয়েল-টাইম সনাক্তকরণ নিষ্ক্রিয় করুনফাইল সিস্টেম I/O হ্রাস করুন এবং কর্মক্ষমতা উন্নত করুন।
  • তবে, এর মানে হলো PHP ফাইলগুলো পরিবর্তন করার পর আপনাকে অবশ্যই ম্যানুয়ালি ক্যাশ ক্লিয়ার করতে হবে (PHP সার্ভিসটি রিস্টার্ট করতে হবে)।

কনফিগারেশন পরিবর্তন করার পর, পরিবর্তনগুলো কার্যকর হওয়ার জন্য আপনাকে অবশ্যই PHP সার্ভিসটি রিস্টার্ট করতে হবে।

sudo systemctl restart php<版本>-fpm

এই প্যারামিটারগুলোর সমন্বয়ের ফলে ওয়েবসাইটটি উচ্চ কনকারেন্সির অধীনেও স্থিতিশীল থাকে।

PHP-FPM পরিষেবাটি পুনরায় চালু করুন

পরিবর্তনগুলো করার পর, সার্ভিসটি রিস্টার্ট করতে মনে রাখবেন:

sudo systemctl restart php8.x-fpm

তারপর এটি আবার চালান:

php -i | grep opcache

প্যারামিটারগুলো হালনাগাদ করা হয়েছে বলে নিশ্চিত করা হয়েছে।

প্রোডাকশন পরিবেশের জন্য সর্বোত্তম অনুশীলন

প্রোডাকশন পরিবেশে, OPcache অপ্টিমাইজেশন শুধু প্যারামিটার টিউনিংয়ের মধ্যেই সীমাবদ্ধ নয়; এর মধ্যে নিম্নলিখিত কৌশলগুলোও অন্তর্ভুক্ত থাকে:

১. ডেপ্লয়মেন্টের সময় ক্যাশে পরিষ্কার করুন

প্রতিটি কোড আপডেটের পর OPcache অবশ্যই পরিষ্কার করতে হবে; অন্যথায়, পুরোনো সংস্করণ লোড হয়ে যেতে পারে।

আপনি CI/CD স্ক্রিপ্টে নিম্নলিখিতগুলি যোগ করতে পারেন:

<?php
opcache_reset();

বিকল্পভাবে, ডেপ্লয়মেন্ট প্রক্রিয়ার মধ্যেই এটি সম্পাদন করুন:

systemctl reload php8.x-fpm

২. ঘন ঘন পরিষ্কার করা এড়িয়ে চলুন।

অতিরিক্ত ঘন ঘন ক্যাশে পরিষ্কার করার ফলে পারফরম্যান্সের অবনতি হতে পারে।
নিয়মিত বিরতিতে পরিষ্কার করার পরিবর্তে, শুধুমাত্র কোড আপডেট করার সময়েই পরিষ্কার করার পরামর্শ দেওয়া হয়।

৩. OPcache-এর ব্যবহার নিরীক্ষণ করুন।

আপনি `php -i | grep opcache` ব্যবহার করে অথবা Opcache Control Panel প্লাগইনটি ইনস্টল করে রিয়েল টাইমে ক্যাশে হিট রেট পরীক্ষা করতে পারেন।
৯৫ শতাংশের বেশি সঠিকতার হার একটি যুক্তিসঙ্গত কনফিগারেশন নির্দেশ করে।

Zend-এর আনুষ্ঠানিক পারফরম্যান্স পরীক্ষা অনুসারে, OPcache সক্রিয় করলে PHP স্ক্রিপ্ট নির্বাহের গতি ৩ গুণ পর্যন্ত বাড়তে পারে এবং CPU ব্যবহার ৫০% পর্যন্ত কমে যেতে পারে।

এটা কোনো অলৌকিক তত্ত্ব নয়; এটা অকাট্য তথ্য।

উপসংহার: আমার দৃষ্টিভঙ্গি এবং মূল উক্তি

আমার মতে, OPcache একটি ওয়েবসাইটের জন্য 'টার্বোচার্জার'-এর মতো। এটি ছাড়া PHP হলো টার্বোচার্জারবিহীন গাড়ির মতো, যা ধীরে চলে এবং জ্বালানি অপচয় করে।

OPcache অপ্টিমাইজ করা শুধুমাত্র একটি প্রযুক্তিগত বিষয় নয়, বরং ওয়েবসাইট পরিচালনার জন্য এটি একটি কৌশলগত সিদ্ধান্তও বটে।

কারণ গতিই হলো রূপান্তরের হার, এবং কর্মক্ষমতাই হলো প্রতিযোগিতা সক্ষমতা।

মূল উক্তি: একটি ওয়েবসাইটের ভবিষ্যৎ তার কোড কতটা চমৎকার, তার উপর নির্ভর করে না, বরং এটি কতটা দ্রুত সাড়া দিতে পারে যে ব্যবহারকারীরা চোখের পলক ফেলারও সময় পায় না, তার উপর নির্ভর করে।

সুতরাং, সার্ভারগুলোকে অদক্ষ চক্রে সম্পদ অপচয় করতে দেওয়া বন্ধ করুন।

এখনই আপনার HestiaCP OPcache অপ্টিমাইজ করুন এবং আপনার ওয়েবসাইটকে আরও দ্রুতগতিসম্পন্ন করে তুলুন।

আপনি কি চান আমি আপনার প্রোডাকশন এনভায়রনমেন্টের জন্য একটি সেরা মানের OPcache কনফিগারেশন টেমপ্লেট লিখে দিই, যা আপনি সরাসরি কপি করে php.ini-তে ব্যবহার করতে পারবেন?

হোপ চেন উইলিয়াং ব্লগ ( https://www.chenweiliang.com/ এখানে শেয়ার করা "How to Optimize OPcache in HestiaCP? Opcode caching and compiling PHP code to make your website fly" আর্টিকেলটি আপনার জন্য সহায়ক হতে পারে।

এই নিবন্ধটির লিঙ্ক শেয়ার করতে স্বাগতম:https://www.chenweiliang.com/cwl-34197.html

আরও লুকানো কৌশল 🔑 জানতে, আমাদের টেলিগ্রাম চ্যানেলে যোগদান করতে স্বাগতম!

ভালো লাগলে শেয়ার এবং লাইক করুন! আপনার শেয়ার এবং লাইক আমাদের অব্যাহত অনুপ্রেরণা!

 

发表 评论

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. 必填 项 已 用 * 标注

নিবন্ধ ডিরেক্টরি
উপরে যান