Comment savoir si votre carte (micro)SD est suffisante pour être utilisée sur un Raspberry Pi ? La fondation veut aider ses utilisateurs à se faire une idée des performances de leur ordinateur de poche, en commençant par un outil de test destiné aux périphériques de stockage... assez basique.
Depuis quelques mois, on voit le projet Raspberry Pi se renforcer sur un autre aspect que celui du matériel proposé à la vente par la fondation ou le développement de l'OS Raspbian. L'équipe travaille à des outils devant simplifier la vie de ses utilisateurs, comme l'application multiplateforme pour « l'installation » d'une image.
Elle va également sur le terrain de la mesure de performances, pour un élément encore vital des SBC (Single Board Computer) qu'elle propose : le stockage amovible. Dépendant toujours d'une carte (micro)SD, ou d'un périphérique USB dans certains cas, ces ordinateurs compacts peuvent voir leur confort d'utilisation fortement varier.
Pour y voir plus clair, SD Card Speed Test a été créé.
Raspberry Pi et performance du stockage
Malgré les demandes répétées de la communauté, la fondation Raspberry Pi ne propose toujours pas de cartes équipées de puces flash ou même d'une connectique autre qu'un connecteur microSD ou un port USB.
De fait, cela rend le système très dépendant des performances de ces périphériques de stockage, qui ne sont pas réputés pour être les plus rapides du marché. Peu coûteux, ils affichent dans le meilleur des cas de bons débits en lecture/écriture séquentielle, mais il en est en général tout autrement sur les accès aléatoires et/ou à de petits fichiers.
Si les constructeurs et organismes normalisateurs rivalisent d'ingéniosités pour ce qui est de promettre monts et merveilles à travers différents logos, il n'est pas toujours très simple pour vérifier ce qu'il en est dans la pratique. Certes, il existe sous Linux des outils de mesure de performances, pas toujours simple à prendre en main.
C'est d'autant plus vrai pour l'utilisateur débutant, alors que celui-ci aimerait sans doute savoir simplement si le périphérique de stockage qu'il utilise est rapide ou non, adapté à son besoin. Un critère qui peut évoluer avec le temps, les performances déclinant parfois au fur et à mesure.
Surtout que dans le cas des cartes (micro)SD, certains revendeurs peu scrupuleux, agissant en général via des places de marché de boutiques peu regardantes, mentent sur la réalité des produits qu'ils proposent. Dès lors, comment faire pour s'y retrouver sans avoir à suivre des guides en 15 lignes de commandes ?
Une suite de test clé en main, encore assez pauvre
Les équipes de la fondation ont donc travaillé à une suite de tests en commençant par un outil permettant de relever les performances du périphérique de stockage principal de l'appareil. L'ensemble s'installe assez simplement via APT, présent dans les dépôts de Raspbian. Son code source ne semble pas (encore ?) diffusé sur le dépôt officiel.
sudo apt update && sudo apt install agnostics
Dans la version desktop, il est présent dans le menu Accessoires sous le nom Raspberry Pi Diagnostics et se lance sous la forme d'une interface graphique (Gtk) assez basique. Elle ne propose qu'une possibilité : lancer un test et afficher un résultat binaire permettant de savoir si les performances du stockage principal sont suffisantes ou non.
Raspberry Pi Diagnostics ne propose pour le moment qu'un test, mais ça devrait évoluer
Pour ceux voulant aller plus loin, un fichier de log est accessible d'un clic, détaillant les résultats. On voit qu'une analyse est effectuée sur des blocs de 4k et de manière séquentielle. Pour être considérées comme suffisantes, les performances doivent dépasser 10 000 kb/s en écriture séquentielle et 1500/500 IOPS en lecture/écriture aléatoire.
Autant dire que ce n'est pas très exigeant.
Un outil aussi accessible en ligne de commande
Pour ceux qui préfèrent la version Lite de Raspbian, sans interface graphique, l'outil est également accessible via un simple terminal ou un accès SSH. On trouve ses données dans le répertoire suivant :
/usr/share/agnostics
On y trouve un dossier regroupant les éléments de l'interface et le script qu'elle permet de lancer. En réalité, il s'agit d'un simple script bash avec un fichier permettant d'exécuter trois séries de tests via l'outil open source fio. Nous avons placé le code source de ce script par ici pour ceux qui le souhaitent.
Vous pouvez le lancer manuellement de la manière suivante :
. /usr/share/agnostics/sdtest.sh
Le test sera effectué et le résultat s'affichera comme dans la fenêtre de log :
Les résultats affichés via l'interface graphique et ceux en ligne de commandes