28.06.2014 Views

Performance Tuning Siebel Software on the Sun Platform

Performance Tuning Siebel Software on the Sun Platform

Performance Tuning Siebel Software on the Sun Platform

SHOW MORE
SHOW LESS

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

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

1 <str<strong>on</strong>g>Tuning</str<strong>on</strong>g> for Price/<str<strong>on</strong>g>Performance</str<strong>on</strong>g>: Summary<br />

The Solaris Operating System is <strong>the</strong> cornerst<strong>on</strong>e software technology that enables <strong>Sun</strong><br />

to deliver high performance and scalability for <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> applicati<strong>on</strong>s; and <strong>the</strong> OS c<strong>on</strong>tains a<br />

number of features that enable customers to tune for optimal price/performance levels.<br />

Am<strong>on</strong>g <strong>the</strong> core features of <strong>the</strong> Solaris OS that c<strong>on</strong>tributed to <strong>the</strong> superior results<br />

achieved in <strong>the</strong> tests:<br />

Solaris MTmalloc: A standard feature with <strong>the</strong> Solaris system was enabled <strong>on</strong> <strong>the</strong><br />

<str<strong>on</strong>g>Siebel</str<strong>on</strong>g> applicati<strong>on</strong> servers. This is an alternate memory allocator module that was built<br />

specifically for multithreaded applicati<strong>on</strong>s such as <str<strong>on</strong>g>Siebel</str<strong>on</strong>g>. The MTmalloc routines<br />

provide a faster, c<strong>on</strong>current malloc implementati<strong>on</strong>. This feature resulted in lowering<br />

CPU c<strong>on</strong>sumpti<strong>on</strong> by 35%. Though memory c<strong>on</strong>sumpti<strong>on</strong> doubled as a side effect,<br />

overall price/performance benefits are positive. There have been improvements made <strong>on</strong><br />

MTmalloc in Solaris 10 OS which reduce <strong>the</strong> space-inefficiency penalty. More details <strong>on</strong><br />

this topic are available in Secti<strong>on</strong> 7.1.1.<br />

<str<strong>on</strong>g>Siebel</str<strong>on</strong>g> Process Size: For an applicati<strong>on</strong> process running <strong>on</strong> <strong>the</strong> Solaris OS, <strong>the</strong> default<br />

setting for stack and data size is unlimited. We found that <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> software running with<br />

<strong>the</strong> default Solaris system setting caused bloated stack size and runaway processes that<br />

compromised scalability and stability of <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> Solaris OS. Limiting <strong>the</strong> stack size<br />

to 1MB and increasing <strong>the</strong> data size limit to 4GB resulted in increased scalability and<br />

higher stability. Both adjustments let a <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> process use its process address space<br />

more efficiently, fully utilizing <strong>the</strong> total process address space of 4GB available to a 32-bit<br />

applicati<strong>on</strong> process. A significant drop in failure rate of transacti<strong>on</strong>s (<strong>on</strong>ly eight failures<br />

out of 1.2 milli<strong>on</strong> total transacti<strong>on</strong>s!) was observed as a result of <strong>the</strong>se two changes.<br />

More details <strong>on</strong> this topic are available in Secti<strong>on</strong> 7.3.<br />

Solaris Alternate Threads Library: Solaris 8 OS provides an alternate threads<br />

implementati<strong>on</strong> with a <strong>on</strong>e-level model (1x1) in which user-level threads are associated<br />

<strong>on</strong>e-to-<strong>on</strong>e with lightweight processes (LWPs). This implementati<strong>on</strong> is simpler than <strong>the</strong><br />

standard (MxN) two-level model in which user-level threads are multiplexed over<br />

(possibly) fewer LWPs. When used <strong>on</strong> <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> Applicati<strong>on</strong> Servers, <strong>the</strong> 1x1 model<br />

provided good performance improvements to <strong>the</strong> <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> multithreaded applicati<strong>on</strong>s. More<br />

details <strong>on</strong> this topic are available in Secti<strong>on</strong> 7.1.2.<br />

Solaris Multiple Page Size Support (MPSS): A standard feature available in Solaris 9<br />

OS and subsequent versi<strong>on</strong>s, MPSS gives applicati<strong>on</strong>s <strong>the</strong> ability to run <strong>on</strong> <strong>the</strong> same OS<br />

with more than <strong>on</strong>e page size. Use of this Solaris library allows a larger heap size to be<br />

set for certain applicati<strong>on</strong>s, which results in better performance due to reduced TLB<br />

miss%. This feature was enabled <strong>on</strong> <strong>the</strong> Oracle server and resulted in performance<br />

gains. More details <strong>on</strong> this topic are available in Secti<strong>on</strong> 7.6.4.<br />

Solaris Resource Manager was used <strong>on</strong> all tiers of <strong>the</strong> setup to efficiently manage CPU<br />

resources. This resulted in fewer process migrati<strong>on</strong>s and translated to higher cache hits.<br />

<str<strong>on</strong>g>Performance</str<strong>on</strong>g> <str<strong>on</strong>g>Tuning</str<strong>on</strong>g> <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> <str<strong>on</strong>g>Software</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>Sun</strong> <strong>Platform</strong> Page 7

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

Saved successfully!

Ooh no, something went wrong!