কীভাবে এতগুলি অ্যাপাচি CLOSE_WAIT সংযোগ পাবেন না?


9

নেটস্ট্যাট দেখায় যে 153 টি সংযোগ রয়েছে স্ট্যাটাসে রয়েছে CLOSE_WAIT। সংযোগগুলি কখনই বন্ধ হয় না। সুতরাং ওভারটাইম সার্ভারটি এই সংযোগগুলিতে পূর্ণ হয় যা র‌্যাম পূরণ করে এবং এখন ওয়েবসাইটগুলি লোড হচ্ছে না।

নেটস্ট্যাট নীচের মত অনেকগুলি দেখায়:

tcp      160      0 my_server_name:http         my_server_name:51584        CLOSE_WAIT
tcp      160      0 my_server_name:http         my_server_name:51586        CLOSE_WAIT
tcp        0      0 my_server_name:http         my_server_name:50827        CLOSE_WAIT
tcp        0      0 my_server_name:http         my_server_name:50830        CLOSE_WAIT
tcp      312      0 my_server_ip.static.:http rate-limited-proxy-72:61249 CLOSE_WAIT
tcp      382      0 my_server_ip.static.:http b3090792.crawl.yahoo.:58663 CLOSE_WAIT
tcp      382      0 my_server_ip.static.:http b3090792.crawl.yahoo.:34655 CLOSE_WAIT
tcp      382      0 my_server_ip.static.:http b3090792.crawl.yahoo.:56681 CLOSE_WAIT
tcp      382      0 my_server_ip.static.:http b3090792.crawl.yahoo.:40829 CLOSE_WAIT
tcp      576      0 my_server_ip.static.:http b3090792.crawl.yahoo.:38278 CLOSE_WAIT
tcp       47      0 my_server_ip.static.:http 203.200.5.143.ill-bgl:49379 CLOSE_WAIT

আমি যদি এপাশে ত্রুটি_লগটি দেখি, CLOSE_WAIT পরিস্থিতি আসার আগে নীচের মতো লাইন রয়েছে

[warn] child process 15670 still did not exit, sending a SIGTERM
[error] child process 15670 still did not exit, sending a SIGKILL
[notice] child pid 3511 exit signal Segmentation fault (11)

আমার সেটআপ অ্যাপাচি ২.২.৩ র‌্যাম 1024 এমবি (2048 এমবি বিস্ফোরিত) সেন্টোস রিলিজ 5.3 (ফাইনাল) 2 ডাব্লুপিএমইউ 2.9.2 ইনস্টলেশন চলছে


সার্ভার-স্থিতি কী দেখায়? httpd.apache.org/docs/2.0/mod/mod_status.html
জো এইচ।

কোনও কারণে, আমি এটি দেখতে পারছি না [কোডটি httpd.conf এ দেওয়ার পরে]
এসকেসিএস কামাল

উত্তর:


20

পটভূমি

দূরবর্তী প্রান্তটি এফআইএন পতাকা সেট সহ একটি প্যাকেট প্রেরণ সংযোগটি বন্ধ করে দিলে সকেট CLOSE_WAIT রাজ্যে প্রবেশ করে। এটি close()সকেটে স্থানীয় অ্যাপ্লিকেশনটির জন্য এই অবস্থায় অপেক্ষা করে এবং তারপরে ক্লায়েন্টের কাছে তার নিজস্ব এফআইএন প্রেরণ করে এবং সকেটকে LAST_ACK অবস্থায় স্থানান্তর করে। আরও দেখুন বিভিন্ন TCP রাষ্ট্র রূপান্তরটি ডায়াগ্রাম এবং জন্য RFC 793

এটিও লক্ষ করুন যে CLOSE_WAIT কুখ্যাত TIME_WAIT এর সাথে সম্পর্কিত নয় কারণ পূর্ববর্তীটি প্যাসিভ ক্লোজ শাখায় ঘটে থাকে (দূরবর্তী প্রান্তটি প্রথমে বন্ধ হয়) যখন সক্রিয় বন্ধ শাখায় পরে থাকে (স্থানীয় প্রান্তটি প্রথমে বন্ধ হয়)।

সমস্যার বিবরণ

