我遇到了一个问题,即在不同服务器上运行相同的应用程序会产生意外的吞吐量结果。例如,在没有负载的情况下在特定的更快的服务器(更快的CPU,更多的内存)上运行应用程序,产生的吞吐量比在同一网络上功能较弱的服务器上运行要慢。
我怀疑OS或TCP导致速度更快的服务器速度慢。 是否有一个工具可以查看操作系统和TCP配置,并提出缓慢的原因?
所有服务器都运行Red Hat linux。
UPDATE 它是基于套接字的客户端服务器应用程序它适用于单一连接,例如连接到服务器的单个客户端,尝试尽可能快地发送消息。无分叉或多线程。
进一步考虑,是否存在可能影响延迟或吞吐量的关键tcp选项?
答案 0 :(得分:0)
调试此类问题的关键是从测试用例中删除物理网络;换句话说,通过localhost而不是通过网络比较tcp应用程序传输。
在大多数情况下,NIC配置,绑定配置,端到端TCP RTT,数据包重新排序,丢包率或其他外部因素都应归咎于这些差异。确定它是否是网络"或服务器,从localhost到localhost进行测试。