什么会影响 tcp 或 Os 级别的吞吐率?

什么会影响 tcp 或 Os 级别的吞吐率?

我遇到一个问题,在不同的服务器上运行相同的应用程序会产生意想不到的性能结果。例如,在没有负载的情况下,在特定的较快服务器(更快的 CPU、更多的内存)上运行应用程序,其性能会比在同一网络上性能较弱的服务器上运行更慢。

我怀疑是操作系统或 TCP 导致较快的服务器速度变慢。除非我修改它,否则我无法使用 IPerf,因为我的应用程序中“性能”定义为组件 A 向组件 B 发送消息。组件 B 向组件 A 发送 ACK,然后组件 A 才会发送下一条消息。因此,这与 IPerf 所做的不同,据我所知,IPerf 只是尝试推送尽可能多的消息。

是否有一个工具可以查看操作系统和 TCP 配置并指出速度缓慢的原因?

答案1

对于这种“乒乓”类型的协议,我认为我应该先查看两个端点之间的延迟。如果您只能发送一条消息,延迟的微小变化可能会对总吞吐量产生相当大的影响。

我不知道该使用哪种特定工具来衡量您的特定行为。数据包捕获可能一如既往地具有启发性。

相关内容