

Making Your Server System Scale
When making a decision on your disk array, consider what application you're running. For database applications such as SQL Server or Lotus Notes, it is better to have two sets of disks: one for the transaction logs and one for the data. If both are on the same disk array, your disk could be thrashing, decreasing performance. The type of cache on the disk array is also important. Although write-through cache is more data secure, write-back cache is faster. Our testing has shown that by separating the log and data devices, you can easily increase performance by 10 percent to 15 percent.
As for system memory, more is better--to a point. For a basic NT server, we recommend at least 48 MB, and if you run any applicat
ions in production mode, we suggest at least 64 MB. In our labs, we've found that 64 MB is our base configuration and that 48 MB is suitable for running a few office automation applications and file and print services. NetWare is much more forgiving in this area, where an entry-level file server can have as little as 24 MB. The amount of RAM is also dependent on the application. For a database, having more memory means you can cache the entire database in memory.
Other hardware issues can have an impact on scalability. One is the peripheral interface. Many of the servers shipping have multiple Peripheral Component Interconnect (PCI) buses that allow for five to eight PCI slots. Beware that not every implementation of multiple PCI buses are the same. Some servers bridge one PCI bus off another and share hardware interrupts. The better solution is to have dual or triple peer buses (in the case of the NetFRAME 9000 line of servers). The dual peer buses are available from Compaq and Hewlett-Packard Co. and pr
ovide an aggregate maximum throughput of 267 MB per second.
Look for the I20 standard (www.I20.org) to help dramatically increase I/O performance. There are no shipping I20 servers on the market, and you'll have to wait for the NOS vendors to write t
he I20 interface into their operating systems. Microsoft says it plans to incorporate I20 into NT 5.0 and Novell says it is looking to incorporate I20 this year.
The Operating System
A mistuned operating system can have dramatic effects on your server. The same applies to software drivers. A poorly written driver can easily consume your system's memory and CPU. In our labs, we have seen up to 30 percent improvement in network and disk subsystem performance by just upgrading the software driver.
Before NetWare SMP, which is now included with IntranetWare, NetWare was not a preemptive, multiprocessor-capable operating system (NetWare 3.x is not; nor is SFT-III). Programs running on the server had to relinquish control of the operating system.
A preemptive operating system such as NT and Unix controls how long a process runs. Standard NetWare Loadable Modules (NLMs) are not SMP-aware, and, thus, run on the first processor. SMP-aware applications such as Oracle can run on all the processors in the system for added performance.
For NetWare users, memory is a vital resource. Since NetWare doesn't support virtual memory, once memory is gone, your system is in big trouble. Verify that you have enough memory in your system. For optimal performance and to allow your server to scale, check out the LRU Sitting Time statistic, which is located in the Resource Utilization option in Monitor. The LRU Sitting is the turnover rate of cache in the server. Higher numbers (such as a few hours) could indicate excessive cache (which allows room for growth), whereas a lower number (such as a few minutes or seconds), indicate a lack of memory available for caching. The LRU Sitting Time should be greater than 15 minutes. If it is below that, you will increase perform
ance by adding more memory. Also cache buffers should run in the 60 percent to 70 percent range for maximum server performance.
Applying Scale to Applications
Applications are an often-overlooked component, but they need to be SMP-aware to take adva
ntage of the multiple processors. You really have to learn the characteristics of your application to improve performance and scalability.
Many times the default settings are enough to get you started. For instance, there are numerous Microsoft SQL Server 6.5 settings that can either make your system hum or crawl like a snail. These settings include amount of memory dedicated to SQL Server (in 2-KB chunks); location of Tempdb (in memory or on disk); async I/O; procedure cache; max worker threads; and locking.
|