我有一个网络服务器(Java + Jooby + undertow),它需要定期从亚马逊网络服务s3加载一个大数据模型(大约200MB)。我还尽我所能避免gc问题:每次将大的二进制数据加载到预先分配的bytebuffer中时,我还使用零拷贝数据模式平面缓冲区来序列化模型。
但我发现,每次加载大型模型时,都会出现请求延迟峰值。我甚至尝试禁用模型反序列化,但延迟峰值仍然存在。
我的问题是:如何在web服务器中加载大型模型而不影响性能(延迟)?
发布于 2019-11-16 22:22:00
我发现下载大的s3文件(无论是下载到本地磁盘还是内存)会导致服务延迟峰值。限制下载线程数可以缓解这个问题。最后,我将下载逻辑转移到另一个过程中,这个过程似乎解决了这个问题。但是当CPU消耗很高时,我们仍然可以看到小峰值。
https://stackoverflow.com/questions/58711920
复制相似问题