Comanda dd vă permite să măsurați viteza de citire / scriere secvențială.
Pentru citire, un rezultat mai sigur dă lectură directă fără utilizarea cache-ului de sistem în modul iflag = direct:
Pentru acuratețea măsurătorilor de înregistrare, este important să așteptați terminarea acesteia și să nu puneți ieșirea în memoria cache. Cel mai bun rezultat este conv = fdatasync. Modul de lag = directe dă, de obicei, un rezultat mai rău și este mai departe de o utilizare reală posibilă. ATENȚIE! Următoarea comandă va duce la pierderea datelor de pe dispozitivul / dev / sdb
Unele discuri pot funcționa mai lent cu date aleatorii decât cu zerouri. Nu puteți folosi / dev / urandom și în special / dev / random în loc de / dev / zero, deoarece acestea necesită o mulțime de calcule și încetinirea procesului. Prin urmare, trebuie mai întâi să pregătiți un fișier cu datele (mai bine pe tmpfs).
După cum puteți vedea, dacă am copiat direct / dev / urandom în / dev / sdb, am obține viteza de calcul al numărului de pseudo-aleatoare, nu viteza de scriere. Acum verificăm datele. ATENȚIE! Următoarea comandă va duce la pierderea datelor de pe dispozitivul / dev / sdb
A obținut același rezultat. Deci, viteza dispozitivului meu nu depinde de date.
Echipa fio face o mulțime de cazuri de testare diferite, dar rezultatele sunt rezultate într-un format nu foarte convenabil, deși există o mulțime de detalii diferite. Pentru a obține dependența de viteză de dimensiunea blocului, am scris următorul script (diskspeed.sh), sper că va fi util:
Exemple de rulare a unui script cu o cartela SD
Citirea liniară cu 4Mb trece:
Datele sunt stocate în directorul device_name-name_name_name și le puteți filtra într-un fel.
PS. Cu înregistrarea ceva ce nu îmi place rezultatele: se schimbă foarte mult la repornire și mult mai puțin decât conv conv = fdatasync, chiar și cu blocuri mari.