এই ত্রুটিটি বোঝা: apr_sket_recv: পিয়ার দ্বারা সংযোগটি পুনরায় সেট করা (104)


14

সুতরাং, যদি আমি অ্যাপাচি বেঞ্চমার্ক (আব) দিয়ে কিছু বেঞ্চমার্কিং করি এবং আমি বিপুল সংখ্যক অনুরোধগুলি ব্যবহার করি। তারপরে মাঝে মাঝে পরীক্ষার মাঝে আমি এই ত্রুটিটি পাই।

আমি এর অর্থ কী তাও জানি না। তাহলে আমি কীভাবে এটি ঠিক করতে পারি? বা সার্ভারটি যে কোনও উপায়ে অনেক বেশি হিট হয়ে উঠলে এটি ঘটবে তা কি কেবল কিছু? সমস্যাটি হ'ল, আমি যদি 10,000 হিট রান করি তবে এটি পুরোপুরি পুরোপুরি চলবে। যদি আমি এটি আবার চালনা করি তবে এটি 4000 এ পৌঁছবে এবং ত্রুটিটি পাবে:

apr_socket_recv: Connection reset by peer (104)

আমার সেটআপ সম্পর্কে সামান্য: আমার কাছে এনগিনেক্স স্থির অনুরোধগুলি গ্রহণ করছে এবং ডায়ামিকগুলি অ্যাপাচে প্রক্রিয়াকরণ করছে। প্রশ্নযুক্ত ফাইলটি ক্যাশে থেকে এনজিনেক্সের দ্বারা পরিবেশন করা হয়েছে, সুতরাং আমার ধারণা এটি সম্ভবত এনজিঙ্ক্স কীভাবে অনুরোধগুলি পরিচালনা করছে?

ধারনা?

উত্তর:


7

ত্রুটির অর্থ হ'ল অন্য প্রান্তটি (ওয়েবসার্ভার) হঠাৎ সেশনের মাঝখানে সংযোগ বিচ্ছিন্ন হয়ে গেছে। সেখানে সন্দেহজনক কিছু আছে কিনা তা দেখতে অ্যাপাচি বা এনগিনেক্স ত্রুটির লগগুলি দেখুন।


4

এর অর্থ হ'ল সার্ভারটি অনুরোধের সাথে ভারী বোঝা হয়ে গেছে অর্থাৎ সমস্ত থ্রেড অনুরোধটি সরবরাহ করতে ব্যস্ত। সমাধান: হয় সার্ভার.এক্সএমএল ফাইলে সংযোগকারীর জন্য ম্যাক্সথ্রেড অ্যাট্রিবিউট কাউন্ট বাড়িয়ে নিন বা অ্যাক্সেসকাউন্টের বৈশিষ্ট্যটির মান বাড়ান।

গ্রাহকগণনা: সমস্ত সম্ভাব্য অনুরোধ প্রক্রিয়াজাতকরণ থ্রেড ব্যবহৃত হয় যখন আগত সংযোগের অনুরোধগুলির জন্য সর্বাধিক সারি দৈর্ঘ্য। সারি পূর্ণ হলে প্রাপ্ত কোনও অনুরোধ প্রত্যাখ্যান করা হবে।


0

আমার একই সমস্যা ছিল এবং আমার সার্ভার সংস্করণটি ছিল:

Server Version: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.5 mod_perl/2.0.9dev Perl/v5.16.3

আমি অযৌক্তিক মডিউলগুলি সরিয়েছি এবং সমস্যাটি চলে গেছে:

Server Version: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips

সুতরাং mod_fcgid , mod_php বা mod_perl এর মধ্যে একটি সমস্যা সৃষ্টি করছে। আপনি যদি এটি ব্যবহার না করেন তবে আপনি সেগুলি অক্ষম করার চেষ্টা করতে পারেন।

(পার্শ্ব নোট; আপনি যদি ওপচী ব্যবহার করে থাকেন তবে দ্রুত_শুটডাউনটিও অক্ষম করুন It এটিও সমস্যা তৈরি করছিল: opcache.fast_shutdown = 0)


0

এখানে উত্তরগুলি ছাড়াও, আমি আরও অনেকগুলি পড়েছি:

তাদের কেউ সাহায্য করেনি।

আমি অনুরূপ লড়াইwrk দেখে স্যুইচিং সম্পর্কে চিন্তা ।

সমস্যাটি সন্ধান করা হচ্ছে

সমস্যাটি এফার্মাল বন্দরগুলির পরিমাণের সাথে সম্পর্কিত বলে মনে হচ্ছে । আমি এটি 50000 থেকে 25000 পর্যন্ত সেট করার চেষ্টা করেছি কারণ এটি পোর্ট পরিসীমা। এখনও ভাগ্য নেই। তারপরে আমি অনুভূতিটি পেয়েছি এটি TIME_WAIT এবং এই ব্লগ পোস্টের সাথে সম্পর্কিত । আমি মনে করি যে আমি এটি নিশ্চিত করতে পারি:

$ netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n

    1 CLOSE_WAIT
    1 established)
    1 Foreign
    4 LISTEN
    8 SYN_SENT
   62 SYN_RECV
  351 ESTABLISHED
13916 TIME_WAIT

আমি কি চেষ্টা করেছি

আমি এখন পর্যন্ত এটি ঠিক করে নি: - /

মতে sudo sysctl -a | grep net.ipv4.tcp, আমার আছে:

net.ipv4.tcp_tw_reuse = 0    # No luck setting only that to 1
net.ipv4.tcp_max_tw_buckets = 32768
net.ipv4.tcp_fin_timeout = 60  # Setting it to 5 didn't help either

-1

এই সমস্যাটি সিস্টেমের কারণে ঘটে। যদি সিস্টেমকে একটি উচ্চ সম্মতিযুক্ত অনুরোধ জানায়। ওএস কার্নেল এসওয়াইএন বন্যা সুরক্ষাকে ট্রিগার করবে। সুতরাং সিস্টেমটি লিঙ্কটি পুনরায় সেট করবে। আপনি ফাইলটিতে ওএস কনফিগারেশন পরিবর্তন করতে পারেন।

#vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 0 # set value is 0
#sysctl -p # read config from the config file.

আপনি চেষ্টা করতে পারেন.

net.ipv4.tcp_syncookiesপ্রচলিত অনুরোধ আক্রমণটি এড়াতে সাধারণত বৈশিষ্ট্যটি ওএস রক্ষা করতে ব্যবহৃত হয়েছিল। তবে আপনি যদি কিছু লোড পরীক্ষা বা পারফরম্যান্স পরীক্ষা করতে এই ওএসটি ব্যবহার করতে চান তবে আপনার এই বৈশিষ্ট্যটি বন্ধ করা উচিত।

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