এবি দিয়ে লোড টেস্টিং ... নকল ব্যর্থ অনুরোধ (দৈর্ঘ্য)


209

কিছু লোড টেস্টিং করতে, নিজের কৌতূহলের জন্য, আমার সার্ভারে আমি দৌড়েছি:

ab -kc 50 -t 200 http://localhost/index.php

এটি 200 সেকেন্ডের জন্য 50 টি বেঁচে থাকা সংযোগগুলি খোলে এবং সূচি.এফপি এর অনুরোধের সাথে আমার সার্ভারকে স্ল্যাম করে

আমার ফলাফলগুলিতে, আমি পেয়েছি:

Concurrency Level:      50
Time taken for tests:   200.007 seconds
Complete requests:      33106
Failed requests:        32951
   (Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors:           0
Keep-Alive requests:    0
Total transferred:      1948268960 bytes
HTML transferred:       1938001392 bytes
Requests per second:    165.52 [#/sec] (mean)
Time per request:       302.071 [ms] (mean)
Time per request:       6.041 [ms] (mean, across all concurrent requests)
Transfer rate:          9512.69 [Kbytes/sec] received

32951 "ব্যর্থ" অনুরোধগুলি নোট করুন। আমি এটা বুঝতে পারি না।

পরীক্ষা চলমান থাকাকালীন, আমি আমার হোম কম্পিউটার থেকে পুরোপুরি আমার ওয়েব সাইটে অ্যাক্সেস করতে সক্ষম হয়েছি, যদিও পৃষ্ঠার নীচে পৃষ্ঠার লোড বারগুলি সাধারণ .02 এর পরিবর্তে .5 হিসাবে রিপোর্ট করা হয়েছিল। তবে আমি একবারও একটি ব্যর্থ অনুরোধ ছিল না।

তাহলে কেন সংস্থাগুলির অর্ধেক ব্যর্থ হয়েছে এ বি রিপোর্টিং? এবং সেই প্রসঙ্গে "দৈর্ঘ্য:" এর অর্থ কী?


আপনার ওয়েবসাইটটিতে কি ভার ভারসাম্য রয়েছে? লোড ব্যালান্সারগুলির সাথে লোড পরীক্ষার জন্য আমার ব্লগ পোস্টটি দেখুন যা লোড পরীক্ষার "এটি আমার পক্ষে কাজ করে" পরিস্থিতিকে ব্যাখ্যা করতে পারে।
প্যাট্রিক লাইটবডি

উত্তর:


361

কিছু মনে করো না. "দৈর্ঘ্য ব্যর্থতা" কেবলমাত্র নির্দেশ করে যে প্রতিক্রিয়ার দৈর্ঘ্য প্রায় অর্ধেক সময় ছিল।

যেহেতু বিষয়বস্তু গতিশীল, তাই সম্ভবত এটি সেশন শনাক্তকারী বা এর মতো কিছু।


8
আরে, আমি ঠিক একই "সমস্যার" মধ্যে দৌড়েছি এবং খুশি যে এই উত্তরটি এখানে ছিল। ধন্যবাদ!
রিচার্ড হার্ট

2
উত্তরের জন্য ধন্যবাদ, আমার ঠিক একই সন্দেহ ছিল।
সাইয়াইন

63
হ্যাঁ, দু'বছর পরে এই উত্তরটি এখনও সত্যই কার্যকর।
সের্গি

11
পরিবর্তনশীল সামগ্রীর দৈর্ঘ্যের মিলগুলি এটিকে দান করতে খুব দ্রুত হবেন না। আব এইচটিটিপি স্থিতি কোড 500 এর সংক্ষিপ্তসার হিসাবে ত্রুটি হিসাবে রিপোর্ট করে না। দৈর্ঘ্যের অমিলের কারণ হতে পারে যে আপনার একটি সত্যই ত্রুটি রয়েছে। আপনি আরও তথ্য পেতে -v 4 ব্যবহার করতে পারেন (একটি ফাইলের আরও ভাল পাইপ হিসাবে অনেকগুলি প্রিন্টআউট আসবে)।
তাল লেভ-অমি

3
আসলে এটি এখানে আবডি ম্যানুয়ালটিতে ব্যাখ্যা করা হয়েছে httpd.apache.org/docs/current/program/ab.html "যদি পরীক্ষার সময় নথির দৈর্ঘ্য পরিবর্তন হয় তবে প্রতিক্রিয়াটিকে একটি ত্রুটি হিসাবে বিবেচনা করা হবে।"
oe জো

132

অন্য কথায় সমস্যাটি বর্ণনা করতে:

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

অ্যাপাচি বাগ প্রতিবেদন অনুসরণ করে তা নিশ্চিত হয়েছে বলে মনে হচ্ছে: এএসএফ বাগ 42040

সংক্ষিপ্তসার : আপনি যদি চলক দৈর্ঘ্যের কোনও বিষয়বস্তু পরিবেশন করছেন তবে আপনার সম্ভবত অনুরোধের ব্যর্থতা এড়ানো উচিত।

সম্পাদনা : আমি সম্প্রতি লক্ষ্য করেছি যে abকমান্ডটিতে একটি নতুন (কমপক্ষে আমার জন্য) বিকল্প রয়েছে:

-l   Accept variable document length (use this for dynamic pages)

আমি এটা দেখতে পারেন AB সংস্করণ 2.3 <$ পুনর্বিবেচনাসমূহ: 1528965 $> কিন্তু তাতে দেখতে পাই না AB সংস্করণ 2.3 <$ পুনর্বিবেচনাসমূহ: 655654 $> , তাই এটি সম্ভবত অপেক্ষাকৃত সম্প্রতি যোগ করা হয়েছিল।


4
ম্যাকের যে কোনও ব্যক্তির জন্য, আপনার আবের সংস্করণটির পিছনে থাকা সম্ভাবনাগুলি রয়েছে এবং -l এটি গ্রহণ করবে না। আপনি উত্স থেকে বা হোমব্রিউয়ের মাধ্যমে ইনস্টল করতে পারেন, তবে "ব্রিউ ইনস্টল অ্যাব" কাজ করে না কারণ এটি অ্যাপাচি প্যাকেজের অংশ - আপনি "ব্রিউ ইনস্টল হোমব্রিউ / অ্যাপাচি / অ্যাব" দিয়ে ইনস্টল করতে পারেন।
নেটপোটিকা

8

কোনও পুরানো প্রশ্নের পুনঃসূচনা করার জন্য দুঃখিত, তবে গুগলে এটিই প্রথম পপ আপ হয়েছিল। কখনও কখনও আব দ্বারা উল্লিখিত দৈর্ঘ্যের ত্রুটিটি একটি আসল সমস্যার কারণে ঘটতে পারে: লিখিতভাবে লিখিত দৈর্ঘ্যের শিরোনামে মোট বাইটস ঘোষিত হওয়ার আগে যদি সংযোগটি সার্ভার-সাইডটি বন্ধ করে দেওয়া হয় client ক্লায়েন্ট এবং সার্ভারের মধ্যে অন্য পক্ষগুলি থাকলে এটি ঘটতে পারে, উদাহরণস্বরূপ, নিষ্পাপ হ্যান্ডক্রাফ্টেড লোড ব্যালেন্সার (আমার কেস)।

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