সাধারণত CLOSE_WAIT থেকে LAST_ASK এ মোটামুটি দ্রুত সংযোগ স্থাপন হয়। যদি দূরবর্তী ঠিকানা এবং বন্দরটি দ্রুত পরিবর্তন করতে থাকে তবে CLOSE_WAIT রাজ্যে সংখ্যার ন্যায্য সংখ্যার সংযোগগুলি খোলা, ব্যবহার এবং বন্ধ থাকার কারণে খুব সহজেই হতে পারে। সিস্টেমের কর্মক্ষমতা পরীক্ষা করা উচিত, তবে এবং নিজেই এটি কোনও সমস্যা তৈরি করে না।

যদি দূরবর্তী ঠিকানা এবং বন্দরটি ধীরে ধীরে পরিবর্তিত হয় তবে এটি নির্দেশ করে যে অ্যাপ্লিকেশন প্রক্রিয়াগুলিতে সিপিইউয়ের জন্য অপেক্ষা করা দরকার যেখানে উচ্চ লোড গড় এটি নিশ্চিত করবে।

অন্যদিকে যদি দূরবর্তী ঠিকানা এবং বন্দর স্থির থাকে এবং CLOSE_WAIT রাজ্যে সংযোগের সংখ্যা বাড়তে থাকে তবে সম্ভবত এটি অ্যাপ্লিকেশনটিতে সমস্যা নির্দেশ করে। এটি রিসোর্স ফাঁস বাগের একটি বিশেষ ক্ষেত্রে: অ্যাপ্লিকেশনটি সময়মতো বন্ধ করার পরিবর্তে খোলা সকেটগুলি ফাঁস করে। এটি কার্নেল মেমরি গ্রহণ করে এবং ফলস্বরূপ অ্যাপ্লিকেশনটিকে ব্যর্থ করে তুলবে একবার এটি ফাইলের সর্বাধিক সংখ্যক ওপেন বিবরণকারীতে পৌঁছে।

তবে লক্ষ্য করুন যে ফাঁসের গতি ধীর হতে পারে। এটি প্রায়শই ঘটে থাকে যে কোনও অনুরোধের মাঝামাঝি সময়ে কোনও ব্যতিক্রম হ্যান্ডেল করতে ব্যর্থতা থেকে এই ফলাফলগুলির মতো বাগগুলি কার্যকর হয়, কর্মী থ্রেডে মৃত্যুদন্ড কার্যকর করা বাধা দেয় যা পরবর্তীকালে ক্লিনআপ বাধা দিতে পারে (সকেট বন্ধ হওয়া সহ)। আপত্তিকর ব্যতিক্রম খুব কমই ঘটতে পারে।

অস্থায়ী সমাধান

সমস্যার অস্থায়ী সমাধান হ'ল ওপেন ফাইল বর্ণনাকারীর সীমাবদ্ধতা বৃদ্ধি করা এবং সমস্যাটি কর্মক্ষমতা প্রভাবিত করতে শুরু করার পরে (সম্ভবত: আগে) অ্যাপলিকেশন পুনরায় চালু করা হয়। মনে রাখবেন যে এটি অযৌক্তিকভাবে বর্তমানে খোলার সংযোগগুলিতে প্রভাব ফেলতে পারে। অপ্রয়োজনীয় সার্ভারের উপস্থিতি এবং লোড ব্যালেন্সিং ব্যবহারকারীদের থেকে সমস্যাটি আড়াল করতে সহায়তা করতে পারে।

স্থায়ী সমাধান

সমস্যার স্থায়ী সমাধানটি বাগটি ছাড়াই অ্যাপ্লিকেশনটির সংস্করণ স্থাপন করা। অস্থায়ী সমাধান ব্যবহারকারী এবং ব্যবসায়কে যে ডিগ্রীতে ক্ষতি করে, প্যাচ রিলিজের তাত্পর্য এবং শেষ কার্যনির্বাহী রাষ্ট্রের স্থিতি অ্যাপ্লিকেশনের শেষ কার্যকারী সংস্করণে রোলব্যাক করবে বা ঠিক করার জন্য অপেক্ষা করতে সহায়তা করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.