- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有任何公式可用于确定 multipart_threshold 和 mutilpart_chunksize 的最佳设置?假设如果我尝试使用分段上传在 S3 中上传 2 TB 文件,那么阈值和块大小的最佳值是多少。任何使用多部分上传/下载的脚本将不胜感激。
最佳答案
没有单一的最佳设置。最佳值取决于许多因素,包括运行 aws-cli 的系统与相关 S3 区域之间的延迟和可用带宽、机器上的 CPU 和网络容量以及对象的大小.
对于某些场景,无论配置如何,整体性能都可能没有显着差异。
也许比您询问的任何一个参数更重要的是 max_concurrent_requests
.这默认为 10。
我有一个 100 Mbit/s 的 Internet 连接,距离我经常使用的最远的 S3 区域有 80 毫秒。有趣的是,我可以告诉你,我可以以每部分大约 5 Mbit/s 的速度上传到这个区域,所以默认情况下,默认设置下我的最佳性能约为 50 Mbit/s (5 Mbit/s × max_concurrent_requests
--您的里程可能会有很大差异,5 Mbit/s 仅用于说明目的)。
如果我增加 max_concurrent_requests
我将近似线性地提高我的网络传输速度,直到我最大化资源(最有可能是我的 100 Mbit/s 连接)。然而,增加max_concurrent_requests
超过 total_upload_size ÷ multipart_chunksize
不会带来进一步的 yield 。如果我增加 max_concurrent_requests
到一个大得离谱的值,我会使我的连接饱和,超出可靠性,丢包会导致错误、重试、重传和其他低效率——因此,我可以增加多少并让它有益的返回递减。
独立增加 multipart_chunksize
将倾向于提高我的性能并降低它会降低这一点,但只会在很小的程度上降低,因为与实际传输数据相比,我会按比例减少或更多的时间花在内部管理上——
所以更大 multipart_chunksize
如果我的连接快速干净会更好。如果我的连接速度慢且容易出错,情况会更糟。分段上传可以从失败的分段上传中恢复,但硬故障后的最小重传单位为multipart_chunksize
-- 因此,较大的值会增加我必须重新传输的数量,以便从硬错误中恢复。 (这是指完全失败的部分请求,而不是 TCP 重传,后者当然要小得多。)
total_object_size、max_concurrent_requests
之间有明显的交互作用, 和 multipart_chunksize
.
最不“有趣”的参数是 multipart_threshold
,这是多部分机制甚至参与的对象大小:小于 multipart_threshold
的对象不会使用多部分。在快速、干净的连接上,增加这个值可能是可取的,但超过某个阈值,更大的值将意味着更慢的传输,因为这意味着我们不使用 multipart 允许的并行性。
对于 2 TB 文件,任何值 multipart_chunksize
低于 200 MB 将没有意义,因为 multipart 要求单个文件上传不超过 10,000 个不同的部分,而 200 MB × 10,000 是 2 TB。较小的值实际上可能无效并导致错误,除非 aws-cli 静默覆盖您的规范并使用较大的值,因为 10,000 部分的最大值是由 S3 服务本身强加的。未经测试。
对于 2 TB 文件,multipart_threshold
没有影响,因为 multipart 对于总大小超过 5 GB 的对象是强制性的。
对于 2 TB 文件,max_concurrent_requests
应该设置为您的连接可以维持的最高值,以获得最佳吞吐量。您将需要一种机制来监控您的带宽使用情况,以便将其调整为最佳值。
关于amazon-web-services - 执行 S3 分段上传时 multipart_threshold 和 mutilpart_chunksize 的最佳设置是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46556972/
我正在使用 choronos,它建议使用 start/stop 命令开始停止,如下所示 开始计时 停止计时 但是,我正在编写 puppet manifest,它只适用于下面的服务命令。 服务计时开始
来历及作用 services.exe进程程序文件是由微软公司为其发布的Windows操作系统定义的一个系统进程,常见于Windows 2000/XP/Vista/2007等系统中,被描述为服务和控
我一直在尝试使用installutil:installutil /u GSIS.FileMoverService.exe安装Windows服务。 我得到的输出是: Uninstalling assem
如果一个域有多个团队和多个 Web 应用程序,那么注册 Service Worker 来管理整个站点的最佳建议是什么?具有范围的顶级服务 worker /或子域中的多个服务 worker ?由于一个域
我已经在 eclipse 中创建了企业项目。动态web项目和ejb项目对企业项目有借鉴意义。当我运行管理员(企业项目)运行时选择 wildfly 服务器 18。我收到以下错误。谁能告诉我我错过了什么。
我已经使用 apache-cxf-2.7.4 创建了一个 Web 服务。我进入了我的项目中制作的类(class)。我的项目中的库是: math3-commons-3.2.jar XStream-1.4
我在域中的 Virtual Box 中运行集群计算机,默认情况下服务在 Network 服务下运行,服务一直停止,事件日志中出现以下错误。 请从下面的错误日志中查找错误详细信息。任何帮助都会很棒。 L
在我的应用程序中,用户可以在 map 上发布事件。应用程序的入口点是一个无状态的 web api 服务。为了在内部代表用户,我想要一个用户服务。我应该何时使用 Reliable Stateful Ac
当我尝试运行在WIX中创建的安装程序时,出现以下错误消息: “服务'Report Generator Service'(报告生成器服务)无法启动。请验证您是否具有启动系统服务的足够特权”。 我已经在这
尝试使用 cloudformation 创建 ECS 服务(在 Fargate 上)但出现错误: Invalid service in ARN (Service: AmazonECS; Status
我正在编写一个简单的Windows服务,该服务每个月向所有员工发送一封电子邮件。我的问题是,完成后如何停止自我?我是该领域的新手,请帮帮我。非常感谢。 它将部署在服务器上以每月运行。我没有开始做这件事
有谁知道是否有办法在 service worker 中获取此号码或日期: 将我的服务 worker 缓存命名为 cache-1182 会很方便或 cache-20171127171448 我想在安装事
我想开始使用 Azure Service Fabric 技术。 我按照this document工作并安装最新的SDK。安装后,我打开 PowerShell(“以管理员身份运行”)命令行窗口并写入这些
我在使用 whenever gem 时遇到了一些问题。我创建了一个 rake 任务,当我自己启动它时它工作得很好但是当我在日志中收到以下消息时尝试自动执行它: ActiveRecord::Statem
我想在 service fabric 集群中为两个不同的 web 应用程序(webpi/website)共享 http/80 端口,应用程序必须有 2 个不同的主机名: mywebapi.com 和
我创建了一个使用 MongoDB 实现 hibernate OGM 的应用程序。它在 Eclipse 中运行得很好,但是,当我构建一个 fat jar 并尝试运行它时,出现以下错误: Exceptio
我有一个 Selenium Python 测试套件。它开始运行,但几分钟后抛出以下错误: Exception AttributeError: "'Service' object has no attr
我按照此链接的说明进行操作:https://www.thegeekdiary.com/centos-rhel-7-how-to-make-custom-script-to-run-automatica
我在 ubuntu 下的 jboss 上部署了简单的“HelloWorld”Web 服务。 我创建了简单的客户端,但我无法让它工作。每次运行客户端时,我都会收到 NullPointerExceptio
我正在尝试为我的网站使用后台定期同步。我正在使用 localhost 并在 1*1000 毫秒时注册 periodicsync 事件,但这根本不会触发。 我看过这个demo ,但即使我将该网站安装为应
我是一名优秀的程序员,十分优秀!