{"id":16961077,"url":"https://github.com/ricsanfre/pi-storage-benchmark","last_synced_at":"2026-05-09T05:09:39.192Z","repository":{"id":111459579,"uuid":"389596866","full_name":"ricsanfre/pi-storage-benchmark","owner":"ricsanfre","description":"Benchmarking storage options for Raspberry PI","archived":false,"fork":false,"pushed_at":"2021-09-25T09:18:39.000Z","size":81,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T15:51:31.505Z","etag":null,"topics":["benchmarking","raspberry-pi","storage"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ricsanfre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-26T10:38:24.000Z","updated_at":"2024-09-15T17:40:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"818392b4-b90d-4acc-b4f9-c4da69f303af","html_url":"https://github.com/ricsanfre/pi-storage-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ricsanfre/pi-storage-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricsanfre%2Fpi-storage-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricsanfre%2Fpi-storage-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricsanfre%2Fpi-storage-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricsanfre%2Fpi-storage-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ricsanfre","download_url":"https://codeload.github.com/ricsanfre/pi-storage-benchmark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricsanfre%2Fpi-storage-benchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32807878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmarking","raspberry-pi","storage"],"created_at":"2024-10-13T22:50:57.719Z","updated_at":"2026-05-09T05:09:39.160Z","avatar_url":"https://github.com/ricsanfre.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Benchmarking Storage options for Raspberry Pi\n\nThe scope of this project is benchmarking the different storage options at my disposal for running Ubuntu 20.04 on RaspberryPI\nDifferent options that have been tested are:\n\n1) Internal SDCard: [SanDisk Ultra 32 GB microSDHC Memory Cards](https://www.amazon.es/SanDisk-SDSQUA4-064G-GN6MA-microSDXC-Adaptador-Rendimiento-dp-B08GY9NYRM/dp/B08GY9NYRM) (Class 10)\n2) Flash Disk USB 3.0: [Samsung USB 3.1 32 GB Fit Plus Flash Disk](https://www.amazon.es/Samsung-FIT-Plus-Memoria-MUF-32AB/dp/B07HPWKS3C)\n3) SSD Disk [Kingston A400 480GB](https://www.amazon.es/Kingston-SSD-A400-Disco-s%C3%B3lido/dp/B01N0TQPQB) + USB3 to SATA Adapter [Startech USB 3.0 to SATA III](https://www.amazon.es/Startech-USB3S2SAT3CB-Adaptador-3-0-2-5-negro) \n4) SCSI using a Target SCSI running on Raspberry PI using as USB 3.0 SSD disk\n\nFor the testing a tweaked version of the [script](https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh) provided by James A. Chambers (https://jamesachambers.com/) will be used\n\n\u003e NOTE: see https://pibenchmarks.com/ for details about Raspberry PI storage benchmarking results\n\nSee benchmarking results [here](./result/benchmarking_result.md).\n\n\n## Testing automation with Ansible\n\nBenchmarking script execution is automated using an Ansible Playbook: `storage_benchmark.yaml`\n\nThis playbook, first ensure that the required packages using during testing are installed, second execute the benchmarking script 5 times, and finally get the log output execution of all the tests.\n\nTo execute the playbook:\n1) Update IP address of the tested hosts in inventory `hosts` file.\n2) Execute playbook:\n    \n    ansible-playbook -i hosts storage_benchmark.yaml\n3) Check the results in `output` directory\n\n\n## Benchmarking Procedure\n\n### Sequential I/O performance\n\nTest sequential I/O with `dd` and `hdparam` tools. `hdparm` can be installed through `sudo apt install -y hdparm`\n\n\n- Read speed (Use `hdparm` command)\n    \n    ```\n    sudo hdparm -t /dev/sda1\n    \n    Timing buffered disk reads:  72 MB in  3.05 seconds =  23.59 MB/sec\n\n    sudo hdparm -T /dev/sda1\n    Timing cached reads:   464 MB in  2.01 seconds = 231.31 MB/sec\n    ```\n\n    It can be combined in just one command:\n\n    ```\n    sudo hdparm -tT --direct /dev/sda1\n\n    Timing O_DIRECT cached reads:   724 MB in  2.00 seconds = 361.84 MB/sec\n    Timing O_DIRECT disk reads: 406 MB in  3.01 seconds = 134.99 MB/sec\n\n    ```\n\n- Write Speed (use `dd` command)\n\n    ```\n    sudo dd if=/dev/zero of=test bs=4k count=80k conv=fsync\n\n    81920+0 records in\n    81920+0 records out\n    335544320 bytes (336 MB, 320 MiB) copied, 1,86384 s, 180 MB/s\n\n    ```\n### Random I/O Performance\n\nTools used `fio` and `iozone`\n\nInstall required packages with:\n\n    sudo apt install iozone3 fio\n\n- Check random I/O with `fio`\n\n    Random Write\n\n    ```\n    sudo fio --minimal --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=80M --readwrite=randwrite\n    ```\n\n    Random Read\n\n\n    ```\n    sudo fio --minimal --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=80M --readwrite=randread\n    ```\n\n- Check random I/O with `iozone`\n\n    ```\n    sudo iozone -a -e -I -i 0 -i 1 -i 2 -s 80M -r 4k\n\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricsanfre%2Fpi-storage-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricsanfre%2Fpi-storage-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricsanfre%2Fpi-storage-benchmark/lists"}