CAUTION: This worked for me...Use it at your own risk.
I was given a task to upload billions of small (10k) files to Azure, yes that is billions with a B. Like everyone else I started by reading the MSDN docs and having it show me the toBlob.UploadFile and toBlob.UploadFromStream. Both proved to be a bit slow in my case. I can only assume the issue is the overhead of opening and closing the connections.
My first iteration was to just wrap everything with a Parallel.ForEach, and while this drastically improved things it still was not good enough.
My second iteration...