As a consultant in computer networking issues often I am asked questions
like: "We have a LAN with 25 users spread over two floors. About half of the computers run Win 95 while
the rest are Win 3.11. The LAN is quite stable but it has slowed down recently. It was suggested we replace
the 10 Mb network cards with 100 Mb cards. How much improvement will this bring?"
Network considerations To determine if it is the network, rather than the server, that is becoming clogged, you must monitor the network traffic using a network analyser. As these are very expensive to purchase, only very large organisations can afford one, but they can be hired even for one day. One day's statistics will be more than adequate to give you a picture of the network traffic. Among the myriad of details obtainable are the percentage utilisation of the LAN, packets per second, number of collisions and number of network errors in a given time. In a typical office LAN in the above example I would guess that the average utilisation would be about one or two per cent, averaged over one hour. If ethernet traffic is less than about 20 per cent then your network is not being overloaded. A faulty networking card that is generating constant errors may slow the LAN down but this is a rare event. A network analyser will pick up such an occurrence. Determining LAN performance without external tools If you cannot obtain a network analyser then there are some software-only packages that do an acceptable job. There are some demo versions on the Internet that may give you a guide as to the state of your LAN. However, even without these tools I can outline a procedure to determine whether it is the network or the server that is the bottleneck. Firstly, run your benchmark programs a number of times, at high and low usage times. If you don't have any, you should get some, or you can make up your own, such as copying several large files plus many small ones from one or more workstations to the server and accurately timing the result. Do this many times and obtain the mean as well as the maximum. Then create two RAM drives, at least 8 MB in size, on at least two of your fast workstations and then share these RAM drives. This can be done on both the Windows 3.1 and Windows 95 computers. Then copy files from one RAM disk to the other. This action will load the network traffic but not the server. Copying from RAM to RAM will bypass any disk controller and should come close to saturating the LAN if you have a fast computer and a PCI network card. Do this when nobody is using the LAN. Now run your standard benchmarks and while the benchmark is running, copy the RAM drive's files. Do this several times and then copy from the RAM drives to the server, while running the original benchmarks. The differences in the times will give you an indication of whether it is the network traffic that is the bottleneck or the server. Microsoft Plus for Windows 95 has a program called SYSMON that monitors many aspects of the computer's performance and gives a graphical representation. It monitors CPU utilisation, cache size, free memory, network traffic such as bytes written and read and can help with your decision-making. Windows NT Server also has a Network Monitor which is a good diagnostic tool that makes it easy to analyse network traffic and locate network related problems. Server considerations I would concentrate on the server's hard disks. Make sure that they are defragmented and the temporary files deleted. If the server is more than a few years old then most likely the hard disk and disk controller cannot get data quickly enough to saturate your existing 10 Mb LAN. Therefore increasing the bandwidth to 100 Mb is just a waste of money. I do not believe that any old Windows 3.11 computer will be able to fully load a 10 Mb LAN, therefore in such a case it is unlikely that the network is the bottleneck. To improve throughput you should consider placing two hard disks into the server(s), not a single large one partitioned and place half of your user load on each physical hard disk. This way you will have two read and write heads, able to cope much better with simultaneous reading and writing. Ideally the operating system should be on its own disk, so that it is not affected by user load, The pagefile should be on an otherwise lightly loaded disk. In such a case the above server will have three physical hard disks. Adding more memory to the server will increase the disk cache size and will improve the cache hits. As it is about one thousand times faster to get data from memory than from the hard disk, cache efficiency will significantly help performance. Increasing the CPU speed in the server will make a noticeable improvement to the network performance, as a significant percentage of the CPU processor is required to put and extract data packets onto and off the network card. Also a faster CPU will result in a better disk I/O benchmark figure due to the faster processing of data. Increasing the L2 cache on the motherboard, especially if it is 256 KB or less, may result in over five per cent improvement in overall performance for a low cost investment. As the limiting factor is most likely to be the disk I/O, you should always aim to have the fastest disks and disk controllers in the server. You should not only look at stated access times, such as 9 ms but also at the sustained throughput and disk latency. Once the head is repositioned in 9 ms, it has to wait for the desired data to come around on the disk platter. Average latency is determined by the platter's rotational speed: the faster the disk spins the quicker the required data comes under the disk heads. Data transfer rates vary widely and a disk with a high rotational speed and highest recording density will give the best results. Generally money spent on a server is well spent as all the users' productivity is improved and the return on capital is much easier to justify. Finally, ensure that on the Windows 95 server you have selected the "Typical role for this computer is" a Network Server. This is found in Control Panel, System, Performance, File System. Adding a second server If several users constantly access only one database or application, then that application may be moved to another computer. Depending on the load and the security requirements, this computer may not have to be a dedicated server but a PC that resides on someone's desktop. This will immediately reduce the disk I/O on the main server and significantly improve performance. If the second computer does not have a tape drive then it's an easy task to automatically copy the changed files on to the main server at night before the backup starts, so as to include these in the regular backups. Switched hubs If you have determined that the network is limiting the LAN's performance then the first step may be not to have one single collision domain. The Ethernet protocol states that if your network card wishes to send a packet of data, it must listen to the network traffic and wait until there is a quiet period. This is similar to many people in a conversation. You must wait until the other speaker has finished, as you are not allowed to interrupt. When there is silence, the network card can speak, that is, transmit its data. If at exactly the same instant another card, which was also waiting, transmits its data, a collision occurs and both cards must wait a random time, a fraction of a microsecond, before transmitting. If another collision occurs, they wait a longer random time and try again. Collisions do not corrupt data, just slow down the network if large numbers occur. If you have servers on each floor you may consider installing a switched hub and have the servers and their main users on a separate hub. In this way not everyone is in the same collision domain and this helps the network traffic, as a packet of data does not have to pass every computer, just those in its part of the hub. In the above case, traffic on one floor will not impact the traffic on the other floor. A switched hub is a cheaper solution than upgrading all networking cards to 100 Mb cards and purchasing a 100 Mb hub. The next step may be to install a switched 10/100 Mb hub and replace the server's network card with a 100 Mb network card. If the cabling is Category 5 then just the network cards and the hub need to be replaced. A fast server with a fast disk controller may be constrained by the 10 Mb network, especially as the 10 Mb is being shared by many other users. A switched 10/100 Mb hub will allow the server to communicate to that hub at 100 Mb while the other users are still using 10 Mb cards. In this manner, ten users can be reading and writing to the server at their full network speed without clogging the server's network card, assuming the server can process the full bandwidth. With larger LANs, bridges and routers will help with the networking, but this is a very large topic in itself and is outside the scope of this article. User patterns You must have an understanding of the usage pattern on the server in case simple alteration on the user's side may cause a drop in server and network activity. If, for example, large products such as Microsoft Word are stored on the server and not on the user's hard disk then every time a user opens Word a very considerable load is placed on the server and the network. If automatic spelling and grammar checking is being used, this may significantly load the server. Placing these applications on the user's hard disk will remove a significant load as only the user's data is being stored on the server. If for licensing reasons products are kept on the server then it may be possible to place only one essential file on the server and limit the number of simultaneous connections to this file to be equal to the number of licences. [Editor's reminder: "MB" = megabyte, "Mb" = megabit.] Reprinted from the June 1998 issue of PC Update, the magazine of Melbourne PC User Group, Australia |