DOI: 10.5281/zenodo.18412125
title: Chocolate Cloud Object Storage Transfer Speeds Dataset

description: Overview

This dataset measures upload and download performance between Fly.io gateway regions (origins) and commercial object storage backends (targets). Each row is one measurement for a specific data size, initiated from a Fly.io region and recorded against a particular backend, and is intended for studying network performance, latency-sensitive placement, and cross-region transfer behavior.

Some records use 1-byte uploads/downloads to approximate latency by activating the target service's data path with minimal payload. For each timestamp, measurements include standard sizes (1 byte, 1 MB, 10 MB, 50 MB) plus a few random sizes up to 50 MB. The dataset includes ~900.000 measurements spanning 86 days between 2024-10-31 and 2025-01-24, with a pause from 2024-11-18 to 2024-12-18. Each measurement is uniquely identified by (timestamp, origin_fly_region, target_backend_id, size_bytes).

CSV Columns



timestamp: UTC datetime string for the measurement (timezone-aware, ISO 8601).

origin_fly_region: Fly.io gateway region code (3-letter).

origin_countrycode: ISO 3166-1 alpha-2 country code (lowercase) for the Fly.io gateway.

origin_city: City of the Fly.io gateway.

origin_lat: Latitude of the Fly.io gateway.

origin_lng: Longitude of the Fly.io gateway.

target_backend_id: Internal storage backend ID.

target_provider: Cloud provider name.

target_region: Cloud provider region.

target_countrycode: ISO 3166-1 alpha-2 country code (lowercase) for the backend location.

target_city: City of the storage backend.

target_timezone: Time zone name for the backend.

target_lat: Latitude of the storage backend.

target_lng: Longitude of the storage backend.

target_local_time: Local time at the target backend for the same instant as timestamp.

distance_km: Great-circle distance between origin and target, in kilometers (rounded int).

size_bytes: Data size in bytes for the measurement.

upload_time_ms: Upload time in milliseconds.

download_time_ms: Download time in milliseconds.

upload_speed_mbps: Upload speed in megabits per second (2 decimal places).

download_speed_mbps: Download speed in megabits per second (2 decimal places).


Intended Use Examples



Compare upload/download performance across cloud providers and regions for a fixed data size.

Identify nearest or best-performing storage backends for a given Fly.io region.

Analyze how geographic distance correlates with throughput.

Build placement or replication strategies based on observed network performance.

Use as input for predictive models of transfer time or throughput.


Notes



Rows are sorted by timestamp ascending.

City names may contain commas and are properly quoted in the CSV.

There are no missing values


Related ML Models

Models trained on this dataset are published at:

https://zenodo.org/records/18288840


These models predict transfer time for a specific Fly.io region to storage-backend route at a given time and data size. There is a separate model for six backends and the Fly.io London (lhr) region.

The target_backend_id column is the internal unique ID of a region for a commercial cloud storage provider and is consistent with the backend identifiers used in the published models.