我已经构建了一个基于套接字的分布式客户端-服务器-数据库 Java 应用程序。客户端将序列化的对象发送到服务器(目前有两个服务器),服务器反序列化对象并将对象的一些内容存储在 postgreSQL 数据库中。
现在我正在对我的系统进行基准测试,我测量了序列化对象的大小以及吞吐量,我发现了一个非常奇怪的发现,我无法解释。
直到对象大小达到大约 1400 字节或稍小一点,吞吐量会降低,但是从大约 1400 字节的对象大小到 2000 字节(或更高一点),吞吐量保持不变,从大约 2000 字节的对象大小到 2600 字节(我只测量到 2600 字节)吞吐量增加了。
我无法解释这种行为。我的想法是吞吐量总是会随着对象大小的增加而减少,如果达到 1500 字节的 MTU,则减少的幅度会更大。但这似乎不是真的,尤其是恒定的吞吐量和我根本无法解释的增长。