লিনাক্স কনফিগারেশন টিউনিং
সিস্টেমের সমান্তরালতা বৃদ্ধির জন্য, event এক্সটেনশন ইনস্টল করার পাশাপাশি লিনাক্স কনফিগারেশনটি অপটিমাইজ করাও অত্যন্ত গুরুত্বপূর্ণ। নিম্নলিখিত প্রতিটি অপটিমাইজেশন খুবই গুরুত্বপূর্ণ, দয়া করে একে একে সম্পন্ন করুন।
প্যারামিটার ব্যাখ্যা:
max-file: নির্দেশ করে সিস্টেম স্তরে খোলা ফাইল হ্যান্ডলগুলির পরিমাণ। এটি সম্পূর্ণ OS এর জন্য প্রযোজ্য, ব্যবহারকারীর জন্য নয়।
ulimit -n: নির্দেশ করে প্রক্রিয়া স্তরের খোলা ফাইল হ্যান্ডলগুলির পরিমাণ। এটি বর্তমান
shell-এর বর্তমান ব্যবহারকারী এবং তাদের দ্বারা চালিত প্রক্রিয়াগুলির জন্য উপলব্ধ ফাইল হ্যান্ডল নিয়ন্ত্রণ করে।
সিস্টেম স্তরে খোলা ফাইল হ্যান্ডলগুলির সংখ্যা দেখুন: cat /proc/sys/fs/file-max
ফাইল খুলি /etc/sysctl.conf এবং নিম্নলিখিত সেটিংস যুক্ত করুন
# এই প্যারামিটারটি সিস্টেমের TIME_WAIT এর সংখ্যাটি সেট করে, যদি সংখ্যা ডিফল্ট মানের চেয়ে বেশি হয় তবে তা অবিলম্বে মুছে ফেলা হবে
net.ipv4.tcp_max_tw_buckets = 20000
# এটি সিস্টেমে প্রতিটি পোর্টের সর্বাধিক শোনার সারির দৈর্ঘ্য নির্ধারণ করে, এটি একটি গ্লোবাল প্যারামিটার
net.core.somaxconn = 65535
# এখনও নিশ্চিতকরণের অপেক্ষায় থাকা সংযোগের জন্য, সারিতে সংরক্ষিত সর্বাধিক সংখ্যার সংখ্যা
net.ipv4.tcp_max_syn_backlog = 262144
# যখন প্রতিটি নেটওয়ার্ক ইন্টারফেস প্যাকেট গ্রহণ করার মধ্যে হার বেশি হয় তখন সারিতে প্রবাহিত প্যাকেটের সর্বাধিক সংখ্যা
net.core.netdev_max_backlog = 30000
# এই অপশনটি NAT নেটওয়ার্কে ক্লায়েন্টদের সময় শেষ করবে, এটি 0 এ সেট করার পরামর্শ দেওয়া হয়। লিনাক্স 4.12_KERNEL থেকে tcp_tw_recycle কনফিগারেশন অপসারণ করেছে, "No such file or directory" ত্রুটি হলে দয়া করে উপেক্ষা করুন
net.ipv4.tcp_tw_recycle = 0
# সিস্টেমের সমস্ত প্রক্রিয়া মিলিয়ে খোলা ফাইলের সংখ্যা
fs.file-max = 6815744
# ফায়ারওয়াল ট্র্যাকিং টেবিলের আকার। দ্রষ্টব্য: যদি ফায়ারওয়াল চালু না থাকে তবে "net.netfilter.nf_conntrack_max" অজানা কী বাণী আসবে, উপেক্ষা করুন
net.netfilter.nf_conntrack_max = 2621440
net.ipv4.ip_local_port_range = 10240 65000
চালান sysctl -p এবং তাৎক্ষণিকভাবে প্রযোজ্য হবে।
বর্ণনা:
/etc/sysctl.conf অপশনগুলির একটি সংখ্যা সেট করার জন্য উপলব্ধ, অন্যান্য অপশনগুলি আপনার পরিবেশের প্রয়োজন অনুসারে সেট করা যেতে পারে।
খোলা ফাইলের সংখ্যা
সিস্টেমের খোলা ফাইলের সংখ্যাটি সেট করুন, উচ্চ সমান্তরালের অধীনে too many open files সমস্যা সমাধান করুন। এই অপশনটি একক প্রক্রিয়ার ক্লায়েন্ট সংযোগের সংখ্যা প্রভাবিত করে।
Soft open files হল লিনাক্স সিস্টেমের একটি প্যারামিটার যা সিস্টেমের একক প্রক্রিয়া দ্বারা খোলা সর্বাধিক ফাইল হ্যান্ডলগুলির সংখ্যা প্রভাবিত করে, এই মানটি দীর্ঘ সংযোগের অ্যাপ্লিকেশনগুলির জন্য যেমন চ্যাট, যেখানে একটি একক প্রক্রিয়া ব্যবহারকারী সংযোগ বজায় রাখতে পারে, প্রভাবিত করে। চলমান ulimit -n এই প্যারামিটার মানটি দেখাবে, যদি এটি 1024 হয়, তবে এর মানে হল যে একক প্রক্রিয়া একযোগে সর্বাধিক 1024 বা আরও কম (কারণ অন্যান্য ফাইল হ্যান্ডল খোলা থাকতে পারে) বজায় রাখতে পারে। যদি 4টি প্রক্রিয়া ব্যবহারকারী সংযোগ বজায় রাখে, তাহলে পুরো অ্যাপ্লিকেশন একসাথে 4*1024 এর বেশি সংযোগ রাখবে না, অর্থাৎ সর্বাধিক 4x1024 জন ব্যবহারকারী অনলাইনে থাকতে পারে। এই সেটিংটি বাড়াতে পারেন যাতে পরিষেবাটি আরও TCP সংযোগ বজায় রাখতে পারে।
Soft open files পরিবর্তনের তিনটি পদ্ধতি:
প্রথম: টার্মিনালে সরাসরি চলান ulimit -HSn 102400, এর পরে workerman পুনরায় চালু করুন।
এটি শুধুমাত্র বর্তমান টার্মিনালের জন্য কার্যকর, বেরিয়ে গেলে, open files আবার ডিফল্ট মানে ফিরে আসবে।
দ্বিতীয়: /etc/profile ফাইলের অন্তিমে একটি লাইন যোগ করুন ulimit -HSn 102400, যাতে প্রত্যেকবার টার্মিনালে লগ ইন করার সময় এটি স্বয়ংক্রিয়ভাবে কার্যকর হয়। পরিবর্তনের পর workerman পুনরায় চালু করার প্রয়োজন।
তৃতীয়: open files এর মানটিকে স্থায়ীভাবে কার্যকর করতে হলে, কনফিগারেশন ফাইলটি পরিবর্তন করতে হবে: /etc/security/limits.conf। এই ফাইলে এর পরে যোগ করুন:
* soft nofile 1024000
* hard nofile 1024000
root soft nofile 1024000
root hard nofile 1024000
এই পদ্ধতির জন্য সার্ভারটি পুনরায় চালু করা আবশ্যক।