01.09.2016 Views

Beginning Oracle Database 11g Administration From Novice to Professional

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

76<br />

CHAPTER 4 PLANNING<br />

Disk Speed<br />

Pay attention <strong>to</strong> your disk ratings because disk I/O can be a big performance bottleneck.<br />

If it takes 10 milliseconds <strong>to</strong> retrieve one data block (typically 8 KB in size), then an SQL<br />

query may not be able <strong>to</strong> read more than 100 data rows per second, because the required<br />

rows will more likely than not be spread out over as many data blocks.<br />

Memory Sizing<br />

Memory sizing is heavily dependent on the characteristics of your application. The amount<br />

of space you need in order <strong>to</strong> meet performance targets is very difficult <strong>to</strong> estimate unless<br />

you have good information, such as the results of volume testing. The cost of memory is a<br />

consideration, but memory becomes cheaper every year and it is no longer unusual <strong>to</strong> find<br />

databases using many gigabytes of memory. Here are the main considerations when planning<br />

memory requirements:<br />

Buffer Cache: You need <strong>to</strong> allow enough space for <strong>Oracle</strong> <strong>to</strong> cache data blocks in<br />

memory because disk I/O can slow down your application tremendously. Note that<br />

you must a use a 64-bit operating system and the 64-bit version of <strong>Oracle</strong> in order<br />

<strong>to</strong> create very large buffer caches because the 32-bit versions cannot handle large<br />

amounts of memory.<br />

Shared Pool: The shared pool contains the library cache and the dictionary cache.<br />

Query execution plans are s<strong>to</strong>red in the library cache, and information about database<br />

objects is s<strong>to</strong>red in the dictionary cache. It is rare <strong>to</strong> find a database that needs<br />

more than 1 GB of memory for the shared pool.<br />

Stack Space: You need <strong>to</strong> provide stack space for each <strong>Oracle</strong> connection. A commonly<br />

used rule of thumb is 512 KB for each connection, for example, 50 MB for<br />

100 connections.<br />

CPU Sizing<br />

The number of CPUs you need depends not only on the speed of the CPUs—the faster the<br />

CPUs, the fewer you need—but also on the application load. A good rule of thumb is as<br />

many CPUs as the average number of simultaneously active sessions during the critical<br />

period of the day; the database for a big e-commerce application may require 16 CPUs <strong>to</strong><br />

meet performance targets.<br />

Note that if you use more than four CPUs, you will need <strong>to</strong> purchase <strong>Oracle</strong> Enterprise<br />

Edition, which is far costlier than <strong>Oracle</strong> Standard Edition.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!