如何限制上传服务器的速率以提高内存效率

How to rate limit an Uploader Server to be memory efficient

我有一个自定义的多线程 http 服务器(在 c++ 中):

1)接受不同视频流的媒体ts段的POSTS
2) 将其中的一堆存档到一个 zip 文件中(在磁盘上)
3) 并将 zip 文件上传到预先配置的 origin/content 服务器(比如在将 100 个片段存档到 zip 文件后)

问题是每个 zip 文件大约 100 MB,并且客户端 POST 数量很多(每秒 150 个),上传这些 zip 文件会使 vsize/rss 不堪重负并崩溃。(因为上传需要阅读压缩文件到内存)
是否有一种内存感知/内存有效的方法来确保上传线程可以在不占用内存的情况下实现最大吞吐量?
某种动态速率限制可能是为了让太多的客户端不会激增 vsize?

平台是 Linux Ubuntu 14.04

回答我自己的问题:这些策略对我有用: 1.限制并发上传数 2. 分块读取 zip 文件并通过打开的 http 连接上传