Looks like it's performing fine, but you've configured ES to split each file into chunks of 32 bytes?
writeBlob(indices/aGkkRKEdQ4qxP_n3An93tg/0/__dqJn2U4XQpSdpaLa4n8zAw.part1650, stream, 32) - done
Typical chunk sizes are measured in GBs, not bytes. Uploading a 1MB blob normally takes 50ms or so, but if you divide it into 30000 32-byte chunks then a few milliseconds of per-chunk overhead add up to minutes of wasted time.