একটি উচ্চ লোড, অত্যন্ত ব্যস্ত কন্টেন্ট স্ট্রিমিং সার্ভারের জন্য সেরা সিস্টেমেট কনফিগারেশনটি কী? সার্ভারটি অ্যামাজন, এস 3 ইত্যাদির মতো দূরবর্তী সার্ভারগুলি থেকে সামগ্রীটি আনে then তারপরে পিএইচপি ব্যবহার করে সামগ্রীটিকে হার্ড ড্রাইভে সংরক্ষণ না করেই গতিশীলভাবে ব্যবহারকারীকে প্রবাহিত করতে পারে। পিএইচপি ফাইল আনতে সিআরএল ব্যবহার করে, তারপরে এটি একই সাথে স্ট্রিম করতে ফ্লাশ () ব্যবহার করে, তাই খুব বেশি হার্ড ড্রাইভের কাজ হয় না ... কেবল নেটওয়ার্ক এবং ব্যান্ডউইথ।
সার্ভারটি কোয়াড কোর জিয়ন, 1 জিবিটি ফুল ডুপ্লেক্স এনআইসি, 8 জিবি র্যাম এবং র্যাডে 500 গিগাবাইট 2 রয়েছে। সার্ভারের মেমরির ব্যবহার এবং সিপিইউ লোড বেশ কম।
আমরা এটির উপরে ডেবিয়ান লেনি এবং লাইটটিপিডি 2 চালিয়ে যাচ্ছি (হ্যাঁ আমি এটি এখনও প্রকাশ করি নি :-) জানি) পিএইচপি 5.3.6 সহ এবং পিএইচপি ফাস্টসিগি স্পেন-এফসিগি বাইন্ডের সাথে 4 টি আলাদা ইউনিক্স সকেটের সাথে 20 টি শিশু রয়েছে। এসকিউএফ (সংক্ষিপ্ত কাতারে প্রথম) কনফিগারেশনের এই 4 টি সকেটের মধ্যে ফাস্টসিগির অনুরোধগুলিকে ভারসাম্য বজায় রাখতে লাইটটিপিডি 2 কনফিগারেশনে মোড_বালেন্সার মডিউল সহ সর্বাধিক এফসিগির অনুরোধগুলি 20 হয় 20
আমাদের সার্ভারগুলি প্রচুর পরিমাণে ব্যান্ডউইথ ব্যবহার করে अर्थात নেটওয়ার্ক সংযোগ সারাক্ষণ ব্যস্ত থাকে। 100 থেকে 200 সমান্তরাল সংযোগের পরে, সার্ভারটি ধীর হতে শুরু করে এবং শেষ পর্যন্ত প্রতিক্রিয়াহীন হয়ে ওঠে, সংযোগের সময়সীমা ত্রুটি দেওয়া শুরু করে। যখন আমাদের সিপিএনেল ছিল, আমরা কখনই সময়সীমা ত্রুটি পাই নি, সুতরাং এটি কোনও স্ক্রিপ্টের সমস্যা হতে পারে না। এটি অবশ্যই একটি নেটওয়ার্ক কনফিগারেশন সমস্যা হতে পারে।
লাইটটিপিডি 2 কনফিগারেশন: কর্মী প্রক্রিয়াগুলি = 8, জীবিত অনুরোধগুলি 32 হয়, জীবিত রাখুন অলস সময়সীমা 10 সেকেন্ড এবং সর্বাধিক সংযোগগুলি 8192।
আমাদের বর্তমান sysctl.conf সামগ্রীগুলি হল:
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_tw_recycle = 1
# Increase maximum amount of memory allocated to shm
kernel.shmmax = 1073741824
# This will increase the amount of memory available for socket input/output queues
net.ipv4.tcp_rmem = 4096 25165824 25165824
net.core.rmem_max = 25165824
net.core.rmem_default = 25165824
net.ipv4.tcp_wmem = 4096 65536 25165824
net.core.wmem_max = 25165824
net.core.wmem_default = 65536
net.core.optmem_max = 25165824
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
# you shouldn't be using conntrack on a heavily loaded server anyway, but these are
# suitably high for our uses, insuring that if conntrack gets turned on, the box doesn't die
# net.ipv4.netfilter.ip_conntrack_max = 1048576
# net.nf_conntrack_max = 1048576
# For Large File Hosting Servers
net.core.wmem_max = 1048576
net.ipv4.tcp_wmem = 4096 87380 524288
sysctls
। প্রক্রিয়া বন্ধ হয়ে যাওয়া, স্মৃতিশক্তির অভাব ইত্যাদি প্রক্রিয়া আছে কিনা তা পরীক্ষা করে strace
দেখুন এবং তারা কোথায় / কোথায় ঝুলছে।