আমি কীভাবে আমার এইচডিডি বেনমার্ক করতে পারি?


51

আমি কারও এইচডিডি বেনমার্ক করার জন্য কমান্ড দেখেছি যেমন dd:

$ time sh -c "dd if=/dev/zero of=ddfile bs=8k count=250000 && sync"

এর চেয়ে আরও ভাল পদ্ধতি কি আছে?


সম্পর্কিত: Askubuntu.com/questions/87035/…
Ciro

উত্তর:


62

আমি সাধারণত hdparmআমার এইচডিডি এর মানদণ্ডে ব্যবহার করি। আপনি প্রত্যক্ষ পাঠ এবং ক্যাশেড পঠন উভয়কেই মাপদণ্ড করতে পারেন। গড় মান প্রতিষ্ঠিত করতে আপনি কয়েকবার কমান্ডগুলি চালাতে চান।

উদাহরণ

এখানে সরাসরি পড়া।

$ sudo hdparm -t /dev/sda2

/dev/sda2:
 Timing buffered disk reads: 302 MB in  3.00 seconds = 100.58 MB/sec

এবং এখানে একটি ক্যাশেড পঠন।

$ sudo hdparm -T /dev/sda2

/dev/sda2:
 Timing cached reads:   4636 MB in  2.00 seconds = 2318.89 MB/sec

বিস্তারিত

-t     Perform  timings  of  device reads for benchmark and comparison 
       purposes.  For meaningful results, this operation should be repeated
       2-3 times on an otherwise inactive system (no other active processes) 
       with at least a couple of megabytes of free memory.  This displays  
       the  speed of reading through the buffer cache to the disk without 
       any prior caching of data.  This measurement is an indication of how 
       fast the drive can sustain sequential data reads under Linux, without 
       any filesystem overhead.  To ensure accurate  measurements, the 
       buffer cache is flushed during the processing of -t using the 
       BLKFLSBUF ioctl.

-T     Perform timings of cache reads for benchmark and comparison purposes.
       For meaningful results, this operation should be repeated 2-3
       times on an otherwise inactive system (no other active processes) 
       with at least a couple of megabytes of free memory.  This displays
       the speed of reading directly from the Linux buffer cache without 
       disk access.  This measurement is essentially an indication of the
       throughput of the processor, cache, and memory of the system under 
       test.

ডিডি ব্যবহার

আমিও ddএই ধরণের পরীক্ষার জন্য ব্যবহার করেছি। আমি উপরের কমান্ডটিতে একটি পরিবর্তন করব যা হ'ল আপনার কমান্ডের শেষে এই বিটটি যুক্ত করা ; rm ddfile,।

$ time sh -c "dd if=/dev/zero of=ddfile bs=8k count=250000 && sync"; rm ddfile

ddfileকমান্ডটি শেষ হওয়ার পরে এটি সরিয়ে ফেলবে । দ্রষ্টব্য: ddfile এমন একটি ক্ষণস্থায়ী ফাইল যা আপনার রাখার দরকার নেই, এটি আপনার ফাইলের এইচডিডি বোঝার নিচে রাখার সময় dd( of=ddfile) লিখতে থাকে।

অতি

আপনার এইচডিডি'র আরও কঠোর পরীক্ষার প্রয়োজন হলে আপনি বনি ++ ব্যবহার করতে পারেন ।

তথ্যসূত্র


1
আমি hdparmদ্রুত বেঞ্চমার্কের জন্যও পছন্দ করি । একমাত্র ক্ষতি এটি হ'ল ব্যান্ডমার্কগুলি কেবলমাত্র ব্যান্ডউইথটি পড়ে এবং অনেক ধরণের ব্লক ডিভাইসগুলির (যেমন RAID, iSCSI) পারফরম্যান্স অত্যন্ত অসামান্য হতে পারে। একই বক্সে 'আগে' এবং 'পরে' পারফরম্যান্স তুলনা করার জন্য, ddখুব ভাল কাজ করে।
অ্যালেক্সিয়াস

@ অ্যালেক্সিয়াস - হ্যাঁ উল্লেখ করার জন্য ধন্যবাদ হ্যাঁ আপনাকে সাধারণত কমপক্ষে hdparm+ ddবা কেবল bonnie++বা সমস্ত 3 ব্যবহার করতে হয়
স্ল্যাম

