{"id":18690507,"url":"https://github.com/kvaps/massfio","last_synced_at":"2025-11-08T08:30:33.431Z","repository":{"id":80916045,"uuid":"85810976","full_name":"kvaps/massfio","owner":"kvaps","description":null,"archived":false,"fork":false,"pushed_at":"2018-06-11T14:10:14.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-28T02:32:15.731Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-03-22T09:47:29.000Z","updated_at":"2018-06-11T14:10:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"3112c94c-0cb8-495e-986a-c1d58d736a67","html_url":"https://github.com/kvaps/massfio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fmassfio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fmassfio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fmassfio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fmassfio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvaps","download_url":"https://codeload.github.com/kvaps/massfio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239550283,"owners_count":19657541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-07T10:47:48.992Z","updated_at":"2025-11-08T08:30:33.365Z","avatar_url":"https://github.com/kvaps.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Massfio\n\nFor testing clustered storage systems\n\n* [Massfio](https://github.com/kvaps/massfio/)\n* [Fio](https://github.com/kvaps/docker-fio/)\n\n### Deploy\n\n**Docker run:**\n\n```bash\ndocker run --rm -ti -p 8765:8765 kvaps/fio --server\n```\n\n**Kubernetes run:**\n\n```yaml\napiVersion: apps/v1\nkind: StatefulSet\nmetadata:\n  name: fio\nspec:\n  selector:\n    matchLabels:\n      app: fio\n  serviceName: \"fio\"\n  replicas: 3\n  template:\n    metadata:\n      labels:\n        app: fio\n    spec:\n      containers:\n      - name: fio\n        image: kvaps/fio:latest\n        args: [ \"--server\" ]\n        ports:\n        - name: fio\n          containerPort: 8765\n        volumeMounts:\n        - name: data\n          mountPath: /data\n  volumeClaimTemplates:\n  - metadata:\n      name: data\n    spec:\n      accessModes: [ \"ReadWriteOnce\" ]\n      storageClassName: \"my-storage-class\"\n      resources:\n        requests:\n          storage: 10Gi\n```\n\n### Usage\n\n**write config**\n\n```\ncat \u003e test.ini \u003c\u003c\\EOT\n[readtest]\nblocksize=4k\nfilename=/data/test_file\nrw=randread\ndirect=1\nbuffered=0\nioengine=libaio\niodepth=256\nruntime=120\nfilesize=8G\n[writetest]\nblocksize=4k\nfilename=/data/test_file\nrw=randwrite\ndirect=1\nbuffered=0\nioengine=libaio\niodepth=16\nruntime=120\nfilesize=8G\nEOT\n```\n\n**Run single test**\n\n```bash\ndocker run --net=host -ti --rm -v \"$PWD:/config\" kvaps/fio --client=10.112.0.104 /config/test.ini\n```\n\n**Run multiple test**\n\nFirst you need to know all IPs for your fio pods:\n\n```\nkubectl get pod -l app=fio -o custom-columns=IP:.status.podIP | tail -n+2 | xargs\n```\n\nThen you can run massfio script with them:\n\n```bash\n# Run massfio container\ndocker run --net=host -ti --rm -v \"$PWD:/config\" -v \"$PWD/results:/results\" kvaps/massfio\n\n# Run test\ntimeout 10m /massfio.sh /config/test.ini 10.112.0.104 10.112.0.105 10.112.0.106\n\n# Parse results\n/massfio_parse.sh /results\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fmassfio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvaps%2Fmassfio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fmassfio/lists"}