আমি একটি লুপব্যাক ডিভাইসে রাইটিং অপারেশনগুলির সাথে কিছুটা বেঞ্চমার্কিং করেছি। এখানে উপসংহার:
- আপনি যদি প্রতিটি লেখার পরে সিঙ্ক করেন তবে একটি লুপব্যাক ডিভাইস উল্লেখযোগ্যভাবে খারাপ সম্পাদন করে (প্রায় দ্বিগুণ ধীর)।
- যদি আপনি ডিস্ক ক্যাশে কোনও আইও শিডিয়ুলারকে তাদের কাজটি করার অনুমতি দেন তবে লুপব্যাক ডিভাইস এবং সরাসরি ডিস্ক অ্যাক্সেসের মধ্যে খুব কমই পার্থক্য রয়েছে।
বেঞ্চমার্ক ফলাফল
প্রথমত, আমি 8 গিগাবাইটের টিএমপিএসে লুপব্যাক ডিভাইসে এবং সেই লুপব্যাক ডিভাইসের মধ্যে একটি লুপব্যাক ডিভাইস ( প্রতিটি লেখার ক্রিয়াকলাপের পরে সিঙ্ক সহ ) চালিয়েছি :
tmpfs এ ext4:
Measured speed: 557, 567, 563, 558, 560, 559, 556, 556, 554, 557
Average speed : 558.7 MB/s (min 554 max 560)
tmpfs এ ext4 এ ext4:
Measured speed: 296, 298, 295, 295, 299, 297, 294, 295, 296, 296
Average speed : 296.1 MB/s (min 294 max 299)
স্পষ্টতই, সিঙ্ক-অন-রাইটিং সহ লুপব্যাক ডিভাইসগুলি ব্যবহার করার সময় পারফরম্যান্সে কিছুটা পার্থক্য রয়েছে।
তারপরে আমি আমার এইচডিডি তে একই পরীক্ষার পুনরাবৃত্তি করলাম।
ext4 (এইচডিডি, 1000 এমবি, 3 বার):
Measured speed: 24.1, 23.6, 23.0
Average speed : 23.5 MB/s (min 23.0 max 24.1)
ext4 ইন এক্স 4 (এইচডিডি, 945 এমবি):
Measured speed: 12.9, 13.0, 12.7
Average speed : 12.8 MB/s (min 12.7 max 13.0)
HDD এর একই বেঞ্চমার্ক, এখন যে লেখ পর সিঙ্ক ছাড়া ( time (dd if=/dev/zero bs=1M count=1000 of=file; sync)
, যেমন মাপা <size>
/ <time in seconds>
)।
ext4 (এইচডিডি, 1000 এমবি):
Measured speed: 84.3, 86.1, 83.9, 86.1, 87.7
Average speed : 85.6 MB/s (min 84.3 max 87.7)
ext4 ইন এক্স 4 (এইচডিডি, 945 এমবি):
Measured speed: 89.9, 97.2, 82.9, 84.0, 82.7
Average speed : 87.3 MB/s (min 82.7 max 97.2)
(আশ্চর্যজনকভাবে, লুপব্যাক বেঞ্চমার্কটি কাঁচা-ডিস্ক বেঞ্চমার্কের চেয়ে ভাল দেখায়, সম্ভবত লুপব্যাক ডিভাইসের ছোট আকারের কারণে এইভাবে আসল সিঙ্ক-টু-ডিস্কে কম সময় ব্যয় হয়)
বেঞ্চমার্ক সেটআপ
প্রথমত, আমি আমার / টিএমপি (টিএমপিএফ) এ 8 জি এর একটি লুপব্যাক ফাইল সিস্টেম তৈরি করেছি:
truncate /tmp/file -s 8G
mkfs.ext4 /tmp/file
sudo mount /tmp/file /mnt/
sudo chown $USER /mnt/
তারপরে আমি মাউন্টযুক্ত লুপব্যাক ফাইলটি ডেটা দিয়ে পূরণ করে একটি বেসলাইন স্থাপন করেছি:
$ dd if=/dev/zero bs=1M of=/mnt/bigfile oflag=sync
dd: error writing '/mnt/bigfile': No space left on device
7492+0 records in
7491+0 records out
7855763456 bytes (7.9 GB) copied, 14.0959 s, 557 MB/s
এটি করার পরে, আমি পূর্ববর্তী লুপব্যাক ডিভাইসে অন্য লুপব্যাক ডিভাইস তৈরি করেছি:
mkdir /tmp/mountpoint
mkfs.ext4 /mnt/bigfile
sudo mount /mnt/bigfile /tmp/mountpoint
sudo chown $USER /tmp/mountpoint
এবং আবার দশ বার বেঞ্চমার্ক চালিয়েছে:
$ dd if=/dev/zero bs=1M of=/tmp/mountpoint/file oflag=sync
...
7171379200 bytes (7.2 GB) copied, 27.0111 s, 265 MB/s
এবং তারপরে আমি পরীক্ষার ফাইলটি আনমাউন্ট করে এটিকে সরিয়ে দিয়েছি:
sudo umount /tmp/mountpoint
sudo umount /mnt
(একইভাবে এইচডিডি পরীক্ষার জন্য, আমি count=1000
টেস্টটি আমার পুরো ডিস্কটি পূরণ করা থেকে বিরত রাখতে ব্যতীত )
(এবং সিঙ্ক-লিখন-অন-সিঙ্ক পরীক্ষার জন্যও সময়সীমা চালিয়েছি dd
এবং sync
পরিচালনা করেছি)