1

我有一个 Web 服务器(Java + Jooby + undertow),它需要定期从 aws s3 加载一个大数据模型(大约 200MB)。而且我还尽我所能避免 gc 问题:每次将大二进制数据加载到预分配的字节缓冲区时,我还使用零拷贝数据模式平面缓冲区来序列化模型。

但我发现每次加载大模型时,都会出现请求延迟峰值。我什至尝试禁用模型反序列化,但延迟峰值仍然存在。

我的问题是:如何在 Web 服务器中加载大型模型而不影响性能(延迟)?

4

1 回答 1

0

我发现下载大的 s3 文件(到本地磁盘或内存)会导致服务延迟峰值。限制下载线程数可以缓解这个问题。最后,我将下载逻辑移至另一个进程,这似乎解决了这个问题。但是当 CPU 消耗很高时,我们仍然可以看到小尖峰。

于 2019-11-16T14:22:00.320 回答