প্রশ্ন ApacheBench এর সাথে একটি EC2 লোড ব্যালান্সারের পিছনে লোড পরীক্ষার সাইট


যখনই আমি EC2 তে ভারসাম্যযুক্ত একটি লোড পরীক্ষা করার চেষ্টা করি তখন আমি নিম্নলিখিত বার্তাটি পান:

ab -n 20 -c 20 http://www.somesite.com/

Benchmarking www.somesite.com (be patient)...Send request failed!
apr_socket_recv: Connection reset by peer (54)

লোড ব্যালান্সার ব্যতীত EC2 এ হোস্ট করা যেকোনো সাইট লোড পরীক্ষা সফলভাবে লোড করা যেতে পারে, তাই আমি মনে করি এটি কনফিগার করা নিরাপত্তা গোষ্ঠীর সাথে সম্পর্কিত নয়।

AWS EC2 লোড ব্যালান্সার ডিফল্টভাবে এই ধরনের অনুরোধ ব্লক করে? যদি তাই হয় এটি একটি এবি এবং স্বাভাবিক ব্রাউজার ভিত্তিক HTTP অনুরোধের মধ্যে পার্থক্য করে?


4
2018-02-01 11:58


উত্স


যতদূর আমি জানি না। আপনি নিশ্চিত করতে পারেন যে ab ট্র্যাফিক হয় না ব্যাকএন্ড সার্ভার আঘাত (সার্ভার লগ বা প্যাকেট captures মাধ্যমে)? যেমন httperf হিসাবে একটি অনুরূপ হাতিয়ার সঙ্গে ফলাফল কি? সম্ভবত ইএলবি কোন কারণে HTTP অকার্যকর হেডার হেডারটিকে বিবেচনা করে ... - James Little
"ab-n 1 -c1" এর সাথে ফলাফল কি, কোন সমান্তরাল নয়? এ ক্ষেত্রে কি আর সফল হয়? যদি এটি হয় তবে আপনি সম্ভবত কিছু সংযোগ-সীমিত আচরণ দেখছেন। - rmalayter


উত্তর:


AWS EC2 লোড ব্যালান্সার ডিফল্টভাবে এই ধরনের অনুরোধ ব্লক করে?

আমি জানি না - আপনি সুযোগ চলমান দ্বারা হয় ম্যাক ওএস এক্স লায়ন? একটি হতে বলে মনে হচ্ছে সাধারণভাবে  সম্মুখীন  বাগ দৌড় AB এই বিশেষ অপারেটিং সিস্টেম মুক্তি - অনুযায়ী ম্যাক ওএস এক্স লায়ন উপর ApacheBench বাগ ফিক্সিং একটি প্যাচ উপলব্ধ (বিস্তারিত জানার জন্য এখানে দেখুন), যদিও এটি সম্ভবত কার্যকর এবং প্রথমে একটি আনুষ্ঠানিক আপডেটের জন্য চেক করা ভাল, তবে এই প্যাচটি (অথবা সমতুল্য ফিক্স) সংস্করণটি httpd-2.3.15- অন্তত বিটা (দেখুন ওএস এক্স লায়ন উপর Apachebench ফিক্সিং)।

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

গুড লাক!


6
2018-02-01 14:36



ধন্যবাদ। হ্যাঁ এটি সঠিক সমস্যা, এটি লায়নের আপ্যাচেনচেনের বর্তমান সংস্করণগুলির নিচে চলে এসেছে। প্যাচ কাজ হিসাবে এখনও প্রয়োগ করা হয়েছে কিনা তা নিশ্চিত করতে পারছি না তবে যদি আমি একটি রেজোলিউশন পাই তবে পোস্ট করব। - Mitul


লোড বৃদ্ধি যখন অ্যামাজন ELB এর স্কেল করা হয়। যখন প্রতি সেকেন্ডে 5 টি অনুরোধ থাকে তখন আপনি প্রতি সেকেন্ডে 1000 টি অনুরোধ চালানোর চেয়ে আলাদা লোড ব্যালান্সারে থাকেন। কি ঘটে যখন আপনি loadbalancer এ পরীক্ষা চালাচ্ছেন তখন এটি প্রতি সেকেন্ডে 5 থেকে 1000 অনুরোধে যায় এবং loadbalancer লোড পরিচালনা করতে পারে না যাতে এটি অনুরোধ অস্বীকার করে। পরীক্ষা চালানোর সময় লোডবালান্সারকে স্কেল করার জন্য আপনি 10-15 মিনিট অপেক্ষা করেন তবে আপনার অনুরোধ করা উচিত যে সমস্ত অনুরোধ সম্পন্ন হবে।

আপনি এই আপনার উত্পাদন পরিবেশের সমস্যা হতে যাচ্ছে আশা করি যদি অ্যামাজন নিজে আপনার loadbalancer আপগ্রেড করতে পারেন। আমার ক্লাউডে লোডাল্যান্সার / অটো স্কেলিং গ্রুপ রয়েছে এবং আমাদের ট্র্যাফিক সপ্তাহান্তে 1-2 ঘণ্টার মধ্যে কয়েক সেকেন্ডে কয়েক সেকেন্ড থেকে কয়েক হাজার পর্যন্ত যেতে পারে এবং চলমান চলাকালীন আমরা আসলেই এই আচরণটি দেখি না। প্রকৃত উত্পাদন পরিবেশে, আমরা কেবলমাত্র এটি দেখি যখন আমরা জেএমটারের সাথে পরীক্ষা চালায়।


3
2018-02-22 23:00





লোড ব্যালান্সারগুলিকে প্রায়ই সুরক্ষা মাপ হিসাবে "প্রকৃত ব্রাউজার" থেকে আসা মত দেখায় না এমন রেট-সীমা বা ব্লক অনুরোধগুলিতে কনফিগার করা হয়। আমি এখানে মামলা হতে পারে সন্দেহ। আমি নিশ্চিত যে আমাজন কিছু ডক্স আছে।

আপনার ব্রাউজার থেকে একটি বাস্তব অনুরোধ ক্যাপচার বিবেচনা করুন (Fiddler বা Firebug বলুন) এবং AB এর -H প্যারামিটারের সাথে আপনার প্রয়োজনীয় শিরোনাম যুক্ত করুন। আপনি প্রায়শই "হোস্ট", "স্বীকার করুন" এবং "Accept-Encoding" প্রয়োজন বোধ করেন, সম্ভবত ব্যবহারকারী-এজেন্ট স্ট্রিং যা বাস্তববাদী বলে মনে হয়।


2
2018-02-01 14:59



সাধারণ লোড ভারসাম্য সংক্রান্ত ভাল পয়েন্ট, কিন্তু এটি মাধ্যমে ELB পরীক্ষা করা সম্ভব ab নীতিমালা ঠিক সূক্ষ্ম, এবং রিপোর্ট ত্রুটি ক্ষেত্রে ভিন্ন হতে হবে (সম্ভবত apr_socket_recv: সংযোগ সময় শেষ (110)), তাই আমি মনে করি এটি এখানে প্রযোজ্য নয় - যেমন দেখুন [এলবিবি ক্ষমতা (একযোগে টিসিপি সেশন)?} (forums.aws.amazon.com/message.jspa?messageID=187513) একটি চিত্রণ জন্য। - Steffen Opel