I’m currently trying to find the solution to a network problem here at the Diego Thomson.

We have a Linux server (running Linex) and a heterogeneous network with MS Windows and Linux clients (plus my lonely Mac OS X). Now there were reports that when students from a computing room (20 computers max) log in all at the same time, things get really slow. My first impression was, that we ought to by a Gigabit network card for the server instead of the 100 Megabit one. But when I started to debug the problem things became very strange very quickly. Some observations follow:

  • Saving a file using Samba or FTP on the server is very slow (less than 1 MBit per second)
  • Using NFS is quite a bit faster but far from impressive (around 15 MBit/s)
  • Downloading a file from the server on my laptop is very fast
  • Downloading a file on the server from my laptop (almost the same thing network-wise) is also very fast

These findings led me to think that there is a problem with the TCP stack on our Linux installation. But behold, things get more complicated now.

My laptop and the server are two switches away. The server is connected to Switch A (a D-Link DES-1016D), my laptop to Switch B (same model but looks completely different) and the two switches are connected to each-other with a RJ-45 cable. So I decided to put the server's cable into Switch B. Result: nothing changes. Plugged the server back into Switch A and the laptop into Switch A, too. Result: everything works.

Ok great, problem solved. Switch B has a problem and needs to be replaced. Really? Well, that switch is apparently quite new, so that led me to doubt my conclusion. When I also learned, that the two computer rooms do not go over that switch but are connected differently, I really started to have doubts. And then I learned that Juan's computer is also plugged into Switch A directly and still has the same problem.

Now how do you explain that Mr. wise guy? I'm currently eating cookies and drinking coffee and wondering how this could possibly be explained. I'll keep you posted.