সিঙ্কের পরিবর্তে যা সন্দেহজনক, যদি iflag = ডিরেক্ট অফলাগ = ডাইরেক্ট ব্যবহার করা হয় (উদাহরণস্বরূপ লিনাক্স একটি ফাইল সিস্টেমের সাথে লিনাক্স যা সরাসরি io সমর্থন করে)।

22

(এটি একটি খুব জনপ্রিয় প্রশ্ন - আপনি https://stackoverflow.com/q/1198691 , https://serverfault.com/q/219739/203726 এবং https://askubuntu.com/q এ এর বিভিন্নতা দেখতে পারেন / 87035/740413 )

[ডিডির চেয়ে] [বেঞ্চমার্ক ডিস্ক] এর থেকে আরও ভাল পদ্ধতি কি আছে?

হ্যাঁ তবে তারা চালাতে আরও সময় নিবে এবং ফলাফলগুলি কীভাবে ব্যাখ্যা করতে হবে তার জ্ঞানের প্রয়োজন হবে - এমন একক সংখ্যা নেই যা আপনাকে একসাথে সব কিছু বলে দেবে কারণ নিম্নলিখিত পরীক্ষার ধরণটি আপনার চালানো উচিত:

  • আপনি কি I / O এর পারফরম্যান্সে আগ্রহী যে এলোমেলো, ক্রমযুক্ত বা দুটির কিছু মিশ্রণ?
  • আপনি কি ডিস্ক থেকে পড়ছেন বা লিখছেন (বা দুটিটির কিছু মিশ্রণ)?
  • আপনি বিলম্বিতা, থ্রুপুট বা উভয় সম্পর্কে উদ্বিগ্ন?
  • আপনি কি বোঝার চেষ্টা করছেন যে একই হার্ডডিস্কের বিভিন্ন অংশ কীভাবে সঞ্চালন করে (সাধারণত স্পিনিং ডিস্কগুলির কেন্দ্রের আরও দ্রুত গতি হয়)?
  • আপনার ডিস্ক ব্যবহার করার সময় কোনও প্রদত্ত ফাইল সিস্টেম কীভাবে সঞ্চালন করতে আগ্রহী বা আপনি সরাসরি ব্লক ডিভাইসে আই / ও করে ডিস্কের কাঁচা পারফরম্যান্সের কাছাকাছি ফলাফল চান?
  • আই / ও এর একটি নির্দিষ্ট আকার কীভাবে সম্পাদন করে তাতে আপনি আগ্রহী?
  • আপনি কি সমকালীনভাবে বা অযৌক্তিকভাবে I / O জমা দিচ্ছেন?
  • আপনি কতটুকু আমি / ও জমা দিচ্ছি (খুব কম ভুল উপায়ে জমা দিন এবং সমস্ত আই / ও কে ক্যাশে করা যায় যাতে আপনি ডিস্কের গতির চেয়ে আপনার র‌্যামের গতি পরীক্ষা করতে পারেন)?
  • আপনি যে ডেটা লিখছেন তার সামগ্রীর পরিমাণটি কতটা সংকোচযোগ্য (যেমন শূন্য কেবলমাত্র ডেটা অত্যন্ত সংকোচনের এবং কিছু ফাইল সিস্টেমস / ডিস্কগুলিতে শূন্যের জন্য কেবল একটি বিশেষ দ্রুতগামী পথ রয়েছে যা অন্যান্য সামগ্রীর সাথে অযোগ্য নয় এমন সংখ্যার দিকে এগিয়ে যায়)?

ইত্যাদি।

শীর্ষে চালানো সবচেয়ে সহজ এবং আরও নিবিড়তর আরও নিখুঁত / আরও ভালতর কাছাকাছি থাকা সরঞ্জামগুলির একটি সংক্ষিপ্ত তালিকা:

  1. ডিডি (ক্রমানুসারে পড়া বা লেখার জন্য, কেবল থ্রুটপুট দেখায়, একটি ফাইল সিস্টেম বা ব্লক ডিভাইস ব্যবহারের জন্য কনফিগার করা যেতে পারে, ব্লক ক্যাশে বাইপাস করার জন্য কনফিগার করা যায় / I / O সত্যিই শেষ হওয়ার জন্য অপেক্ষা করুন)
  2. এইচডিপিআরএম (ক্রমানুসারে কেবল পঠনযোগ্য, কেবল থ্রুপুট দেখায়, কখনও কোনও ফাইল সিস্টেম ব্যবহার করে না, ব্লক ক্যাশে বাইপাস করার জন্য কনফিগার করা যায়, ক্যাশে পরীক্ষা কেবল প্রথম 2 এমবিাইট পুনরায় পড়বে)
  3. জিনোম ডিস্ক ইউটিলিটির বেঞ্চমার্ক (চালানো সহজ, কখনও কোনও ফাইল সিস্টেম ব্যবহার করে না, গ্রাফিক্যাল তবে একটি সম্পূর্ণ জিনোম ইনস্টল প্রয়োজন, বিভিন্ন ধরণের I / O এর জন্য লেটেন্সি এবং থ্রুটপুট নম্বর দেয় তবে ওয়ার্কলোড লেখার ক্ষেত্রে নমুনা আকারে রিড / রাইটিং / ফাইসিঙ্ক হয়) doing
  4. ফাইও (প্রায় কিছু করতে পারে এবং বিস্তারিত ফলাফল দেয় তবে কনফিগারেশন এবং কীভাবে বলা ফলাফলগুলি ব্যাখ্যা করতে হয় তার একটি বোঝার প্রয়োজন )। লিনাস এ সম্পর্কে যা বলেছে তা এখানে:

    গ্রেগ - জেনসের FIO কোড পান। এটি প্রকৃত সিউডো-এলোমেলো বিষয়বস্তু লেখার পাশাপাশি কাজগুলি ঠিক করে দেয় যা ডিস্কটি কিছু "ডি-ডুপ্লিকেশন" (ওরফে "বেঞ্চমার্কের জন্য অনুকূলিত করে) করে কিনা তা দেখায়:

    [ https://github.com/axboe/fio/ ]

    অন্য যে কোনও কিছু সন্দেহজনক - বোনি বা অন্যান্য traditionalতিহ্যবাহী সরঞ্জামগুলি ভুলে যান।

উত্স: মন্তব্য লিনাস টোরভাল্ডস দ্বারা গ্রেগ Kroah-Hartman করতে গুগল প্লাস রেখে


11

আইওপিএস সরঞ্জাম সহ

আপনি যদি এই সমস্ত পড়তে বিরক্ত না হন তবে আমি কেবল IOPS সরঞ্জামটি সুপারিশ করব । এটি আপনাকে ব্লকের আকারের উপর নির্ভর করে বাস্তব-বিশ্বের গতি বলবে।


অন্যথায় - আইও বেঞ্চমার্ক করার সময় আমি নীচের জিনিসগুলি দেখব:

  • ব্লকসাইজ / ক্যাশে / আইওপিএস / সরাসরি বনাম বাফার / অ্যাসিঙ্ক বনাম সিঙ্ক
  • পড়া / লেখা
  • থ্রেড
  • অদৃশ্যতা
  • সিপিইউ ব্যবহার

  • আপনি কোন ব্লক সাইজটি ব্যবহার করবেন : আপনি যদি / 1 ডিস্ক থেকে 1 জিবি পড়তে / লিখতে চান তবে আপনি যদি I / O অপারেশন করেন তবে তা দ্রুত হবে be তবে যদি আপনার অ্যাপ্লিকেশনটিতে হার্ড-ডিস্ক্কে 512 বাইট খণ্ডে অ-অনুক্রমিক টুকরো (র্যান্ডম আই / ও বলা হয় যদিও এটি এলোমেলো নয়) লিখতে হয় তবে এটি আলাদাভাবে দেখাবে। এখন, ডাটাবেসগুলি প্রকৃতির কারণে লগ ভলিউমের জন্য ডেটা ভলিউমের জন্য এলোমেলো I / O এবং ক্রমযুক্ত I / O করবে । সুতরাং, প্রথমে আপনাকে কী পরিমাপ করতে চান তা পরিষ্কার হওয়া দরকার। আপনি যদি লিনাক্স ইনস্টল করতে চান তার চেয়ে আলাদা যে বড় ভিডিও ফাইলগুলি অনুলিপি করতে চান।

    এই ব্লকসাইজটি আপনার দ্বারা চালিত আই / ও ক্রিয়াকলাপের প্রভাবকে প্রভাবিত করছে। যদি আপনি উদাহরণস্বরূপ 8 টি ক্রমবর্ধমান পঠিত (বা লিখুন, কেবল মিশ্রিত নয়) অপারেশন করেন তবে ওএসের আই / ও শিডিয়ুলার তাদের একীভূত করবে। যদি এটি না হয় তবে নিয়ামকের ক্যাশে একীভূত করবে do 512 বাইট বা একটি 4096 বাইট অংশের 8 টি ক্রমিক ব্লক পড়লে কার্যত কোনও পার্থক্য নেই। একটি ব্যতিক্রম - আপনি যদি সরাসরি সিঙ্ক সিও পরিচালনা করেন এবং আপনি পরবর্তী 512 বাইটের অনুরোধ করার আগে 512 বাইটের জন্য অপেক্ষা করেন। এই ক্ষেত্রে, ব্লকের আকার বাড়ানো ক্যাশে যুক্ত করার মতো।

    এছাড়াও আপনার সচেতন হওয়া উচিত যে সিঙ্ক এবং অ্যাসিঙ্ক আইও রয়েছে: সিঙ্ক আইও দিয়ে আপনি বর্তমান আইটি রিটার্নের আগে পরবর্তী আইও অনুরোধটি প্রকাশ করবেন না। অ্যাসিঙ্ক আইও দিয়ে আপনি অনুরোধ করতে পারেন উদাহরণস্বরূপ 10 অংশ তথ্য এবং তারপরে সেগুলি অপেক্ষা করার জন্য। বিচ্ছিন্ন ডাটাবেস থ্রেডগুলি সাধারণত লগের জন্য সিঙ্ক আইও এবং ডেটার জন্য অ্যাসিঙ্ক আইও ব্যবহার করবে। আইওপিএস সরঞ্জাম 512 বাইট থেকে শুরু করে সমস্ত প্রাসঙ্গিক ব্লক মাপ পরিমাপ করে সেটি যত্ন করে।

  • আপনি কি পড়বেন বা লিখবেন : সাধারণত লেখার চেয়ে পড়া দ্রুত হয়। তবে নোট করুন যে ক্যাচিং পড়া এবং লেখার জন্য বেশ আলাদাভাবে কাজ করে:

    • লেখকদের জন্য, ডেটাটি নিয়ামকের কাছে হস্তান্তর করা হবে এবং যদি এটি ক্যাশে হয় তবে ক্যাশে পূর্ণ না হলে ডেটা ডিস্কে থাকার আগে তা স্বীকার করবে। আইওজোন সরঞ্জামটি ব্যবহার করে আপনি ক্যাশে এফেক্টস (সিপিইউ ক্যাশে প্রভাব এবং বাফার ক্যাশে প্রভাব) এর প্লেটিয়াসের সুন্দর গ্রাফগুলি আঁকতে পারেন। ক্যাশে কম দক্ষ হয়ে ওঠে আরও বেশি লেখা হয়েছে।

    • পাঠকদের জন্য, পড়ার ডেটা প্রথম পড়ার পরে ক্যাশে রাখা হয়। প্রথম পাঠগুলি সবচেয়ে দীর্ঘ সময় নেয় এবং ক্যাটাইম আপটাইমের সময় আরও বেশি কার্যকর হয়। উল্লেখযোগ্য ক্যাশে হ'ল সিপিইউ ক্যাশে, ওএস'র ফাইল সিস্টেম ক্যাশে, আইও নিয়ন্ত্রকের ক্যাশে এবং স্টোরেজের ক্যাশে। IOPS সরঞ্জামটি কেবল পঠনযোগ্য পদক্ষেপগুলি পরিমাপ করে। এটি এটিকে "পুরো জায়গা জুড়ে পড়তে" অনুমতি দেয় এবং আপনি পড়ার পরিবর্তে এটি লিখতে চান না।

  • আপনি কতগুলি থ্রেড ব্যবহার করবেন : আপনি যদি একটি থ্রেড ব্যবহার করেন ( ডিস্ক বেঞ্চমার্কের জন্য ডিডি ব্যবহার করে ) আপনি সম্ভবত বেশ কয়েকটি থ্রেডের চেয়ে আরও খারাপ পারফরম্যান্স পাবেন। আইওপিএস সরঞ্জাম এটিকে বিবেচনায় নেয় এবং বিভিন্ন থ্রেডে পড়ে reads

  • আপনার জন্য প্রচ্ছন্নতা কতটা গুরুত্বপূর্ণ : ডাটাবেসের দিকে তাকানো, আইও লেটেন্সি অত্যন্ত গুরুত্বপূর্ণ হয়ে ওঠে। যে কোনও সন্নিবেশ / আপডেট / মুছে ফেলা এসকিউএল কমান্ড স্বীকৃত হওয়ার আগে কমিট করার জন্য ডাটাবেস জার্নালে (ডাটাবেস লিঙ্গোতে "লগ") লেখা হবে be এর অর্থ সম্পূর্ণ ডাটাবেসটি এই আইও অপারেশনটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করছে। আমি এখানে দেখিয়েছি কীভাবে আইওস্ট্যাট সরঞ্জামটি ব্যবহার করে গড় অপেক্ষা সময়ের (অপেক্ষা) মাপতে হবে ।

  • আপনার জন্য সিপিইউর ব্যবহার কতটা গুরুত্বপূর্ণ : আপনার সিপিইউ সহজেই আপনার অ্যাপ্লিকেশনটির পারফরম্যান্সের জন্য বাধা হয়ে দাঁড়াতে পারে। এক্ষেত্রে আপনাকে অবশ্যই জানতে হবে প্রতি বাইট পড়া / লিখিত প্রতি সিপিইউ চক্রটি কতটা পোড়া হয় এবং সেই দিকটিতে অনুকূলিত হয়। এর অর্থ আপনার পরিমাপের ফলাফলের উপর নির্ভর করে পিসিআই ফ্ল্যাশ মেমরির পক্ষে / বিপক্ষে সিদ্ধান্ত নেওয়া হতে পারে। আবার আইওস্ট্যাট সরঞ্জামটি আপনার আইও অপারেশনগুলির দ্বারা আপনাকে সিপিইউ ব্যবহারের বিষয়ে মোটামুটি অনুমান দিতে পারে।


1
আইপস স্ক্রিপ্টটি দুর্দান্ত, আমি সত্যিই বিভ্রান্ত হয়ে পড়েছিলাম যে এটি টিপস বা পাইপে নেই। এটি যদিও কাজ করে।
থারস্মমনার

আইপস সরঞ্জামটি পরিত্যক্ত বলে মনে হচ্ছে। এছাড়াও, এটি কেবল পরিসংখ্যানের পরিসংখ্যানগুলি পড়ার জন্য এবং মুদ্রণ করে না (উদাঃ stddev / পরিমাণগত)।
ম্যাক্সচলেপজিগ

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

8

আপনি যদি PostgreSQL ইনস্টল করে থাকেন তবে আপনি তাদের দুর্দান্ত pg_test_fsync বেঞ্চমার্ক ব্যবহার করতে পারেন । এটি মূলত আপনার লেখার সিঙ্ক কার্যকারিতা পরীক্ষা করে।

উবুন্টুতে আপনি এটি এখানে পাবেন: /usr/lib/postgresql/9.5/bin/pg_test_fsync

এটি সম্পর্কে দুর্দান্ত বিষয়টি হল এন্টারপ্রাইজ এসএসডি অতিরিক্ত মূল্যমানের জন্য কেন এই সরঞ্জামটি আপনাকে দেখায় $


2
ডেবিয়ানে এটি postgresql-contribপ্যাকেজে উপলব্ধ ।
ট্রান্সলুসেন্টক্লাউড

5

আপনি ব্যবহার করতে পারেন fio- মাল্টিথ্রেডেড IO প্রজন্মের সরঞ্জাম । এটি বেশ কয়েকটি বিতরণ দ্বারা প্যাকেজ করা হয়েছে, যেমন ফেডোরা 25, ডেবিয়ান এবং ওপেনসিএসডাব্লু।

ফাইও সরঞ্জামটি খুব নমনীয়, এটি বিভিন্ন আইও দৃশ্যের বেঞ্চমার্ক করতে সহজেই ব্যবহার করা যেতে পারে - সহকারীগুলি সহ। প্যাকেজটি কয়েকটি উদাহরণ কনফিগারেশন ফাইল (সিএফ। উদাহরণস্বরূপ /usr/share/doc/fio/examples) নিয়ে আসে। এটি জিনিসগুলিকে যথাযথভাবে পরিমাপ করে, যেমন এটি কিছু পরিসংখ্যানের জন্য স্ট্যান্ডার্ড বিচ্যুতি এবং পরিমাণগত পরিসংখ্যানও মুদ্রণ করে। কিছু অন্যান্য জনপ্রিয় বেঞ্চমার্কিং সরঞ্জামগুলির পক্ষে যত্নশীল নয়।

একটি সাধারণ উদাহরণ (সাধারণ দৃশ্যের একটি ধারা: অনুক্রমিক / এলোমেলো এক্স পড়ুন / লিখুন):

$ cat fio.cfg
[global]
size=1g
filename=/dev/sdz

[randwrite]
rw=randwrite

[randread]
wait_for=randwrite
rw=randread
size=256m

[seqread]
wait_for=randread
rw=read

[seqwrite]
wait_for=seqread
rw=write

কল:

# fio -o fio-seagate-usb-xyz.log fio.cfg
$ cat fio-seagate-usb-xyz.log
[..]
randwrite: (groupid=0, jobs=1): err= 0: pid=11858: Sun Apr  2 21:23:30 2017
  write: io=1024.0MB, bw=16499KB/s, iops=4124, runt= 63552msec
clat (usec): min=1, max=148280, avg=240.21, stdev=2216.91
 lat (usec): min=1, max=148280, avg=240.49, stdev=2216.91
clat percentiles (usec):
 |  1.00th=[    2],  5.00th=[    2], 10.00th=[    2], 20.00th=[    7],
 | 30.00th=[   10], 40.00th=[   11], 50.00th=[   11], 60.00th=[   12],
 | 70.00th=[   14], 80.00th=[   16], 90.00th=[   19], 95.00th=[   25],
 | 99.00th=[ 9408], 99.50th=[10432], 99.90th=[21888], 99.95th=[38144],
 | 99.99th=[92672]
bw (KB  /s): min= 7143, max=371874, per=45.77%, avg=15104.53, stdev=32105.17
lat (usec) : 2=0.20%, 4=15.36%, 10=6.58%, 20=69.35%, 50=6.07%
lat (usec) : 100=0.49%, 250=0.07%, 500=0.01%, 750=0.01%
lat (msec) : 4=0.01%, 10=1.20%, 20=0.54%, 50=0.08%, 100=0.03%
lat (msec) : 250=0.01%
  cpu          : usr=1.04%, sys=4.79%, ctx=4977, majf=0, minf=11
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
 submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
 complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
 issued    : total=r=0/w=262144/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
 latency   : target=0, window=0, percentile=100.00%, depth=1
randread: (groupid=0, jobs=1): err= 0: pid=11876: Sun Apr  2 21:23:30 2017
  read : io=262144KB, bw=797863B/s, iops=194, runt=336443msec
[..]
bw (KB  /s): min=  312, max= 4513, per=15.19%, avg=591.51, stdev=222.35
[..]

নোট করুন যে [global]বিভাগটির গ্লোবাল ডিফল্ট রয়েছে যা অন্যান্য বিভাগগুলি দ্বারা ওভার্রাইড করা যেতে পারে। প্রতিটি বিভাগ একটি কাজ বর্ণনা করে, বিভাগের নামটি কাজের নাম এবং নিখরচায় চয়ন করা যেতে পারে। ডিফল্টরূপে, বিভিন্ন কাজ সমান্তরালভাবে শুরু হয়, সুতরাং উপরের উদাহরণটি স্পষ্টভাবে wait_forকী দিয়ে কাজ সম্পাদনকে সিরিয়ালাইজ করে । এছাড়াও, ফাইও 4 কিবি-র একটি ব্লক আকার ব্যবহার করে - যা পরিবর্তন করা যায়। উদাহরণটি পড়ার জন্য এবং লেখার কাজগুলির জন্য কাঁচা ডিভাইসটি সরাসরি ব্যবহার করে, সুতরাং নিশ্চিত করুন যে আপনি সঠিক ডিভাইসটি ব্যবহার করেছেন use সরঞ্জামটি বিদ্যমান ফাইল সিস্টেমগুলিতে একটি ফাইল / ডিরেক্টরি ব্যবহার করে সমর্থন করে।

অন্যান্য সরঞ্জাম

hdparmউপযোগ একটি খুব সহজ পঠিত বেঞ্চমার্ক, যেমন প্রদান করে:

# hdparm -t -T /dev/sdz

এটি ফাইওর মতো একটি অত্যাধুনিক বেঞ্চমার্কিং সরঞ্জামের প্রতিস্থাপন নয়, এটি কেবল প্রথম কার্যকারিতা পরীক্ষার জন্য ব্যবহার করা উচিত। উদাহরণস্বরূপ, বাহ্যিক ইউএসবি 3 ড্রাইভটি ভুলভাবে ইউএসবি 2 ডিভাইস হিসাবে স্বীকৃত কিনা তা পরীক্ষা করতে (আপনি তখন ~ 100 মাইবি / এস বনাম ~ 30 মাইবি / সেটের হারগুলি দেখতে পাবেন)।


1
এই উত্তরটি মূলত ইউনিক্স.স্ট্যাকেক্সেঞ্জঞ্জ.com / a / 138516 / 134856 (তবে একটি বর্ধিত ফাইও বিভাগ সহ) সংক্ষিপ্তসারটির ভিন্ন সংস্করণ । আমি ছিন্ন ছিঁড়েছি কারণ এটি একটি ফাইও সংক্ষিপ্তসার সরবরাহ করে তবে এটি বেশ দীর্ঘ এবং আপনি fio.readthedocs.io/en/latest/fio_doc.html#job-file-format- এর সাথে সংযোগ স্থাপন করে পালাতে সক্ষম হবেন ...
আনন

পিএস: আমি আপনার কাজের গ্লোবাল বিভাগে সরাসরি = 1 যুক্ত করার পরামর্শ দেব যাতে আপনি লিনাক্সের পৃষ্ঠা ক্যাশে বাইপাস করে কেবলমাত্র ডিস্কের গতি দেখতে পান (তবে যেহেতু আপনার আয়োডপথটি কেবলমাত্র 1 ... [ডিস্ক আই / ও জমা দেওয়ার বিষয়ে আলোচনা সন্নিবেশ করান]] )। সমস্ত কাজ ক্রমানুসারে চালিত করার জন্য বিশ্বব্যাপী স্টোনওয়াল ( ফাইওড্রেডহেডসকস.আইও / এএন / ্লেস্ট /… ) ব্যবহার করা আরও সহজ ।
আনন

1

হিসাবে এখানে উল্লেখ এখানে , আপনি ব্যবহার করতে পারেন gnome-disks(যদি আপনি, Gnome ব্যবহার করুন)।

আপনি যে ড্রাইভটি পরীক্ষা করতে চান তাতে ক্লিক করুন এবং "অতিরিক্ত পার্টিশন বিকল্পগুলি" (চাকা) এ ক্লিক করুন। তারপরে Benchmark Partition। আপনি এমবি / সেকেন্ডে গড় পঠন / লেখার এবং মিলিসেকেন্ডে গড় অ্যাক্সেসের সময় পাবেন। আমি খুব আরামদায়ক পেয়েছি।


1

এটি সামান্য অশোধিত, তবে এটি একটি চিমটিতে কাজ করে:

find <path> -type f -print0 | cpio -0o >/dev/null

আপনি সমস্ত প্রযুক্তি /libএবং সমস্ত /usr/binফাইল ক্যাশে সহ এই কৌশলটি দিয়ে কিছু আকর্ষণীয় কাজ করতে পারেন । আপনি একটি বেঞ্চমার্কিং প্রচেষ্টার অংশ হিসাবে এটি ব্যবহার করতে পারেন:

find / -xdev -type f -print0 | 
sort -R --from0-file=- | 
timeout "5m" cpio -0o >/dev/null

মূলের সমস্ত ফাইলের নাম পাওয়া যায়, এলোমেলোভাবে বাছাই করা হয় এবং এটিকে 1 মিনিটের জন্য ক্যাশে অনুলিপি করে। সিপিও থেকে আউটপুট আপনাকে জানায় যে কতগুলি ব্লক অনুলিপি করা হয়েছিল। গড় প্রতি মিনিটে ব্লক পেতে 3 বার পুনরাবৃত্তি করুন। (দ্রষ্টব্য, সন্ধান / বাছাইয়ের ক্রিয়াকলাপটি অনেক বেশি সময় নিতে পারে - অনুলিপিটির থেকে অনেক বেশি দীর্ঘ split

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