আমি যখন এলোমেলো লেখার জন্য এসডি কার্ডের পারফরম্যান্স যাচাই করি, তখন দেখতে পাচ্ছি যে রেকর্ড আকার 4 কিলোবাইটের জন্য পারফরম্যান্সটি বেশ খারাপ ( আমি iozone v3.430 এর সাথে র্যান্ডম রাইটিং পারফরম্যান্সটি পরিমাপ করেছি এবং বিভিন্ন নির্মাতার বেশ কয়েকটি ফ্ল্যাশ কার্ড পরীক্ষা করেছি। এটি আইওজোন কমান্ড, আমি ফাইলের আকার 50 এমবি দিয়ে পরিমাপ করতাম:
iozone -RaeI -i 0 -i 1 -i 2 -y 4k -q 1M -s 50m -o -f /tmp/testfile
ফাইলের আকার 50 এমবি সহ এটি ফলাফল:
প্রশ্ন: 8, 16, 32, 64 এবং 128 কেবি রেকর্ড আকারের এলোমেলো লেখার পারফরম্যান্স 4 কেবি রেকর্ড আকারের চেয়ে ধীর গতির কারণ কী?
পিটার ব্রিটেন একটি বৃহত ফাইল আকারের সাথে পরীক্ষা করার পরামর্শ দিয়েছিল, তাই আমি এটি ফাইলের আকার 500 এমবি দিয়েও চেষ্টা করেছিলাম। এটি ফলাফল:
সামগ্রিক পারফরম্যান্স খারাপ হয়ে গেছে তবে ঘটনাটি এখনও ঘটে।
পার্টিশনগুলি 4 এমবি বাউন্ডারে প্রান্তিক করা হয়। ফাইল সিস্টেম 4 কেবি ব্লকের আকারের সাথে এক্সট 4। পরীক্ষার জন্য ব্যবহৃত পার্টিশনটি mmcblk0p2 হয়।
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 953.7M 0 loop /mnt/sdb1
mmcblk0 179:0 0 14.9G 0 disk
├─mmcblk0p1 179:1 0 56M 0 part /boot
├─mmcblk0p2 179:2 0 7.8G 0 part /
└─mmcblk0p3 179:3 0 7G 0 part /mnt/mmcblk0p3
$ cat /etc/fstab | grep mmcblk0p2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
$ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders, total 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000981cb
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 16506879 8192000 83 Linux
/dev/mmcblk0p3 16506880 31115263 7304192 83 Linux
$ mount | grep ext4 | grep root
/dev/root on / type ext4 (rw,noatime,data=ordered)
# tune2fs -l /dev/mmcblk0p2 | grep Block
Block count: 2048000
Block size: 4096
Blocks per group: 32768
আপডেট 1: এটি স্পষ্ট যে রেন্ডম লেখার জন্য বিশেষত ছোট রেকর্ড আকারের জন্য পারফরম্যান্স অনুক্রমিক লেখার তুলনায় উল্লেখযোগ্যভাবে কম। ন্যাণ্ড ফ্ল্যাশ স্টোরেজের মেমরি সেলগুলি পৃষ্ঠাগুলিতে গ্রুপ করা হয় এবং তাই মুছে ফেলা ব্লক বলে। সাধারণ পৃষ্ঠার আকার 4, 8 বা 16 কেবি হয়। যদিও নিয়ামকের পক্ষে একক পৃষ্ঠাগুলি লেখা সম্ভব, তবুও তথ্যটি মুছে ফেলা ছাড়া ওভাররাইট করা যায় না এবং একটি মুছা ব্লক হ'ল একটি ন্যান্ড ফ্ল্যাশ স্টোরেজ মুছতে পারে এমন ক্ষুদ্রতম একক। মুছার ব্লকের আকারটি সাধারণত 128 কেবি এবং 2 মেগাবাইটের মধ্যে থাকে। আধুনিক এসডি কার্ডগুলিতে, অল্প সংখ্যক মুছা ব্লককে সমান আকারের বৃহত্তর ইউনিটে একত্রিত করা হয় যা বরাদ্দ গোষ্ঠী বা বরাদ্দ ইউনিট বা বিভাগগুলি বলা হয়। সাধারণ সেগমেন্টের আকার 4 এমবি।স্টোরেজে প্রতিটি লিখন অপারেশন একটি সম্পূর্ণ বিভাগের জন্য একটি রিড-মডিফাই-রাইটিং অপারেশনের ফলাফল করে। উদাহরণস্বরূপ, 4 এমবি সেগমেন্ট আকারের সাথে একটি এসডি কার্ডের জন্য, এলোমেলো অবস্থানগুলিতে 4 কেবি ডেটা লেখার ফলে 1024 এর একটি লেখার পরিবর্ধন ফ্যাক্টর আসে SD এসডি কার্ডগুলির নিয়ন্ত্রকরা একটি অনুবাদ স্তর প্রয়োগ করে। যে কোনও আই / ও অপারেশনের জন্য, কন্ট্রোলার দ্বারা ভার্চুয়াল থেকে শারীরিক ঠিকানায় একটি অনুবাদ করা হয়। যদি কোনও বিভাগের অভ্যন্তরের ডেটা ওভাররাইট করা হয় তবে অনুবাদ স্তরটি বিভাগটির ভার্চুয়াল ঠিকানাটিকে অন্য মুছে ফেলা শারীরিক ঠিকানার সাথে পুনরায় তৈরি করে। পুরানো শারীরিক বিভাগটি নোংরা হিসাবে চিহ্নিত এবং মুছে ফেলার জন্য সারিযুক্ত। পরে, এটি মুছে ফেলা হলে, এটি পুনরায় ব্যবহার করা যেতে পারে। এসডি কার্ডগুলির নিয়ন্ত্রণকারীরা এলোমেলো লেখার ক্রিয়াকলাপটি বাড়ানোর জন্য সাধারণত একক বা একাধিক বিভাগকে ক্যাশে করে।যদি এসডি কার্ডগুলি একটি রুট ফাইল সিস্টেম সঞ্চয় করে, তবে কার্ডের নিয়ন্ত্রক সেগমেন্ট (গুলি) কে যেখানে রাইট অপারেশন (গুলি) সঞ্চালিত হয় সেগুলি, সেগমেন্টগুলি, যা ফাইল সিস্টেমের জন্য মেটাডেটা সঞ্চয় করে এবং যদি (যদি) উপলব্ধ) ফাইল সিস্টেমের জার্নাল। ফলস্বরূপ, একটি এসডি কার্ডের এলোমেলো লেখার পারফরম্যান্স মুছার ব্লকের আকার, বিভাগের আকার এবং বিভাগগুলির সংখ্যা, নিয়ামক ক্যাশে নির্ভর করে। 8, 16, 32, 64 এবং 128 কেবি রেকর্ড আকারের সাথে এলোমেলো লেখার পারফরম্যান্স কেন 4 কেবি রেকর্ড আকারের সাথে ধীর হয়ে যায় তা এই সমস্ত ব্যাখ্যা করে না।
আপডেট 2 (মায়াটের উত্তর): টেবিলের স্ক্রিনশটটি আমার নিজের কাজ। বর্তমানে, আমি একক বোর্ড কম্পিউটারগুলির ক্লাস্টারগুলি সম্পর্কে একটি নিবন্ধ / কাগজ লিখি কারণ তারা শিক্ষার্থী প্রকল্প এবং গবেষকদের জন্য সংস্থান সরবরাহের জন্য একটি আকর্ষণীয় বিকল্প। এই প্রসঙ্গে আমি একটি একক নোডের সিপিইউ, স্টোরেজ এবং নেটওয়ার্ক ইন্টারফেসের কার্যকারিতাও তদন্ত করেছি। আমি সমস্ত পরীক্ষিত এসডি কার্ড কিনেছি। আমি যে কোনও কার্ড ইনস্টল করেছি (ডিডির মাধ্যমে অনুলিপি করে) রাস্পিয়ান হুইজি (সংস্করণ 2014-06-20)। আমি নেটওয়ার্ক সেটিংস কনফিগার করার পরে এবং কিছু অতিরিক্ত প্যাকেজ ইনস্টল করার পরে (যেমন iozone), আমি অন্য এসডি কার্ডে পুরো এসডি কার্ডটি অনুলিপি করেছি।
আপডেট 3 (গ্যাব্রিয়েল সাউদার্নের উত্তর): ফলাফলগুলি একক রান থেকে। পদ্ধতিটি ছিল:
- রাস্পবেরি পাই মডেল বিতে কার্ড োকান
- সিস্টেম বুট করুন
- এসএসএইচ এর মাধ্যমে লগইন করুন
- আইওজোন পরীক্ষা চালানো শুরু করুন
- সিস্টেমটি থামিয়ে দিন এবং অন্য এসডি কার্ড দিয়ে চেষ্টা করুন
কয়েকটি কার্ড আমি ডাবল চেক করার জন্য কয়েকবার চেষ্টা করেছি। মাত্র কিছুটা ভিন্নতা ছিল। দুটি ঘটনা স্যামসাং কার্ড এবং একটি ভারব্যাটিম কার্ড বাদে সর্বদা ঘটে The
আপডেট 4: এই মুহুর্তে আমি এমন একটি সংস্থার সাথে যোগাযোগ করার চেষ্টা করব যা ন্যাণ্ড ফ্ল্যাশ কন্ট্রোলার (স্যামসুং, সানডিস্ক, তোশিবা ...) উত্পাদন করে সেখানে একটি নির্দিষ্ট উত্তর জিজ্ঞাসা করার জন্য। সানডিস্কের একটি ফোরাম রয়েছে। আমি সেখানে একটি ব্যাখ্যা চেয়েছিলাম । আমি কিংস্টনের প্রযুক্তিগত সহায়তা বিভাগে একটি অনুরোধও প্রেরণ করেছি।
আপডেট 5: মুছা ব্লক আকার এবং বরাদ্দ ইউনিট (বিভাগ) আকার ঘটনাটির জন্য দায়ী নয়। আমি সব এসডি কার্ডের মুছে ফেলুন ব্লক আকার পরীক্ষিত pritcsd.py একটি ThinkPad X240 নোটবুক অভ্যন্তরীণ কার্ড রিডার এবং পরিশেষে একটি রাস্পবেরী Pi মডেল বি সঙ্গে সমস্ত কার্ড আউটপুট জন্য টুল মুষ্টি: Erase block size of mmcblk0 is 65536 bytes
। এছাড়াও বিভাগের আকার সমস্ত পরীক্ষিত এসডি কার্ডের জন্য সমান। এটি 4 এমবি। এই তথ্যটি ফাইলটিতে পাওয়া যাবে /sys/class/mmc_host/mmc0/mmc0*/preferred_erase_size
। আমার মতে এটি বেশ অসাধারণ যে এই সমস্ত কার্ডের ব্লক আকার এবং বিভাগের আকার একই রকম। এর মধ্যে আমি পরীক্ষিত কার্ডের প্যাকেগিংগুলি থেকে পণ্য আইডি / আইটেম নম্বর সংগ্রহ করেছি। এখানে তারা.
আপডেট 6: কিংস্টনের প্রযুক্তিগত সমর্থন আমাকে লিখেছিল যে পরীক্ষিত কিংস্টন কার্ডের নিয়ন্ত্রণকারীরা (এবং সম্ভবত অন্যান্য কার্ডগুলির মধ্যে) 4 কেবি আকারের ফাইলগুলির জন্য অনুকূলিত হয়েছে। সঠিক নিয়ামক বাস্তবায়ন গোপনীয়। কিংস্টনের উত্তর আমার কাছে সেরা best সানডিস্ক কখনই আমার সমর্থন অনুরোধে সাড়া দেয়নি এবং আমি সনি, স্যামসুং বা ভারব্যাটিমের কোনও যোগাযোগ খুঁজে পেতে পারি নি