0

I develop a client/server software system that is designed to display images to the photographer's customers. A LOT of my customers are using thin clients for the viewing stations, the NComputing M-series to be specific. My customers are experiencing my software timing out in such environments, but not in environments that are not using the thin clients.

So I am trying to figure out how best to trouble shoot this, how to test it, and ultimately what to recommend to my customers so they have a nice easy experience with the system.

Lets assume the setup is two computers, one machine (the Server) is the server of my software, the other (the Host) is the client of my system which hosts all the thin clients:

Q: I assume that there WILL be packet collisions when there is only one NIC in the Host due to traffic between the Server and Host along with traffic between the Host and thin clients.

Q: If the host has two NIC's in it and they are both plugged into the same 24 port switch, and configured for different networks, say 192.168.1.x for my app and 172.16.1.x for the thin clients. Will the switch keep the packets from both nics from colliding?

Q: Are there other ways to improve performance?

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
Sam Carleton
  • 143
  • 4
  • 4
    Why in the Sam Hill would you assume packet collisions? It's not 1994 anymore. – mfinni Nov 13 '13 at 21:42
  • 1
    Switches have broadcast domains, but no collision domains. And if it's gigabit, it's full duplex as well so it can send/receive data at the same time. – Mark Henderson Nov 13 '13 at 21:44

1 Answers1

1

I assume that there WILL be packet collisions when there is only one NIC in the Host due to traffic between the Server and Host along with traffic between the Host and thin clients.

Collisions simply should not exist on a network that is using switches and full duplex network interfaces.

It is remotely possible to saturate the link on the main system all NComputing clients are connecting to, but that should be easy to monitor by looking at the stats for that port on the switch, or monitoring the network interface stats on the host. A saturated link does not result in 'collisions'.

Q: Are there other ways to improve performance?

  • Capture performance data
  • Identify bottlenecks
  • Remove bottle necks
  • Repeat until performance is acceptable.

how to test it

It is your software. Find a way to reliably reproduce the problem, then use your packet analysis tools (tcpdump/wireshark) perhaps. Add some kind of debugging code to your software.

Past that, just start trying to capture all the data you can easily capture. Then look for problems. If you can't find any, start setting up systems to capture the types of data that are more difficult to collect.

Zoredache
  • 130,897
  • 41
  • 276
  • 420