{"id":112505,"date":"2025-11-12T06:00:31","date_gmt":"2025-11-12T14:00:31","guid":{"rendered":"https:\/\/www.backblaze.com\/blog\/?p=112505"},"modified":"2026-02-10T12:33:38","modified_gmt":"2026-02-10T20:33:38","slug":"backblaze-performance-stats-for-q3-2025","status":"publish","type":"post","link":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/","title":{"rendered":"Backblaze Performance Stats for Q3 2025"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new-1024x583.png\" alt=\"A textured background with the word Q3 2025 Performance Stats on it.\" class=\"wp-image-112506\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new-1024x583.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new-300x171.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new-768x437.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png 1440w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In cloud storage and compute, \u201cless is more\u201d no longer applies. As data grows and expectations rise, businesses need performance, reliability, and real value\u2014not just lower costs. It can be tempting to rely solely on hyperscalers like AWS, but the challenge is understanding where cloud performance truly meets value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s why Backblaze is launching Performance Stats, our newest stats content built on the transparency of <a href=\"https:\/\/www.backblaze.com\/blog\/backblaze-drive-stats-for-q3-2025\/\">Drive Stats<\/a> and <a href=\"https:\/\/www.backblaze.com\/blog\/network-stats-for-q3-2025-the-magnitude-of-ai-workflows\/\">Network Stats<\/a>. This ongoing, quarterly report will share performance testing results\u2014for both Backblaze and competitors\u2014as well as the testing methodology so that anyone can recreate, compare results, and contribute to building better tests if necessary. (So, feel free to argue with us in the comments.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By publishing everything\u2014strengths, weaknesses, and all\u2014we\u2019re hoping to give AI leaders, app developers, and decision-makers a clear, honest view of how Backblaze and other cloud storage providers perform in the wild.<\/p>\n\n\n\n<div class=\"abstract\" style=\"line-height: 1.8; margin: 24px 12px; padding: 24px 12px 10px 12px;\">\n<h4>Get the full Stats picture live <\/h4>\n<p>Drive Stats was the beginning. Want to see the evolution? Check out the Backblaze Stats webinar, bringing together content from all of our Stats series. We\u2019re going to chat about all things Backblaze and beyond\u2014by the numbers.<br \/>\n<br \/>\n<!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-87066d35-39a5-43fe-a44f-494052a6e8d9\"><span class=\"hs-cta-node hs-cta-87066d35-39a5-43fe-a44f-494052a6e8d9\" id=\"hs-cta-87066d35-39a5-43fe-a44f-494052a6e8d9\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/2832298\/87066d35-39a5-43fe-a44f-494052a6e8d9\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-87066d35-39a5-43fe-a44f-494052a6e8d9\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2832298\/87066d35-39a5-43fe-a44f-494052a6e8d9.png\"  alt=\"Save My Seat\"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2832298, '87066d35-39a5-43fe-a44f-494052a6e8d9', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code --><\/p> \n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Cutting through the noise on cloud performance&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Frankly, it&#8217;s super frustrating how opaque performance metrics can be, and how many misleading storage reports are out there. Building accurate tests is complicated for a lot of reasons\u2014so many factors are contingent on things that product builders and even end users control, like where and how data is stored, where it\u2019s being served to end users, and so on. And, most published content on this topic has been tested from <em>inside <\/em>the cloud storage company\u2019s architecture, which means that they\u2019d give themselves preferential results.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While our report may not be perfect, our transparent approach\u2014particularly publishing the testing methodology\u2014will allow us to mitigate some of those concerns.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We want to take a hard look at performance on a level playing field for two reasons:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Buyers should know what they&#8217;re getting and have the tools to sniff out the hype and misleading messaging many providers peddle about their performance.&nbsp;<\/li>\n\n\n\n<li>If we don&#8217;t measure ourselves, we won&#8217;t get better. We want you to understand where we\u2019re doing well today, and we want to take you along for the ride as we work to improve where we\u2019re not.&nbsp;<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Without further ado, here are the results<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We ran performance testing for Backblaze B2, AWS S3, Cloudflare R2, and Wasabi Object Storage. These tests were conducted using <a href=\"https:\/\/github.com\/minio\/warp\" target=\"_blank\" rel=\"noreferrer noopener\">Warp<\/a>, an open-source S3 benchmarking tool for cloud object storage performance. We\u2019ll expand on the methodology after we get into the numbers.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key findings:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>While AWS S3 demonstrates the lowest average download speeds across the board, the hyperscaler didn\u2019t win on sustained download throughput measurements. <\/strong>Five minute single- and multi-threaded benchmarking tests showed AWS winning on only one out of eight sustained throughput tests, indicating that there\u2019s much more to the story than average download speeds. Meanwhile, Backblaze won in six out of eight categories, with Wasabi coming in first on the remaining test. (That being said, it\u2019s wise to take this with a grain of salt given the small cohort in this initial dataset\u2014more robust testing may show different results.)<\/li>\n\n\n\n<li><strong>Sustained throughput testing shows the most differentiation at small file sizes for both single and multi-threaded testing. <\/strong>For example, in multi-threaded upload benchmarking for the 256KiB file size, our highest value was 580% higher than the lowest. In single threaded upload benchmarking for the same file size, the highest value is 700% higher. Download throughput showed 247% and 304% in multi- and single-threaded tests, respectively. Small file size testing can have interesting impacts on overall performance\u2014these files have the most overhead, and are typically more likely to show latency.&nbsp;<\/li>\n\n\n\n<li><strong>Backblaze B2 demonstrates the fastest average upload speeds for small file sizes, with AWS S3 leading for larger file sizes. <\/strong>And, similar to downloads, the story becomes more nuanced when we look at sustained upload throughput, where Backblaze leads for both the smallest (256KiB) and largest (100MiB) file sizes on multi-threaded tests with Wasabi taking the lead in the mid-range.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">And, here\u2019s a jump-to if you want to quickly reach each test:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#upload-comparisons\">Upload averages (in milliseconds)<\/a><\/li>\n\n\n\n<li><a href=\"#Five-minute-multi-threaded-upload-benchmark\">Five minute multi-threaded upload test<\/a><\/li>\n\n\n\n<li><a href=\"#Five-minute-single-threaded-upload\">Five minute single-threaded upload test<\/a><\/li>\n\n\n\n<li><a href=\"#Download-comparisons\">Download averages and TTFB (in milliseconds)<\/a><\/li>\n\n\n\n<li><a href=\"#Five-minute-multi-threaded-download-benchmark\">Five minute multi-threaded download test<\/a><\/li>\n\n\n\n<li><a href=\"#Five-minute-single-threaded-download-throughput\">Five minute single-threaded download test<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Upload-comparisons\">Upload comparisons&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This test shows the average time in milliseconds it takes to upload a file. Averages were taken across a month of data and for three different file sizes.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In these tests, <strong>a lower result is better<\/strong> (i.e., it represents a faster result). Note that we do not have data for Wasabi: Wasabi does not allow users to run HTTP requests for the first 30 days of a new account period, and when we ran this report, our testing account was still within that time period.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In each of the charts, we\u2019ve outlined the \u201cwinner\u201d in green for each category for easy readability.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/1_Cluster-005-Upload-Averages.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"1_Cluster 005 Upload Averages\" data-rl_caption=\"1_Cluster 005 Upload Averages\" title=\"1_Cluster 005 Upload Averages\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"503\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/1_Cluster-005-Upload-Averages-1024x503.png\" alt=\"A bar chart showing average file upload speed for AWS, Backblaze, Wasabi, and Cloudflare. \" class=\"wp-image-112513\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/1_Cluster-005-Upload-Averages-1024x503.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/1_Cluster-005-Upload-Averages-300x147.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/1_Cluster-005-Upload-Averages-768x377.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/1_Cluster-005-Upload-Averages.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/2_Cluster-005-Upload-Averages_Chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"2_Cluster 005 Upload Averages_Chart\" data-rl_caption=\"2_Cluster 005 Upload Averages_Chart\" title=\"2_Cluster 005 Upload Averages_Chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"232\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/2_Cluster-005-Upload-Averages_Chart-1024x232.png\" alt=\"A chart showing data about average file upload speeds for Backblaze, AWS, Wasabi, and Cloudflare. \" class=\"wp-image-112514\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/2_Cluster-005-Upload-Averages_Chart-1024x232.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/2_Cluster-005-Upload-Averages_Chart-300x68.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/2_Cluster-005-Upload-Averages_Chart-768x174.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/2_Cluster-005-Upload-Averages_Chart.png 1070w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Backblaze B2 wins for small files, coming in at 12.11ms, and AWS S3 leads for 2MiB and 5MiB files, coming in at 76.79ms and 201.40ms, respectively. Whether or not these numbers are inherently \u201cgood\u201d or tolerable depends on quite a few factors\u2014we\u2019ll run through some examples comparing use cases to where we see Backblaze succeeding later in the report.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Five-minute-multi-threaded-upload-benchmark\">Five minute multi-threaded upload benchmark<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In these tests, <strong>a higher result is better<\/strong>, as the result represents more average data being pushed in the five minute time period. This gives us quite a bit more information than just average upload time for a single file\u2014rather, it tells us the sustained amount of data you can push to a cloud storage provider in five minutes.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/3_multi-threaded-005-upload-throughput.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"3_multi-threaded 005 upload throughput\" data-rl_caption=\"3_multi-threaded 005 upload throughput\" title=\"3_multi-threaded 005 upload throughput\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"461\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/3_multi-threaded-005-upload-throughput-1024x461.png\" alt=\"A bar graph showing sustained throughput averages for multi-threaded uploads to Backblaze, Wasabi, AWS, and Cloudflare.  \" class=\"wp-image-112516\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/3_multi-threaded-005-upload-throughput-1024x461.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/3_multi-threaded-005-upload-throughput-300x135.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/3_multi-threaded-005-upload-throughput-768x346.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/3_multi-threaded-005-upload-throughput.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/4_multi-threaded-005-upload-throughput_Chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"4_multi-threaded 005 upload throughput_Chart\" data-rl_caption=\"4_multi-threaded 005 upload throughput_Chart\" title=\"4_multi-threaded 005 upload throughput_Chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"235\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/4_multi-threaded-005-upload-throughput_Chart-1024x235.png\" alt=\"A chart showing sustained throughput averages for multi-threaded uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112517\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/4_multi-threaded-005-upload-throughput_Chart-1024x235.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/4_multi-threaded-005-upload-throughput_Chart-300x69.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/4_multi-threaded-005-upload-throughput_Chart-768x177.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/4_multi-threaded-005-upload-throughput_Chart.png 1183w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Interestingly, we have a pretty large spread between our highest and lowest values, most stark amongst the smallest files where Backblaze B2 demonstrates the highest sustained throughput at 163.80MiB\/s and Cloudflare R2 demonstrates the lowest at 24.10MiB\/s.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is important because the strength of object storage is that it lets you run concurrent operations to read many ranges of bytes in the same file. Moreover, thread operations are a configurable element of most cloud storage accounts (though too many concurrent operations can trip rate limits that are dependent on the provider).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, when we think about contextualizing with the average time to a file upload completion, the task includes making the request, the handshake between requester and server, routing the request through the cloud storage provider, then time it takes to read all data, and then notification that your upload is complete.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Threading lets you run the actual process of the return of information concurrently\u2014so while file overhead (handshake) should be relatively consistent, you can get quite a bit faster on large file uploads. And, even when you have consistent results on file overhead, networking paths can make a difference on delivery times. While we can consider networking routes <em>mostly <\/em>stable (especially for synthetic performance testing), it\u2019s certainly not a guarantee. Peering policy changes, network maintenance and\/or outages, and CDN usage can all affect your routing day to day or month to month.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Changing the view a bit, we see some interesting shapes when we plot each providers\u2019 improvement as file sizes get larger:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/5_multi-threaded-005-upload-throughput_trendline.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"5_multi-threaded 005 upload throughput_trendline\" data-rl_caption=\"5_multi-threaded 005 upload throughput_trendline\" title=\"5_multi-threaded 005 upload throughput_trendline\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"545\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/5_multi-threaded-005-upload-throughput_trendline-1024x545.png\" alt=\"A trendline showing sustained throughput averages for multi-threaded uploads across file sizes to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112518\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/5_multi-threaded-005-upload-throughput_trendline-1024x545.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/5_multi-threaded-005-upload-throughput_trendline-300x160.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/5_multi-threaded-005-upload-throughput_trendline-768x409.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/5_multi-threaded-005-upload-throughput_trendline.png 1097w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s intuitive that you\u2019d automatically push more data as file sizes get larger, but the shape of each\u2019s improvement is a stark contrast. The rate of increase (which you can see in our trendlines as the slope) isn\u2019t constant, and we see Backblaze and AWS showing consistently better performance at the higher file sizes. Wasabi tracks with that growth in the smaller file sizes, but falls off at the 50MiB and 100MiB. Meanwhile, we see Cloudflare returning the lowest net values, while flattening out at smaller file sizes as well.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In most performance data, you expect a logarithmic relationship between data points\u2014and so comparing their different shapes\u2014when the trendline flattens out and\/or when it deviates from an <em>ideal<\/em> logarithmic scale\u2014can be telling. You can define an expected logarithmic curve using an average of all providers, then compare each provider\u2019s residuals (how far above or below that curve it sits). We\u2019ll save that analysis for another day, and a more mature dataset.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s also interesting to look at data point clustering by file size. As our dataset matures over time and as we add providers, clustering in these charts start to tell a story. If you want a quick idea of good, better, best and you don\u2019t have a large enough cohort for a true tiered definitional schema, it\u2019s a good visual shortcut\u2014you can easily see if different providers\u2019 results are spread out or if they cluster together at a specific level of performance. The winners for each test are labeled in green.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/7_multi-threaded-005-upload-throughput_256KiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"7_multi-threaded 005 upload throughput_256KiB\" data-rl_caption=\"7_multi-threaded 005 upload throughput_256KiB\" title=\"7_multi-threaded 005 upload throughput_256KiB\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/7_multi-threaded-005-upload-throughput_256KiB-1024x576.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 256KiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112519\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/7_multi-threaded-005-upload-throughput_256KiB-1024x576.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/7_multi-threaded-005-upload-throughput_256KiB-300x169.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/7_multi-threaded-005-upload-throughput_256KiB-768x432.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/7_multi-threaded-005-upload-throughput_256KiB.png 1038w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/8_multi-threaded-005-upload_5MiB-throughput-3.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"8_multi-threaded 005 upload_5MiB throughput-3\" data-rl_caption=\"8_multi-threaded 005 upload_5MiB throughput-3\" title=\"8_multi-threaded 005 upload_5MiB throughput-3\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"580\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/8_multi-threaded-005-upload_5MiB-throughput-3-1024x580.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 5MiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112520\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/8_multi-threaded-005-upload_5MiB-throughput-3-1024x580.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/8_multi-threaded-005-upload_5MiB-throughput-3-300x170.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/8_multi-threaded-005-upload_5MiB-throughput-3-768x435.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/8_multi-threaded-005-upload_5MiB-throughput-3.png 1031w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/9_multi-threaded-005-upload-throughput_50MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"9_multi-threaded 005 upload-throughput_50MiB\" data-rl_caption=\"9_multi-threaded 005 upload-throughput_50MiB\" title=\"9_multi-threaded 005 upload-throughput_50MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/9_multi-threaded-005-upload-throughput_50MiB-1024x574.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 50MiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112521\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/9_multi-threaded-005-upload-throughput_50MiB-1024x574.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/9_multi-threaded-005-upload-throughput_50MiB-300x168.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/9_multi-threaded-005-upload-throughput_50MiB-768x430.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/9_multi-threaded-005-upload-throughput_50MiB.png 1042w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/10_multi-threaded-005-upload-throughput_100MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"10_multi-threaded 005 upload throughput_100MiB\" data-rl_caption=\"10_multi-threaded 005 upload throughput_100MiB\" title=\"10_multi-threaded 005 upload throughput_100MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"566\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/10_multi-threaded-005-upload-throughput_100MiB-1024x566.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 100MiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112522\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/10_multi-threaded-005-upload-throughput_100MiB-1024x566.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/10_multi-threaded-005-upload-throughput_100MiB-300x166.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/10_multi-threaded-005-upload-throughput_100MiB-768x425.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/10_multi-threaded-005-upload-throughput_100MiB.png 1056w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">And, as we said above, in all cases (and one of the most frustrating parts about collecting performance stats) is that your mileage may vary\u2014you always want to compare the needs of your customers and product to the performance you need and how much it costs you.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Five-minute-single-threaded-upload\">Five minute single threaded upload<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Once again, <strong>higher is better in this result<\/strong>, and it measures the sustained amount of data you can push to a server based on file size. As a reminder, multi-threading allows you to concurrently read a single file; while single threading is one, sustained process from start to finish.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/11_single-threaded-005-upload-throughput.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"11_single-threaded 005 upload throughput\" data-rl_caption=\"11_single-threaded 005 upload throughput\" title=\"11_single-threaded 005 upload throughput\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/11_single-threaded-005-upload-throughput-1024x520.png\" alt=\"A bar chart showing sustained throughput averages for single-threaded uploads to Backblaze, Wasabi, AWS, and Cloudflare.  \" class=\"wp-image-112524\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/11_single-threaded-005-upload-throughput-1024x520.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/11_single-threaded-005-upload-throughput-300x152.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/11_single-threaded-005-upload-throughput-768x390.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/11_single-threaded-005-upload-throughput.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/12_single-threaded-005-upload-throughput_chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"12_single-threaded 005 upload throughput_chart\" data-rl_caption=\"12_single-threaded 005 upload throughput_chart\" title=\"12_single-threaded 005 upload throughput_chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"245\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/12_single-threaded-005-upload-throughput_chart-1024x245.png\" alt=\"A chart showing data about sustained throughput averages for single-threaded uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112525\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/12_single-threaded-005-upload-throughput_chart-1024x245.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/12_single-threaded-005-upload-throughput_chart-300x72.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/12_single-threaded-005-upload-throughput_chart-768x184.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/12_single-threaded-005-upload-throughput_chart.png 1501w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Backblaze B2 again leads in small file sizes, with AWS S3 leading for 5MiB files and Wasabi for 50MiB and 100MiB files.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As above, here\u2019s the trendline:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/13_single-threaded-005-upload-throughput_trendline.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"13_single-threaded 005 upload throughput_trendline\" data-rl_caption=\"13_single-threaded 005 upload throughput_trendline\" title=\"13_single-threaded 005 upload throughput_trendline\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/13_single-threaded-005-upload-throughput_trendline-1024x520.png\" alt=\"A trendline showing sustained throughput averages for single-threaded uploads across file sizes to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112526\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/13_single-threaded-005-upload-throughput_trendline-1024x520.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/13_single-threaded-005-upload-throughput_trendline-300x152.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/13_single-threaded-005-upload-throughput_trendline-768x390.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/13_single-threaded-005-upload-throughput_trendline.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">And, like in the multi-threading results, we can look at the clustering in each file type size:\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/14_single-threaded-005-upload-throughput_256KiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"14_single-threaded 005 upload throughput_256KiB\" data-rl_caption=\"14_single-threaded 005 upload throughput_256KiB\" title=\"14_single-threaded 005 upload throughput_256KiB\"><img loading=\"lazy\" decoding=\"async\" width=\"995\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/14_single-threaded-005-upload-throughput_256KiB.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 256KiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112527\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/14_single-threaded-005-upload-throughput_256KiB.png 995w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/14_single-threaded-005-upload-throughput_256KiB-300x176.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/14_single-threaded-005-upload-throughput_256KiB-768x451.png 768w\" sizes=\"auto, (max-width: 995px) 100vw, 995px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/15_single-threaded-005-upload-throughput_5MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"15_single-threaded 005 upload throughput_5MiB\" data-rl_caption=\"15_single-threaded 005 upload throughput_5MiB\" title=\"15_single-threaded 005 upload throughput_5MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"872\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/15_single-threaded-005-upload-throughput_5MiB.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 5MiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112528\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/15_single-threaded-005-upload-throughput_5MiB.png 872w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/15_single-threaded-005-upload-throughput_5MiB-300x201.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/15_single-threaded-005-upload-throughput_5MiB-768x514.png 768w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/16_single-threaded-005-upload-throughput_50MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"16_single-threaded 005 upload throughput_50MiB\" data-rl_caption=\"16_single-threaded 005 upload throughput_50MiB\" title=\"16_single-threaded 005 upload throughput_50MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/16_single-threaded-005-upload-throughput_50MiB.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 50MiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112529\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/16_single-threaded-005-upload-throughput_50MiB.png 1010w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/16_single-threaded-005-upload-throughput_50MiB-300x173.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/16_single-threaded-005-upload-throughput_50MiB-768x444.png 768w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/17_single-threaded-005-upload-throughput_100MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"17_single-threaded 005 upload throughput_100MiB\" data-rl_caption=\"17_single-threaded 005 upload throughput_100MiB\" title=\"17_single-threaded 005 upload throughput_100MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/17_single-threaded-005-upload-throughput_100MiB.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 100MiB uploads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112530\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/17_single-threaded-005-upload-throughput_100MiB.png 940w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/17_single-threaded-005-upload-throughput_100MiB-300x186.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/17_single-threaded-005-upload-throughput_100MiB-768x477.png 768w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Download-comparisons\">Download comparisons<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This test shows the average time in milliseconds it takes to download a file. Averages were taken across a month of data and for three different file sizes.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A reminder that <strong>lower is better in this test <\/strong>as it represents a faster result, and there\u2019s no data for Wasabi in this series due to limitations on HTTP requests within the first 30 days of opening a new account.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/18_Cluster-005-Download-Averages.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"18_Cluster 005 Download Averages\" data-rl_caption=\"18_Cluster 005 Download Averages\" title=\"18_Cluster 005 Download Averages\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/18_Cluster-005-Download-Averages-1024x562.png\" alt=\"A bar chart showing average file download speed for AWS, Backblaze, Wasabi, and Cloudflare.\" class=\"wp-image-112531\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/18_Cluster-005-Download-Averages-1024x562.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/18_Cluster-005-Download-Averages-300x165.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/18_Cluster-005-Download-Averages-768x422.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/18_Cluster-005-Download-Averages.png 1064w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/19_Cluster-005-Download-Averages_Chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"19_Cluster 005 Download Averages_Chart\" data-rl_caption=\"19_Cluster 005 Download Averages_Chart\" title=\"19_Cluster 005 Download Averages_Chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/19_Cluster-005-Download-Averages_Chart-1024x231.png\" alt=\"A chart showing data about average file download speeds for Backblaze, AWS, Wasabi, and Cloudflare.\" class=\"wp-image-112532\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/19_Cluster-005-Download-Averages_Chart-1024x231.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/19_Cluster-005-Download-Averages_Chart-300x68.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/19_Cluster-005-Download-Averages_Chart-768x173.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/19_Cluster-005-Download-Averages_Chart.png 1079w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">AWS S3 leads across the board on this test, with Backblaze B2 taking second and Cloudflare R2 taking third consistently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And, it\u2019s worth separately tracking TTFB because TTFB is a good, but not sufficient statistic when we\u2019re interpreting results.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/20_Cluster-005-Download-Averages_21.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"20_Cluster 005 Download Averages_21\" data-rl_caption=\"20_Cluster 005 Download Averages_21\" title=\"20_Cluster 005 Download Averages_21\"><img loading=\"lazy\" decoding=\"async\" width=\"874\" height=\"472\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/20_Cluster-005-Download-Averages_21.png\" alt=\"A bar chart showing average time to first byte (TTFB) speed for AWS, Backblaze, Wasabi, and Cloudflare.\" class=\"wp-image-112533\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/20_Cluster-005-Download-Averages_21.png 874w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/20_Cluster-005-Download-Averages_21-300x162.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/20_Cluster-005-Download-Averages_21-768x415.png 768w\" sizes=\"auto, (max-width: 874px) 100vw, 874px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Why isn\u2019t this datapoint sufficient to fastest speeds? Not only does TTFB conflate many parts of your networking layer (so it can be affected by things like connection reuse policies), but it\u2019s also such a small part of the overall transfer time and highly variable based on environment. So, its use is really in conversation with the sustained throughput numbers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cached vs. uncached downloads (Backblaze only)&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We were also curious to see if caching within our own network would show up, and, if so, we\u2019d want to make sure we weren\u2019t unintentionally giving ourselves a favorable stance. So, we ran a series of tests for cached and uncached downloads by including the header <code>X-Bz-Flush-Cache-First=true<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/21_Uncached-Downloads.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"21_Uncached Downloads\" data-rl_caption=\"21_Uncached Downloads\" title=\"21_Uncached Downloads\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/21_Uncached-Downloads-1024x520.png\" alt=\"A bar chart showing the difference between cached and uncached downloads for Backblaze. \" class=\"wp-image-112534\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/21_Uncached-Downloads-1024x520.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/21_Uncached-Downloads-300x152.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/21_Uncached-Downloads-768x390.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/21_Uncached-Downloads.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/22_Uncached-Downloads_Chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"22_Uncached Downloads_Chart\" data-rl_caption=\"22_Uncached Downloads_Chart\" title=\"22_Uncached Downloads_Chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"157\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/22_Uncached-Downloads_Chart-1024x157.png\" alt=\"A bar chart showing the difference between cached and uncached downloads for Backblaze. \" class=\"wp-image-112535\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/22_Uncached-Downloads_Chart-1024x157.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/22_Uncached-Downloads_Chart-300x46.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/22_Uncached-Downloads_Chart-768x118.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/22_Uncached-Downloads_Chart.png 1191w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">We do see slightly slower speeds in uncached downloads, but they\u2019re likely a result of the same factors anyone externally hitting our system would see. Additionally, during the course of our testing, Backblaze made cacheless downloads the default behavior for our architecture\u2014so, it will be interesting to monitor this statistic going forward.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Five-minute-multi-threaded-download-benchmark\">Five minute multi-threaded download benchmark<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In these tests, <strong>a higher result is better<\/strong>, as the result represents more average data being downloaded in the five minute time period.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/23_multi-threaded-005-download-throughput.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"23_multi-threaded 005 download throughput\" data-rl_caption=\"23_multi-threaded 005 download throughput\" title=\"23_multi-threaded 005 download throughput\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"472\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/23_multi-threaded-005-download-throughput-1024x472.png\" alt=\"A chart showing sustained throughput averages for multi-threaded downloads to Backblaze, Wasabi, AWS, and Cloudflare.  \" class=\"wp-image-112536\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/23_multi-threaded-005-download-throughput-1024x472.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/23_multi-threaded-005-download-throughput-300x138.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/23_multi-threaded-005-download-throughput-768x354.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/23_multi-threaded-005-download-throughput.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/24_multi-threaded-005-download-throughput_Chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"24_multi-threaded 005 download throughput_Chart\" data-rl_caption=\"24_multi-threaded 005 download throughput_Chart\" title=\"24_multi-threaded 005 download throughput_Chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/24_multi-threaded-005-download-throughput_Chart-1024x231.png\" alt=\"A chart showing sustained throughput averages for multi-threaded downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112537\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/24_multi-threaded-005-download-throughput_Chart-1024x231.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/24_multi-threaded-005-download-throughput_Chart-300x68.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/24_multi-threaded-005-download-throughput_Chart-768x173.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/24_multi-threaded-005-download-throughput_Chart.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Backblaze B2 leads for 256KiB, 50MiB, and 100MiB file sizes. AWS S3 has a slight advantage for 5MiB files.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And, let\u2019s give ourselves the same charts as our above upload tests for consistency\u2019s sake. Here\u2019s the trendline:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/25_multi-threaded-005-download-throughput_trendline.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"25_multi-threaded 005 download throughput_trendline\" data-rl_caption=\"25_multi-threaded 005 download throughput_trendline\" title=\"25_multi-threaded 005 download throughput_trendline\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/25_multi-threaded-005-download-throughput_trendline-1024x538.png\" alt=\"A trendline showing sustained throughput averages for multi-threaded downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112538\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/25_multi-threaded-005-download-throughput_trendline-1024x538.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/25_multi-threaded-005-download-throughput_trendline-300x158.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/25_multi-threaded-005-download-throughput_trendline-768x403.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/25_multi-threaded-005-download-throughput_trendline.png 1112w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">While AWS and Backblaze track closely for the 256KiB and 5MiB file sizes, Backblaze wins out at 50MiB and 100MiB. Meanwhile, Cloudflare lags at the smallest file sizes, but shows rapid improvement, peaking at the 50MiB file sizes. Interestingly, this is arguably Wasabi\u2019s weakest showing compared to all other sustained throughput testing, though they have strong results at the 256KiB file size and a respectable showing at the 5MiB file size.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And here\u2019s the per-file size clustering:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/26_multi-threaded-005-download-throughput_256KiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"26_multi-threaded 005 download throughput_256KiB\" data-rl_caption=\"26_multi-threaded 005 download throughput_256KiB\" title=\"26_multi-threaded 005 download throughput_256KiB\"><img loading=\"lazy\" decoding=\"async\" width=\"993\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/26_multi-threaded-005-download-throughput_256KiB.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 256KiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112539\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/26_multi-threaded-005-download-throughput_256KiB.png 993w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/26_multi-threaded-005-download-throughput_256KiB-300x176.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/26_multi-threaded-005-download-throughput_256KiB-768x452.png 768w\" sizes=\"auto, (max-width: 993px) 100vw, 993px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/27_multi-threaded-005-download-throughput_5KiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"27_multi-threaded 005 download throughput_5KiB\" data-rl_caption=\"27_multi-threaded 005 download throughput_5KiB\" title=\"27_multi-threaded 005 download throughput_5KiB\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/27_multi-threaded-005-download-throughput_5KiB.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 5MiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112540\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/27_multi-threaded-005-download-throughput_5KiB.png 819w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/27_multi-threaded-005-download-throughput_5KiB-300x214.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/27_multi-threaded-005-download-throughput_5KiB-768x548.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/28_multi-threaded-005-download-throughput_50MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"28_multi-threaded 005 download throughput_50MiB\" data-rl_caption=\"28_multi-threaded 005 download throughput_50MiB\" title=\"28_multi-threaded 005 download throughput_50MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"992\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/28_multi-threaded-005-download-throughput_50MiB.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 50MiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112541\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/28_multi-threaded-005-download-throughput_50MiB.png 992w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/28_multi-threaded-005-download-throughput_50MiB-300x177.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/28_multi-threaded-005-download-throughput_50MiB-768x452.png 768w\" sizes=\"auto, (max-width: 992px) 100vw, 992px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/29_multi-threaded-005-download-throughput_100MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"29_multi-threaded 005 download throughput_100MiB\" data-rl_caption=\"29_multi-threaded 005 download throughput_100MiB\" title=\"29_multi-threaded 005 download throughput_100MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"993\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/29_multi-threaded-005-download-throughput_100MiB.png\" alt=\"A clustering view showing sustained throughput averages for multi-threaded 100MiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112542\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/29_multi-threaded-005-download-throughput_100MiB.png 993w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/29_multi-threaded-005-download-throughput_100MiB-300x176.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/29_multi-threaded-005-download-throughput_100MiB-768x452.png 768w\" sizes=\"auto, (max-width: 993px) 100vw, 993px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Five-minute-single-threaded-download-throughput\">Five minute single-threaded download throughput<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Again, in these tests, <strong>a higher result is better<\/strong>, as the result represents more average data being downloaded in the five minute time period.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/30_single-threaded-005-download-throughput-8.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"30_single-threaded 005 download throughput-8\" data-rl_caption=\"30_single-threaded 005 download throughput-8\" title=\"30_single-threaded 005 download throughput-8\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/30_single-threaded-005-download-throughput-8-1024x520.png\" alt=\"A chart showing sustained throughput averages for single-threaded downloads to Backblaze, Wasabi, AWS, and Cloudflare.  \" class=\"wp-image-112543\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/30_single-threaded-005-download-throughput-8-1024x520.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/30_single-threaded-005-download-throughput-8-300x152.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/30_single-threaded-005-download-throughput-8-768x390.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/30_single-threaded-005-download-throughput-8.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/31_single-threaded-005-download-throughput_Chart.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"31_single-threaded 005 download throughput_Chart\" data-rl_caption=\"31_single-threaded 005 download throughput_Chart\" title=\"31_single-threaded 005 download throughput_Chart\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"239\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/31_single-threaded-005-download-throughput_Chart-1024x239.png\" alt=\"A chart showing sustained throughput averages for single-threaded downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112544\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/31_single-threaded-005-download-throughput_Chart-1024x239.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/31_single-threaded-005-download-throughput_Chart-300x70.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/31_single-threaded-005-download-throughput_Chart-768x179.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/31_single-threaded-005-download-throughput_Chart.png 1297w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Here, Wasabi wins for 256KiB files, and Backblaze wins for 5MiB, 50MiB and 100MiB files. Note that this is a solid trend for Wasabi in the 256KiB file sizes\u2014they came in second in the multi-threading download testing, as well as both single and multi-threaded upload testing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/32_single-threaded-005-download-throughput_trendline.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"32_single-threaded 005 download throughput_trendline\" data-rl_caption=\"32_single-threaded 005 download throughput_trendline\" title=\"32_single-threaded 005 download throughput_trendline\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/32_single-threaded-005-download-throughput_trendline-1024x520.png\" alt=\"A trendline showing sustained throughput averages for single-threaded downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112545\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/32_single-threaded-005-download-throughput_trendline-1024x520.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/32_single-threaded-005-download-throughput_trendline-300x152.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/32_single-threaded-005-download-throughput_trendline-768x390.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/32_single-threaded-005-download-throughput_trendline.png 1151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">And here\u2019s our clustering:\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/33_single-threaded-005-download-throughput_256KiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"33_single-threaded 005 download throughput_256KiB\" data-rl_caption=\"33_single-threaded 005 download throughput_256KiB\" title=\"33_single-threaded 005 download throughput_256KiB\"><img loading=\"lazy\" decoding=\"async\" width=\"998\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/33_single-threaded-005-download-throughput_256KiB.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 256KiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112546\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/33_single-threaded-005-download-throughput_256KiB.png 998w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/33_single-threaded-005-download-throughput_256KiB-300x176.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/33_single-threaded-005-download-throughput_256KiB-768x449.png 768w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/34_single-threaded-005-download-throughput_5MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"34_single-threaded 005 download throughput_5MiB\" data-rl_caption=\"34_single-threaded 005 download throughput_5MiB\" title=\"34_single-threaded 005 download throughput_5MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/34_single-threaded-005-download-throughput_5MiB-1024x551.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 5MiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112547\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/34_single-threaded-005-download-throughput_5MiB-1024x551.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/34_single-threaded-005-download-throughput_5MiB-300x161.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/34_single-threaded-005-download-throughput_5MiB-768x413.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/34_single-threaded-005-download-throughput_5MiB.png 1085w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/35_single-threaded-005-download-throughput_50MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"35_single-threaded 005 download throughput_50MiB\" data-rl_caption=\"35_single-threaded 005 download throughput_50MiB\" title=\"35_single-threaded 005 download throughput_50MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"931\" height=\"584\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/35_single-threaded-005-download-throughput_50MiB.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 50MiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112548\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/35_single-threaded-005-download-throughput_50MiB.png 931w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/35_single-threaded-005-download-throughput_50MiB-300x188.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/35_single-threaded-005-download-throughput_50MiB-768x482.png 768w\" sizes=\"auto, (max-width: 931px) 100vw, 931px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/36_single-threaded-005-download-throughput_100MiB.png\" data-rel=\"lightbox-gallery-GfdBdjVb\" data-rl_title=\"36_single-threaded 005 download throughput_100MiB\" data-rl_caption=\"36_single-threaded 005 download throughput_100MiB\" title=\"36_single-threaded 005 download throughput_100MiB\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/36_single-threaded-005-download-throughput_100MiB-1024x577.png\" alt=\"A clustering view showing sustained throughput averages for single-threaded 100MiB downloads to Backblaze, Wasabi, AWS, and Cloudflare.\" class=\"wp-image-112549\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/36_single-threaded-005-download-throughput_100MiB-1024x577.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/36_single-threaded-005-download-throughput_100MiB-300x169.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/36_single-threaded-005-download-throughput_100MiB-768x433.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/36_single-threaded-005-download-throughput_100MiB.png 1036w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Test methodology<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Our goal with these benchmarks is simple: to understand how our cloud performs under real-world conditions and to share that information as clearly as possible. To do that, our Cloud Operations team runs repeatable, synthetic tests that measure upload (PUT) and download (GET) performance.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We ran both upload and download tests across all four vendors. Upload tests measured the following file sizes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>256KiB<\/li>\n\n\n\n<li>5MiB<\/li>\n\n\n\n<li>50MiB<\/li>\n\n\n\n<li>100MiB<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Download tests measured:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Time-to-first-byte (TTFB)<\/li>\n\n\n\n<li>Total time to download the following file sizes:\n<ul class=\"wp-block-list\">\n<li>256KiB<\/li>\n\n\n\n<li>5MiB<\/li>\n\n\n\n<li>50MiB<\/li>\n\n\n\n<li>100MiB<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group has-background\" style=\"background-color:#f5f4ff\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Why do performance tests use mebibytes (MiB) instead of megabytes (MB)?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019ve written articles in the past about how all computers are fundamentally <a href=\"https:\/\/www.backblaze.com\/blog\/ai-101-gpu-vs-tpu-vs-npu\/\">a collection of logic circuits (transistors) in either an on or an off state<\/a>, which means that they communicate in binary, or a base two language. Humans, however, tend to prefer base 10 languages. There are lots of reasons for this, but that\u2019s a story for another time.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MiB is a base two unit of measurement, whereas MB is a base 10. Here\u2019s a comparison:<\/p>\n\n\n\n<table id=\"tablepress-85\" class=\"tablepress tablepress-id-85\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\"><strong>Unit<\/strong><\/th><th class=\"column-2\"><strong>Definition<\/strong><\/th><th class=\"column-3\"><strong>Bytes<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">1MB (megabyte)<\/td><td class=\"column-2\">Base-10 (decimal)<\/td><td class=\"column-3\">1,000,000 bytes<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">1MiB (mebibyte)<\/td><td class=\"column-2\">Base-2<\/td><td class=\"column-3\">1,048,576 bytes (1024x1024)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-85 from cache -->\n\n\n\n<p class=\"wp-block-paragraph\">The difference between those two measurements may seem small, but it has a significant impact when you\u2019re talking about performance sensitive systems. Oftentimes you\u2019ll see marketing language shift to talking about MB because it\u2019s more understandable to a wider audience, but to get accurate results, MiB is what you need.<\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tests run in five-minute profiles to observe consistency over time, and we ran both single and multi-threaded download and upload tests. From a practical perspective, what\u2019s happening is that we\u2019re pushing repeated requests to a cloud storage provider as many times as we can for five minutes.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All tests originate from a Vultr-hosted Ubuntu virtual machine (VM) located in the New York\/New Jersey area, routing through Catchpoint\u2019s network into object storage regions located generally in US-East. By keeping the source environment stable and the test target consistent, we isolate performance variables within each provider\u2019s infrastructure rather than the test environment itself.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Consistency measures<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To ensure each test result represents genuine performance rather than environmental noise, we built repeatability into the process:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Identical test instances:<\/strong> All runs used the same VM type, operating system (OS) image, and configuration.<\/li>\n\n\n\n<li><strong>Fixed regions:<\/strong> Tests originated from the same location (NY\/NJ) targeting the same US-East region across providers.<\/li>\n\n\n\n<li><strong>Controlled routing:<\/strong> Network paths were held constant through Catchpoint\u2019s monitoring network to minimize geographic or peering variation.<\/li>\n\n\n\n<li><strong>Repeated runs: <\/strong>Each test profile (5 min) was executed multiple times, and averages were used to reduce the impact of transient spikes.<\/li>\n\n\n\n<li><strong>Standardized payloads: <\/strong>All uploads and downloads used identical objects to ensure a consistent file-size baseline.<\/li>\n\n\n\n<li><strong>Unchanged test intervals: <\/strong>Tests were scheduled at regular intervals over multiple days to capture both typical and outlier performance.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">About synthetic testing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Synthetic monitoring provides a controlled, apples-to-apples comparison, but it doesn\u2019t replicate every production workload. These tests are run outside our own infrastructure\u2014from neutral vantage points\u2014to simulate a customer\u2019s experience at the \u201clast mile.\u201d This distinguishes our approach from competitors who benchmark internally under optimized conditions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s important to note that synthetic results won\u2019t mirror every customer\u2019s experience. Different architectures, connection paths, and file patterns will produce different performance profiles. Our intent is to offer transparency into the methodology and relative behaviors, not to suggest that all workloads will perform identically.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Limitations and future work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every benchmark is an approximation. These results provide a controlled look at how cloud storage performs under repeatable conditions, but they don\u2019t capture every variable in production environments. Below, we outline what our current tests don\u2019t measure and where we\u2019re headed next to deepen the picture.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Synthetic, not real-world workloads: <\/strong>These benchmarks simulate real activity but don\u2019t reproduce the full variability of customer workloads, concurrency levels, or data locality patterns. They are best understood as directional insights rather than absolute truths.<\/li>\n\n\n\n<li><strong>The internet is the internet:<\/strong> Once traffic leaves the test node, we can\u2019t control the routing, peering, or transient network conditions between endpoints. Each provider\u2019s own network policies and routing optimizations\u2014for example, Wasabi\u2019s inbound connection rules\u2014can influence the results.<\/li>\n\n\n\n<li><strong>Static test conditions:<\/strong> All tests were conducted from a single region (NY\/NJ to US-East cloud providers). Real-world customers operate globally, where peering arrangements, congestion, and latency differ widely.<\/li>\n\n\n\n<li><strong>Potential caching effects: <\/strong>Although we designed the tests to avoid cached reads, Catchpoint does not allow full data randomization. It\u2019s possible some repeated reads benefited from intermediate caching at any network layer.&nbsp;<\/li>\n\n\n\n<li><strong>Traffic shaping and rate limiting:<\/strong> Providers may apply rate limits or throttling when detecting high-frequency test traffic. For example, Wasabi temporarily blacklisted our IPs due to testing volume\u2014a reminder that these results represent observed behavior, not formal service guarantees.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each of these limitations points toward future testing opportunities. Here\u2019s what\u2019s next on our testing roadmap:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Regional expansion: <\/strong>Extend current US-East tests to US-West and EU regions using equivalent test setups.<\/li>\n\n\n\n<li><strong>Vendor expansion: <\/strong>Extend testing to more vendors, including Google Cloud Platform and Azure.<\/li>\n\n\n\n<li><strong>File size sensitivity testing:<\/strong> Investigate performance across a wider range of file sizes, including 100MiB+ objects. This will help clarify where different architectures favor small-object throughput versus sustained large transfers.<\/li>\n\n\n\n<li><strong>Traffic rate &amp; throttling analysis:<\/strong> Incorporate monitoring for request-per-minute and total-bytes-transferred metrics to detect possible provider-level rate limiting. We\u2019d love to invite vendors to validate thresholds and eliminate false negatives.<\/li>\n\n\n\n<li><strong>Concurrency patterns:<\/strong> Test multiple thread and connection strategies to model real-world transfer concurrency, especially for use cases involving parallel uploads or downloads.<\/li>\n\n\n\n<li><strong>Benchmark visualization: <\/strong>Transition from CSV data collection to Grafana dashboards, enabling continuous visualization of test results and performance drift over time.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Performance is an evolving target, and so is our testing methodology. Each round of analysis helps us not only understand how Backblaze performs in context, but also refine how we measure, compare, and communicate that performance. Our goal remains the same: make the data real, repeatable, and useful.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What this means for real-world use cases<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Based on the results we&#8217;ve shared here, there&#8217;s plenty of room for argument around the value of different performance profiles. But, continuing our theme of transparency: Since we\u2019re transparent about our performance, warts and all, we&#8217;re going to be transparently candid in the areas where think the Backblaze platform is showing some nice results:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AI\/ML inference: <\/strong>Our strong read latency and throughput make Backblaze ideal for inference workloads that need to pull model artifacts, inputs, and outputs quickly. For example, when a service like Hugging Face or Runway ML feeds an image into a convolutional neural network, lower read latency directly translates to faster inference delivery.<\/li>\n\n\n\n<li><strong>Feature stores &amp; embedding lookups (AI\/ML): <\/strong>Optimized small-object reads and efficient small writes support rapid lookups and occasional updates common in vector databases and feature stores like Feast, Qdrant, Pinecone, or Weaviate.<\/li>\n\n\n\n<li><strong>LLM-based retrieval-augmented generation (RAG) systems:<\/strong> RAG systems store many small document chunks that are written once and read repeatedly, so our read-optimized performance accelerates retrieval of document chunks or embeddings, improving response times for large language model applications. Vectorized databases are also a hot topic right now for good reason\u2014they\u2019re changing patterns around file sizes and retrieval patterns in RAG applications and LLM training.&nbsp;<\/li>\n\n\n\n<li><strong>Log &amp; event analytics (SIEM, IoT, etc.):<\/strong> Competitive small-write performance and fast reads make Backblaze well suited for log aggregation and analytical querying with tools like Loki, Fluentd, Vector.dev, and OpenObserve once data is ingested.<\/li>\n\n\n\n<li><strong>Interactive data lake querying:<\/strong> Consistent throughput and fast download speeds deliver responsive querying and exploration for business intelligence (BI) and ad hoc analytics workloads.<\/li>\n\n\n\n<li><strong>CDN origin:<\/strong> Excellent read throughput, stable performance, and free egress make Backblaze a high-value choice for powering content delivery at scale.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">As discussed, one of the reasons it&#8217;s so hard to get directly comparable performance benchmarks is because there are so many configurable elements on the user&#8217;s side that can affect the results. For example, if you know that your provider is faster on smaller files, you might choose to store your unstructured data in smaller parts so that you achieve faster performance.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That means that when we share results like this, it enables you to interpret which provider is a better fit for your different types of workflows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a cloud storage provider, tracking these metrics over time and comparing to other aspects of our internal architecture enables us to support ongoing and <a href=\"https:\/\/www.backblaze.com\/blog\/analyzing-performance-at-exabyte-scale\/\">continual performance improvement,<\/a> and to understand how much of an impact single changes might make. This means that what seems like a simple project to <a href=\"https:\/\/www.backblaze.com\/blog\/one-simple-change-that-made-our-exabyte-scale-storage-faster\/\">change the way we read header requests<\/a> can produce asymmetrically favorable results.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And, there\u2019s a layer of this that\u2019s always going to come down to design decisions. For example, <a href=\"https:\/\/www.youtube.com\/watch?v=_7uxDRd5MIQ\">we\u2019ve talked about some of the logic<\/a> behind where our architecture knows which server to store data on. Basically, our system chooses to store a new file based on the available space of each server. So, if we have a server that has 40% space available, it would receive 40% of the incoming storage writes. (That\u2019s a bit of an oversimplification, but you get the idea.)&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Other cloud storage providers might prioritize, say, randomness in their write architecture. When a request would enter their system, the routing protocol would say, \u201cHey, we haven\u2019t written to this server over here in a while,\u201d and write it in that sector. It\u2019s a different choice that can have a subtle ripple effect across different aspects of storage architecture.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s next?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Our performance story is one of steady, measurable progress. We\u2019re not optimizing for a single headline number; we\u2019re building toward consistent reliability across diverse workloads. That\u2019s why we test openly, publish what we find, and continuously refine how we measure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Looking ahead, our next Performance Stats report will continue to share these findings quarterly, which will give us all a more mature dataset to work with, and will expand testing. This isn\u2019t just a transparency exercise for us, it\u2019s a commitment to the developers and teams building on Backblaze: you deserve data you can trust\u2014and we intend to keep earning it.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019d love it if others\u2014third parties and our competitors\u2014also got involved, but we\u2019ll see how things evolve. For now, feel free to let us know if these tests work for you.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:12px\"><strong>Disclaimer:<\/strong><strong><br \/><\/strong>The performance data and comparisons presented here are based on tests conducted by Backblaze under the specific environments, configurations, and conditions described in this post. Actual results may vary depending on network conditions, workloads, geographic location, and other factors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:12px\">Backblaze has published its testing methodology so others can replicate or challenge the results; however, Backblaze makes no representation or warranty that its tests capture all possible variables or configurations. The information is provided for general informational purposes only and does not constitute a guarantee of future performance. In addition, the information in this post is based on data available at the time of publication, and Backblaze reserves the right to update or revise this information as new data, testing methodologies, or performance results become available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:12px\">All product names, trademarks, and registered trademarks are property of their respective owners. References to third-party products or services are for identification purposes only and do not imply endorsement or affiliation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our first Performance Stats report is here. We&#8217;re sharing wins and weaknesses, plus our full methodology so you can judge upload and download speeds and real-world throughput for yourself. <\/p>\n","protected":false},"author":225,"featured_media":112506,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","jetpack_post_was_ever_published":false},"categories":[7,434,438],"tags":[468,494],"class_list":["post-112505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-storage","category-featured-1","category-featured-cloud-storage","tag-b2cloud","tag-performancestats","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Backblaze Performance Stats for Q3 2025 | Cloud Benchmarks<\/title>\n<meta name=\"description\" content=\"See how Backblaze B2 compares to AWS S3, Cloudflare R2, and Wasabi. Transparent Warp tests, throughput stats, and use case insights.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backblaze Performance Stats for Q3 2025 | Cloud Benchmarks\" \/>\n<meta property=\"og:description\" content=\"See how Backblaze B2 compares to AWS S3, Cloudflare R2, and Wasabi. Transparent Warp tests, throughput stats, and use case insights.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/\" \/>\n<meta property=\"og:site_name\" content=\"Backblaze Blog | Cloud Storage &amp; Cloud Backup\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/backblaze\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-12T14:00:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-10T20:33:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"820\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Performance Stats Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@backblaze\" \/>\n<meta name=\"twitter:site\" content=\"@backblaze\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Performance Stats Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Backblaze Performance Stats for Q3 2025 | Cloud Benchmarks","description":"See how Backblaze B2 compares to AWS S3, Cloudflare R2, and Wasabi. Transparent Warp tests, throughput stats, and use case insights.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/","og_locale":"en_US","og_type":"article","og_title":"Backblaze Performance Stats for Q3 2025 | Cloud Benchmarks","og_description":"See how Backblaze B2 compares to AWS S3, Cloudflare R2, and Wasabi. Transparent Warp tests, throughput stats, and use case insights.","og_url":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/","og_site_name":"Backblaze Blog | Cloud Storage &amp; Cloud Backup","article_publisher":"https:\/\/www.facebook.com\/backblaze","article_published_time":"2025-11-12T14:00:31+00:00","article_modified_time":"2026-02-10T20:33:38+00:00","og_image":[{"width":1440,"height":820,"url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png","type":"image\/png"}],"author":"Performance Stats Team","twitter_card":"summary_large_image","twitter_creator":"@backblaze","twitter_site":"@backblaze","twitter_misc":{"Written by":"Performance Stats Team","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#article","isPartOf":{"@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/"},"author":{"name":"Performance Stats Team","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/afe0230c82ccd19f0f0142a719e5f68f"},"headline":"Backblaze Performance Stats for Q3 2025","datePublished":"2025-11-12T14:00:31+00:00","dateModified":"2026-02-10T20:33:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/"},"wordCount":4093,"commentCount":0,"publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png","keywords":["B2Cloud","PerformanceStats"],"articleSection":["Cloud Storage","Featured","Featured-Cloud Storage"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/","url":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/","name":"Backblaze Performance Stats for Q3 2025 | Cloud Benchmarks","isPartOf":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#primaryimage"},"image":{"@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png","datePublished":"2025-11-12T14:00:31+00:00","dateModified":"2026-02-10T20:33:38+00:00","description":"See how Backblaze B2 compares to AWS S3, Cloudflare R2, and Wasabi. Transparent Warp tests, throughput stats, and use case insights.","breadcrumb":{"@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#primaryimage","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png","width":1440,"height":820,"caption":"A textured background with the word Q3 2025 Performance Stats on it."},{"@type":"BreadcrumbList","@id":"https:\/\/www.backblaze.com\/blog\/backblaze-performance-stats-for-q3-2025\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Backblaze Performance Stats for Q3 2025"}]},{"@type":"WebSite","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","name":"Backblaze Cloud Solutions Blog","description":"Cloud Storage &amp; Cloud Backup","publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization","name":"Backblaze","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Backblaze"},"image":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/backblaze","https:\/\/x.com\/backblaze","https:\/\/www.youtube.com\/user\/Backblaze","https:\/\/en.wikipedia.org\/wiki\/Backblaze"]},{"@type":"Person","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/afe0230c82ccd19f0f0142a719e5f68f","name":"Performance Stats Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2024\/03\/BB-flame-icon-300x300-1-150x150.jpg","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2024\/03\/BB-flame-icon-300x300-1-150x150.jpg","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2024\/03\/BB-flame-icon-300x300-1-150x150.jpg","caption":"Performance Stats Team"},"description":"Meet the Backblaze Performance Stats team. Stephanie Doyle is the Technical Content Manager and Keeper of Stats at Backblaze. She specializes in taking complex topics and writing relatable, engaging, and user-friendly content. You can most often find her reading in public places, and can connect with her on LinkedIn. Gabby Faust is a Site Reliability Engineer at Backblaze.","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/author\/performancestatsteam\/"}]}},"jetpack_featured_media_url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2025\/11\/Performance-Stats-Blog-Header-1440x820-new.png","_links":{"self":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/112505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/users\/225"}],"replies":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/comments?post=112505"}],"version-history":[{"count":0,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/112505\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media\/112506"}],"wp:attachment":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media?parent=112505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/categories?post=112505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/tags?post=112505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}