我已经测试了使用多线程应用程序将对象上传到swift中,该应用程序创建了创建对象的单独请求。有20个线程,我每个线程平均每秒约6个对象。数学表明,这需要很长时间才能完成。我转向bulk operations,现在运行一个多线程应用程序,上传tar.gz文件,其中包含各自容器中的文件。它可以工作,但它比我用单个对象请求运行的速度慢。我正在运行10个线程,每个线程上传一个包含4000个对象的tar.gz。这10个线程的运行速度接近每个线程每秒约2个对象。似乎有些事我一定做错了。
似乎swift在5到10秒内收到文件,但花费300到1600秒解压缩并将对象放在容器中。我对此并不乐观,它基于观看正在上传到swift的机器上的网络流量。
考虑可能影响绩效的因素:
此类操作的最佳做法是什么?