Databases Reference
In-Depth Information
The soundest advice we can give is to invest in the best hardware you can
afford. Software tools to help you troubleshoot performance issues in virtualized
environments demand a steep learning curve and, ultimately, will cost more than
the best hardware. In the example shown in Figure 4-21, if we provide each virtu-
alized machine with its own dedicated network adapter, our performance bottle-
neck is resolved.
In a few cases, it may not be feasible to add or upgrade hardware resources to
expand those that are being overworked. For example, each computer has a phys-
ical limit on the amount of memory it can address. When hardware becomes the
limiting factor for performance, using an efficient database driver becomes even
more important. See “Database Drivers,” page 53, for more information about
choosing an efficient database driver.
Summary
The environment in which your database application runs affects its perfor-
mance. In the Java environment, performance can vary between JVMs from dif-
ferent manufacturers, so it's important to choose a JVM that gives your
application the best performance. You can further improve performance by tun-
ing JVM settings for heap size and garbage collection. In contrast, the .NET CLR
doesn't provide the same tuning ability for garbage collection, and efficient
garbage collection largely depends on your application code.
Any operating system change, even a minor one, can affect performance
more than you would think. One often overlooked factor is the endianness of the
operating system, as determined by the computer's processor. If possible, try to
align the endianness of the operating system on the database client with that of
the operating system on the database server.
Database clients and database servers communicate over a network, typically
TCP/IP. How efficiently your database application uses that network affects per-
formance. Following are key techniques for ensuring the best performance over
the network:
Reducing network round trips
Tuning the size of database protocol packets
Reducing the number of network hops between network destinations
Avoiding network packet fragmentation
 
Search WWH ::




Custom Search