microsoft / gr-azure

GNU General Public License v3.0
24 stars 5 forks source link

Feature Request: Blob Source/Sink Rate Speed Test #10

Closed 777arc closed 2 years ago

777arc commented 2 years ago

As I've been using the blob blocks, mainly the source block, I have to sort of manually figure out what max rates I can achieve, to be able to stream samples at 100% rate without delays mixed in. When I'm on a VM in Azure I think the rate is limited by the bandwidth between the VM and blob storage, which is much higher if the blob storage account is in a different region than the VM, which for some applications could break the flowgraph just from moving from West to East for example. Standard vs premium storage account may also impact it. So one idea is a block with no inputs or outputs that you can plop into a flowgraph and hit run, that runs a simple test to see how fast it's able to read and write from blob storage, like UHD's benchmark_rate tool. It could also just be a cmd line utility that comes with the OOT, not a block, but if it's a block then people who don't read any docs will still see it =). I don't know if there's a utility built into Azure already to do this that we can just call and spit out the results to the console, but even if it has to be done manually on the Source side it shouldn't be too hard, you just point to an example IQ file in blob storage and read it into a flowgraph with no throttle, into a null sink or something, then probe rate. We could even set up storage accounts on all the major regions and then in the block params, have a drop-down param to choose the region to use for the speed test, that way they don't need a storage account already set up to run the test, and there are no block params to fiddle with to get it to run. Just an idea that seems like it might be useful to folks who want to use blob storage for real applications.

AB#10544

777arc commented 2 years ago

This utility https://www.azurespeed.com/Azure/Download should be able to serve most needs when it comes to testing speed, you could even spin up a VM on Azure and run it within that VM to test the internal datacenter connection speed. I'll point to this utility somewhere in our docs so folks know. Unfortunately it doesn't really tell you how different storage account settings change the speed (e.g. moving to premium)