Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/quortex/cloudbench
A project to bench ffmpeg performances and price for the major cloud providers
https://github.com/quortex/cloudbench
tool
Last synced: about 2 months ago
JSON representation
A project to bench ffmpeg performances and price for the major cloud providers
- Host: GitHub
- URL: https://github.com/quortex/cloudbench
- Owner: quortex
- License: mit
- Created: 2020-05-13T06:40:31.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-30T08:19:24.000Z (7 months ago)
- Last Synced: 2023-11-30T14:42:02.230Z (7 months ago)
- Topics: tool
- Language: Shell
- Size: 53.7 KB
- Stars: 7
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-stars - quortex/cloudbench - A project to bench ffmpeg performances and price for the major cloud providers (Shell)
README
# cloudbench
A project to bench ffmpeg performances and price for the major cloud providers.## Concept
Comparing performance and price of cloud compute instances is a complex task, given the diversity of architectures offered by the cloud providers. This project will deploy machines (using [Terraform](https://www.terraform.io)) and code (using [ansible](https://www.ansible.com)) to bench the machine and gather the results in a CSV File.### Under the hoods
- A debian 10 image is used with the latest official [ffmpeg](https://ffmpeg.org/) (from the debian repos)
- The compute pricing are difficult to fetch automatically, hence prices are locally stored as of now (see [pricing/aws/ireland.csv](pricing/aws/ireland.csv) and [pricing/gcp/netherlands.csv](pricing/gcp/netherlands.csv))## Pre-requisites
- Terraform, Ansible and jq need to be installed
- You must have a valid account on GCP, AWS and Azure (and you must be authentified through the appropriate cli tools: gcloud, az and aws)## How to use
- *campaign* files are json files that can easily modified to make more/less ffmpeg computing (see [campaign.json](campaign.json))
- *machine* files are json files that describe the machines to be used for testing (see [machines.json](machines.json))
```console
foo@bar:~$ ./bench.sh -c campaign.json -m machines.json
foo@bar:~$ ./gather.sh results/campaign
foo@bar:~$ cat results/campaign.csv | head
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf25-506MHz-2019-01-22.ts;0x78;1920x1080@6000000;fast;35553
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf25-506MHz-2019-01-22.ts;0x140;1920x1080@6000000;fast;38428
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf25-506MHz-2019-01-22.ts;0x1a4;1920x1080@6000000;fast;36509
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf25-506MHz-2019-01-22.ts;0x208;1920x1080@6000000;fast;41406
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf25-506MHz-2019-01-22.ts;0x26c;1920x1080@6000000;fast;46119
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf30-546MHz-2019-01-22.ts;0x78;1920x1080@6000000;fast;41040
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf30-546MHz-2019-01-22.ts;0xdc;1920x1080@6000000;fast;45156
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf30-546MHz-2019-01-22.ts;0x140;1920x1080@6000000;fast;41275
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf30-546MHz-2019-01-22.ts;0x1a4;1920x1080@6000000;fast;37311
a1.4xlarge; ,4656; ,1375; ,2933; ,2011;tnt-uhf30-546MHz-2019-01-22.ts;0x208;1920x1080@6000000;fast;43401
```## TODO
- Automatic price update (static for now)
- Launch tests in parallel