我开发了一个客户端/服务器软件系统,该系统旨在向摄影师的客户显示图像。我的很多客户都在使用瘦客户端作为查看站,具体来说是 NComputing M 系列。在这样的环境中,我的客户会遇到我的软件超时的情况,但在没有使用瘦客户端的环境中则不会出现这种情况。
因此,我试图找出如何最好地解决这个问题,如何测试它,以及最终向我的客户推荐什么,以便他们能够轻松愉快地使用这个系统。
假设设置了两台计算机,一台机器(服务器)是我的软件的服务器,另一台机器(主机)是我的系统的客户端,它托管所有瘦客户端:
问:我假设当主机中只有一个 NIC 时,由于服务器和主机之间的流量以及主机和瘦客户端之间的流量,将会发生数据包冲突。
问:如果主机有两个 NIC,并且它们都插入同一个 24 端口交换机,并配置为不同的网络,例如,我的应用程序配置为 192.168.1.x,瘦客户端配置为 172.16.1.x。交换机是否会阻止来自两个 NIC 的数据包发生冲突?
问:还有其他方法可以提高性能吗?
答案1
我假设当主机中只有一个 NIC 时,由于服务器和主机之间的流量以及主机和瘦客户端之间的流量,将会发生数据包冲突。
在使用交换机和全双工网络接口的网络上根本不应该存在冲突。
远程可能使所有 NComputing 客户端所连接的主系统上的链接饱和,但通过查看交换机上该端口的统计数据或监控主机上的网络接口统计数据,应该可以轻松监控这一点。饱和的链接不会导致“冲突”。
问:还有其他方法可以提高性能吗?
- 捕获性能数据
- 识别瓶颈
- 消除瓶颈
- 重复直到性能可以接受。
如何测试
这是你的软件。找到一种可靠地重现问题的方法,然后使用你的数据包分析工具(tcpdump/wireshark)。在你的软件中添加某种调试代码。
除此之外,只需开始尝试捕获所有可以轻松捕获的数据。然后寻找问题。如果找不到问题,请开始设置系统来捕获更难收集的数据类型。