Chapter 19
Optimizing the Network and Server
Certification Objectives
*More and More Memory
*Server Performance
*Types of Memory
*Configuring Virtual Memory
*Disk Thrashing
*Increasing Maximum Packet Buffers
*Minimum Packet Receive Buffers
*Disabling File Compression
*Using NetWare Administrator to Configure File Compression
*Exercise 19-2: Configuring Compression Attributes
*A good network engineer must be able to make a server work as efficiently as possible. In this chapter we will look at how memory can affect a server’s performance. Knowing some of the tricks of the trade will help you determine when you have to add memory, or make the server use memory more efficiently.
We will also look at optimizing the server with some common settings related to communication across the network. We will also discuss hard drive configuration and how it can affect server performance.
If there is one thing you will see on your exam for Advanced Administration, it will be troubleshooting and optimization wrapped up into one. Be sure to understand each of the items under the objectives here. This will also help build on some of the other CNE exams.
Memory Overview
We have seen that NetWare requires a minimum of 64 MB of RAM and can access up to 4 GB of RAM . When a server is loaded, the server.exe file is executed, and then all remaining memory is cache memory. Cache memory is available for NLM programs and other services and processes. Data stored in cache is stored in 4-kilobyte blocks, which are called cache buffers.
Two other items that NetWare uses are logical memory addressing and protected memory spaces. Logical memory addressing allows NetWare to efficiently use memory because fragmentation of memory is minimal, which results in faster memory response. The exam will not go into great detail here but we wanted to mention it so that you would at least know what it is. Protected memory space is memory set aside for applications or NLMs that might not be stable. Protected memory space is separate from the server kernel, which means that if the application or NLM that is loaded in the protected memory space fails, it will not affect the server. This keeps the server from crashing or abending due to unstable applications or NLMs.
NetWare is considered a self-tuning operating system. One fact of computing today is that more and more memory is needed to support what is done within a network environment.
There are so many things we can do with today’s Network Operating Systems that we need to keep a close eye on how memory is used. With e-mail and fax, web servers, Internet gateways, and the many other items, a lot of applications can be loaded on a Network Server.
If there is one thing that can hurt a server’s performance, it is too little memory. We all know that physical memory is known as RAM (Random Access Memory). RAM is where programs and modules are loaded that are used on the server. The hard drive can be considered a place where programs and modules reside, but RAM is where they are loaded to be used on the server.
There are different types of memory: permanent storage, RAM, and virtual memory. Examples of permanent storage are a floppy disk and hard drive. We have already discussed RAM.
The third form of memory is virtual memory, which is an extension of RAM . Figure 19-1 shows the different memory types. If a server needs, for example, 100 MB (or 100 million bytes) of RAM and has only 96 MB of RAM installed, then it has to find 4 additional MB of RAM. Computer operating systems do this by creating a swap file on the hard drive. A swap file is a temporary file that stores information from RAM that is not being used at this moment in time but will be needed in the future. This is quicker and more efficient than unloading and loading a file or module. If this seems confusing now, that is okay. You will understand it better when you read the section on virtual memory later in this chapter.
Figure 19-1: Different types of memory
Memory Allocation and Deallocation
When you are troubleshooting and optimizing a server, you have to understand how memory is used within NetWare 5. One thing to know for the exam is how memory allocation and deallocation work.
When NLMs are loaded, a certain amount of memory is allocated to that specific NLM. The exam will not go into specific detail on how much memory NLM ‘A’ uses or NLM ‘B’ uses but there are two key points to remember. The first is that with NetWare 5 virtual memory is available. The second is that there is a routine, called garbage collection, that is run when memory is deallocated Figure 19-2 shows a graphical representation of garbage collection. Each section of the drawing is a block of memory. The free sections have been taken care of by the garbage collection routine. Garbage collection is a memory recovery process that periodically collects allocated memory that is now free. The memory is returned to the cache for use by other NLMs or programs.
Figure 2: Garbage collection freeing up memory
Virtual Memory
As we discussed earlier, NetWare 5 has a new feature that allows items stored in RAM to be swapped to the hard drive. This frees up RAM for other purposes and can make the server more efficient. You can expect to see this on the exam and as an administrator you will be customizing your servers with different virtual memory configurations.
There are a series of commands that you can use to manage the virtual memory configuration on your server console. These items can help you in establishing, deleting, and changing the swap file configuration on the server. Table 19-1 shows some of these commands.
ITEMS |
WHAT TO DO… |
Get HELP on the SWAP command. | Type HELP SWAP at the console prompt. |
Bring up a Virtual Memory Information screen. | Type SWAP at the console prompt. |
Create a swap file.
Parameters include MIN, MAX, and MIN FREE. |
Type SWAP ADD volume_name [parameter=x] at console prompt. |
Delete swap file. | Type SWAP DEL volume_name at console prompt. |
Change parameters for a swap file. | Type SWAP PARAMETER volume_name parameter=x at console prompt. |
Set alert for excessive memory swapping. | Type SET AVERAGE PAGE IN ALERT THRESHOLD = x at console prompt. |
Table 1: Configuration Items for Virtual Memory
Swap file configuration may not have to be dealt with in every case. For the exam though, these are some things to know about virtual memory :
In some cases you may observe a server that is doing a lot of swapping. If RAM is running low, the swap file will be utilized more and more causing the hard drive to thrash. This means that the hard drive is being accessed to swap information in the swap file with RAM.
Thrashing can cause extra wear and tear on the hard drives and may even can lead to premature hard drive failure. The reason it is called thrashing is due to the sound that is made by a hard drive constantly being accessed.
To curb disk thrashing add more RAM to the server. Even though virtual memory makes up for a shortage of RAM, it is not the recommended way to have your server operate. Virtual memory is meant to improve performance by taking idle tasks out of RAM to free it up for active processes. This makes the server more efficient. RAM should be used for the active processes, not for virtual memory. There are some things you can watch as other signs to tell you that more RAM is needed in the server. We will take a look at these in the next section.
Monitor Statistics
If there is not enough memory in the server, you will see performance degradation. As a CNE you will spend a lot of time at the NetWare console monitor. To check if the physical RAM is sufficient, go to the MONITOR. On the menu of AVAILABLE OPTIONS choose SYSTEM RESOURCES and then select SERVER MEMORY STATISTICS. Then choose Cache Buffer Memory (see Figure 19-3).
Figure 19-3: Cache Buffer Memory
When determining what is using the memory you can use another option in MONITOR to see which NLMs are using large amounts of memory. Exercise 19-1 will take you through the process of checking the NLMs running on your server.
Exercise 19-1 Viewing Memory Information with MONITOR
These are just a few of the things that you can do to determine how much memory is available, as well as what is using the memory. Once these two items are determined, you can make a decision on upgrading RAM, changing some of the settings with cache, or leaving the server as is, if it is running at peak performance.
Server Buffer and Packet Parameters
When computers communicate on a network, they send packets of information across a medium. When a computer, in this case a server, receives these packets something has to be done with them. NetWare uses what are known as packet receive buffers to store incoming data until the server can process it .
Increasing Maximum Packet Buffers
As an administrator you may notice that a server is dropping workstation connections, or slowing down in its communication across the network. This may be due to an incorrect setting with the packet receive buffers.
Again, using MONITOR you can view and change the maximum packet receive buffers setting . On the Available Options screen choose Server Parameters and then Communications. The upper window will display various communication parameters. This window doesn’t list all the parameters and you can use the arrow keys to scroll through the list, where you will see maximum packet receive buffers. Figure 19-4 shows an example of what the MONITOR screen looks like. You can increase the value of the parameter and press ENTER. A good guideline is to set the value of the maximum packet receive buffers to twice the size of the minimum packet receive buffers.
Figure 4: Setting maximum packet receive buffers in MONITOR
Minimum Packet Receive Buffers
Along with maximum packet receive buffers, there are minimum packet receive buffers. If minimum packet receive is set to higher than 10 and the server doesn’t respond to the network requests, you can increase this setting, similar to increasing the maximum packet receive buffer setting.
In MONITOR, select the Server Parameters and Communications from the Available Options screen. Scroll through the list with the arrow keys and select Minimum Packet Receive Buffers. You can increase or decrease this value the same as you did with the maximum packet receive buffers. The rule of thumb here is to allocate at least two packet buffers for each workstation connected to the server .
Block Suballocation
To optimize the use of disk space NetWare uses what is known as block suballocation. Disk space is divided into blocks just as memory is divided into blocks. The default setting for some operating systems is 4 or 16-kilobyte blocks. This makes for inefficient use of disk space. Figure 19-5 illustrates how disk space is allocated.
Figure 5: Disk space with and without block suballocation
As you see in Figure 19-5, a disk can be divided into 4K blocks. When this is done a block is a block no matter what the file size is. For example, if a 2K file is written to disk, a whole 4K block is allocated to that 2K file, leaving 2K of unusable space. If you think about the number of files on a disk over time, this can add up to quite a bit of wasted space.
With block suballocation that same 2K file is written to disk, using 512-byte blocks, which means 4 blocks are used and the remaining 4 blocks are left free and available for other files. One thing to remember is that block suballocation can be set only when a volume is created. If a volume exists without block suballocation and has existing data, you cannot simply set the volume for block suballocation.
Enabling File Compression
Another factor in disk space optimization is file compression. When a volume is created on a NetWare server file compression is enabled by default. If file compression is not enabled on a volume, you can enable it at a later time with a SET statement. The nice thing about file compression on NetWare is that you can enable it and disable with NetWare Administrator or at the DOS command line with FLAG.EXE.
There are a series of parameters that can be used to determine how file compression works on a NetWare server. One of these is Days Untouched Before Compression. If files are used regularly, they will not be compressed. Files are compressed only if they haven’t been used for the number days set in this parameter.
Another key SET parameter is Minimum Percentage Compression Gain. If compressing a file will not save any disk space, then the file will not be compressed. I’ve seen a lot of files that are compressed by other programs stored on a volume, but NetWare will not compress them again, because nothing is gained in doing so. One thing to remember is that there must be enough disk space available to uncompress a file in order to use it. If the volume cannot accommodate the file with the space needed, you may not be able to access the file.
File compression is enabled or disabled at the volume level and if it was not enabled originally when the volume was created, it can be enabled later even with data existing on the volume.
The opposite, however, is not true. Once file compression is enabled, you cannot disable it unless you re-create the volume. File compression can be temporarily suspended using the SET command. The parameter Enable File Compression can be used to suspend file compression.
Using NetWare Administrator to Configure File Compression
You can use NetWare Administrator to configure compression for a file or a directory. There are a couple of different settings you can configure. The attributes are either Immediate Compress or Don’t Compress.
There are two things that are needed before you can configure these options with NetWare Administrator. The first is to make sure that file compression is enabled for the volume, and that you have the Modify right for the files and directories you want to configure. Using the ADMIN account or an equivalent will give these rights throughout the file system. In Exercise 19-2 you will make changes to some files on your NetWare Server.
Exercise 19-2: Configuring Compression Attributes
Figure 6: NWADMIN window
On the Job Note: When you choose a directory to change the attributes on, the attributes of all the files in that directory are changed.
Packet Burst
When communicating across the network, data is sent in packets. NetWare can use the Packet Burst protocol to speed up communications (see Figure 19-7). Normal communications are sent packet by packet. In this scheme, one packet is sent, and then an acknowledgement packet is sent back, creating an inefficient means of communicating.
Figure 7: Packet burst versus normal NCP communication
With packet burst a whole group or "burst" of packets can be sent at once. An acknowledgement still has to be sent, but only one acknowledgement for a group of packets versus one acknowledgement for each packet. This creates more efficient communication for two reasons: data is transferred more quickly to and from a client or server, and less network traffic is generated.
One other side to this is that packet burst monitors packet communication and retransmits only missing packets. In normal communications if a packet is not received properly and other packets have been received, the communication has to back up to the error and retransmit from there.
Exam Watch: If a client is using packet burst and encounters a server that is not using packet burst, then the communication defaults down to normal NCP communication. So remember that both ends of the communication medium need to be using packet burst for the results to be worthy.
Large Internet Packets
Large Internet Packets (LIP), allows the maximum size of internetwork packets to be larger than in previous versions of NetWare. The earlier maximum was 576 bytes . In versions earlier than NetWare 4.11, the client would have to negotiate with the server to agree on a packet size. Ethernet and Token Ring architectures can support packet sizes larger than 576 bytes. LIP allows the client to use a packet size based on the maximum size supported by the router.
To configure a Windows 95/98 workstation using the NetWare client to use LIP, you can do the following. On the workstation open up the Control Panel in Windows 95 and open the Network applet. Highlight the Novell NetWare Client and click the Properties button. In the Advanced Settings Tab, verify that Large Internet Packets support is enabled. LIP is automatically enabled at the workstation and server. Click Apply and then Exit the applet and close Control Panel.
Certification Summary
Ensuring that a network server is working as efficiently as possible is an important administrative task. In this chapter we discussed some of the basics and tried to focus on what you may see on your exam.
One big factor in server performance is the amount of RAM installed. Remember that a minimum of 64 MB of RAM is needed for a NetWare 5 server. There are different types of memory. The first is RAM, which is used by the "live" active applications and NLMs. The second is virtual memory, which is an extension of RAM that is stored in a swap file on a volume. We also touched briefly on a couple of new items for NetWare which are Logical Memory Addressing which keeps memory fragmentation to a minimum and Protected Memory which allows for applications or NLMs that are not stable to be loaded and not crash the server. Also remember that a routine known as garbage collection frees up memory that has been released by NLMs that were unloaded.
The Console statements you can use to configure virtual memory are listed in Table 19-1.
NetWare MONITOR is a utility you can use to gauge and monitor memory and communication statistics, to determine how much memory is available, as well as what is using the memory
Cache Buffer Memory will help you determine if the amount of physical memory is adequate. You can also look at Loaded Modules to see which modules are taking up large amounts of memory.
In the area of network communication you can make sure your minimum and maximum packet receive buffers are set to appropriate standards. Two rules of thumb here are to set the value of the maximum packet receive buffers to twice the size of the minimum packet receive buffers, and to allocate at least two packet buffers for each workstation connected to the server.
Block suballocation controls how data is stored on the hard drive. Enabling block suballocation results in more efficient use of space on the hard drive. Block suballocation must be set when the volume is created. It cannot be set once the volume is in use and has data on it without recreating the volume.
File compression is another way to optimize space on the hard drive. File compression is turned on by default, and can be enabled later if it isn’t on when the volume is created. The thing to remember here though is that file compression cannot be turned off on a volume without recreating the volume. However, it can be suspended.
Two other communication optimization settings are packet burst and Large Internet Packets. Packet burst allows a burst or group of packets to be sent versus one packet at a time. This helps speed up communications between clients and servers and cuts down on network traffic. Large Internet Packets allows the workstation to use a larger packet size when communicating across the network.
Two-Minute Drill