各位网络爱好者您好!
我很难对实时股票交易应用程序进行故障排除。以下是我到目前为止所做的步骤:
显然,这是我工作的公司中唯一一个运行缓慢的实时应用程序,每当发生此类问题时,每个人都非常喜欢责怪网络人员(我)。
执行从应用程序到数据库、客户端到应用程序、数据库到应用程序的 Traceroute,traceroute 平均为 4ms 到 9ms。
在Solarwinds中监控 CPU 使用率、内存使用率、数据包丢失和链路使用率
某些网络设备上的最大统计数据为:
CPU 利用率:30%
内存使用率 73%
丢包率 0%
链路利用率:60%
除了基线目的之外,这似乎没有帮助,因为它看起来不错,但他们仍然遇到缓慢
我还使用 Wireshark 进行了嗅探。起初,我一次只嗅探一个设备,但没有提供详细信息,因此我一次嗅探了两个设备:最靠近交易应用程序服务器的交换机和最靠近数据库服务器的交换机。我比较了他们的 I/O 图,发现从 App 到 DB 的数据包传输延迟在两个交换机上是相同的,但 DB 到 App 的延迟在两个交换机上是不同的。最靠近数据库的交换机显示 10 毫秒或更短的延迟,而最靠近交易服务器的交换机显示100 - 254 毫秒的延迟!.
我在使用wireshark时遇到的一个问题是我们所有的交换机(连接到客户端PC的交换机除外)都执行负载平衡,因此很难预测它是哪个数据包。此外,Wireshark 还没有完全支持 SQL 和 FiX 协议,因此很难检查。我目前只是在查看增量时间。但是,我不知道如何检查高增量时间是因为应用程序响应时间还是网络传输延迟。服务器的家伙不知道如何检查 ART -_-'
所以我目前正在调查非常高的延迟。我的问题是,应用程序、数据库和客户端 PC 之间有很多网络设备,包括 2 个两个防火墙在内的大约 30 个设备。我计划至少嗅探 App 和 DB 之间的所有设备,不包括防火墙,这将需要我同时运行 6 台笔记本电脑。
不过,在我执行此操作之前,我有几个问题:
我是否正确地进行了故障排除过程?
还有其他我可以查看/检查的东西吗?
网络跳数是否会增加延迟?如果是,交换机、路由器和防火墙之间是否有所不同?
交易应用程序的供应商建议为此交易应用程序实施 QoS。这真的有必要吗?
提前感谢您的所有帮助,并对长篇大论感到抱歉。:)