8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform http://slidepdf.com/reader/full/performance-tuning-siebel-software-on-the-sun-platform 1/79 Performance Tuning Siebel Software on the Sun™ Platform Khader Mohiuddin Engineering Lead Sun-Siebel Alliance Market Development Engineering Sun Microsystems, Inc !une "##$
79
Embed
Performance Tuning Siebel Software on the Sun™ Platform
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
#.S. 'o%ernment (ights ) Commercil so!twre. 'o%ernment users re su*+ect to the Sun Microsystems, Inc. stn&r&license greement n& pplic*le pro%isions o! the $( n& its supplements. #se is su*+ect to license terms.-his &istri*ution my inclu&e mterils &e%elope& *y thir& prties.
rts o! the pro&uct my *e &eri%e& !rom /erkeley /S systems, license& !rom the #ni%ersity o! Cli!orni. #NI is
registere& tr&emrk in the #.S. n& in other countries, eclusi%ely license& through 3pen Compny, t&. X/Openis a registered trademark of X/Open Company, Ltd.
Sun, Sun Microsystems, the Sun logo, Solaris, Sun Fire, Sun Enterprise, StorEdge, a!a, and "#he $et%ork&s #he Computer' re tr&emrks or registere& tr&emrks o! Sun Microsystems, Inc. in the #.S. n& other countries.
$ll S$(C tr&emrks re use& un&er license n& re tr&emrks or registere& tr&emrks o! S$(C Interntionl,Inc. in the #.S. n& other countries. ro&ucts *ering S$(C tr&emrks re *se& upon rchitecture &e%elope& *ySun Microsystems, Inc.
-his pro&uct is co%ere& n& controlle& *y #.S. port Control lws n& my *e su*+ect to the eport or import lws inother countries. Nucler, missile, chemicl *iologicl wepons or nucler mritime en& uses or en& users, whether
&irect or in&irect, re strictly prohi*ite&. port or reeport to countries su*+ect to #.S. em*rgo or to entitiesi&enti!ie& on #.S. eport eclusion lists, inclu&ing, *ut not limite& to, the &enie& persons n& specilly &esignte&ntionls lists is strictly prohi*ite&.
%his paper discusses the per&ormance optimi'ation o& a complete Siebel enterprisesolution on the Sun plat&orm %he article covers tuning &or the Solaris%M (peratingSystem, Siebel so&t)are, (racle database server, Sun StorEdge%M products, and Sun
!ava%M
System *eb Server *e also discuss uni+ue &eatures o& the Solaris (S thatreduce risk )hile helping to improve the per&ormance and stability o& Siebel applications
All o& the techni+ues described here are lessons learned &rom a series o& per&ormancetuning studies that )ere conducted under the auspices o& the Siebel lat&orm Si'ing ander&ormance rogram S.
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 3
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%o ensure that the most demanding global enterprise customers can meet theirdeployment re+uirements, engineers &rom Siebel Systems and Sun are )orking /ointly onseveral engineering pro/ects %heir common goal is to &urther enhance Siebel serverper&ormance on Sun0s highly-scalable Solaris (perating System
%his article is an e&&ort to document and spread kno)ledge o& tuning and optimi'ingSiebel 1 e2usiness Applications Suite on the Solaris plat&orm All o& the techni+uesdiscussed here are lessons learned &rom a series o& per&ormance tuning studiesconducted under the auspices o& the Siebel lat&orm Si'ing and er&ormance rogramS. %he tests conducted under this program are based on real-)orld scenariosderived &rom Siebel Systems customers, )hich re&lect some o& the most &re+uently usedand most critical components o& the Siebel e2usiness Applications Suite %his article alsoprovides tips and best practices--based on our e3perience--&or &ield sta&&, benchmark
engineers, system administrators, and customers )ho are interested in achieving optimalper&ormance and scalability )ith their Siebel-on-Sun installations %he &ollo)ing areas areaddressed in this paper4
• *hat are the uni+ue &eatures o& the Solaris (perating System that reduce risk)hile helping to improve the per&ormance and stability o& Siebel applications5
• 6or ma3imum scalability at a lo) cost, )hat is the optimal )ay to con&igure Siebelon the Solaris (S5
• 7o) does Sun0s 8hip Multithreading 8M%. technology based on the 9ltraSA:8I; processor bene&it Siebel solutions5
• 7o) can transaction response times be improved &or end users in large Siebel-on-
Sun deployments5• 7o) can an (racle database running on Sun StorEdge be tuned &or higher
per&ormance &or Siebel so&t)are5
%he per&ormance and scalability testing )as conducted at Sun0s Enterprise %echnology8enter E%8. in Menlo ark, 8ali&ornia, by Sun0s Market Development EngineeringMDE. )ith assistance &rom Siebel Systems %he E%8 is a massive, distributed testing&acility packing more computer po)er than many 6ortune <### corporations A &acility o&this magnitude provides the resources needed to test the limits o& so&t)are on a muchgreater scale than most enterprises )ill ever re+uire
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page +
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
1 Tuning for Price/Performance: Summary%he Solaris (perating System is the cornerstone so&t)are technology that enables Sunto deliver high per&ormance and scalability &or Siebel applications= and the (S contains anumber o& &eatures that enable customers to tune &or optimal price>per&ormance levels
Among the core &eatures o& the Solaris (S that contributed to the superior resultsachieved in the tests4
Solaris MTmalloc4 A standard &eature )ith the Solaris system )as enabled on theSiebel application servers %his is an alternate memory allocator module that )as builtspeci&ically &or multithreaded applications such as Siebel %he MTmalloc routinesprovide a &aster, concurrent malloc implementation %his &eature resulted in lo)ering89 consumption by ?@ %hough memory consumption doubled as a side e&&ect,overall price>per&ormance bene&its are positive %here have been improvements made onMTmalloc in Solaris <# (S )hich reduce the space-ine&&iciency penalty More details onthis topic are available in Section 1<<
Siebel Process Size4 6or an application process running on the Solaris (S, the de&aultsetting &or stack and data si'e is unlimited *e &ound that Siebel so&t)are running )iththe de&ault Solaris system setting caused bloated stack si'e and runa)ay processes thatcompromised scalability and stability o& Siebel on the Solaris (S Limiting the stack si'eto <M2 and increasing the data si'e limit to BC2 resulted in increased scalability andhigher stability 2oth ad/ustments let a Siebel process use its process address spacemore e&&iciently, &ully utili'ing the total process address space o& BC2 available to a ?"-bitapplication process A signi&icant drop in &ailure rate o& transactions only eight &ailuresout o& <" million total transactions. )as observed as a result o& these t)o changesMore details on this topic are available in Section 1?
Solaris Alternate Threads Library4 Solaris (S provides an alternate threadsimplementation )ith a one-level model <3<. in )hich user-level threads are associatedone-to-one )ith light)eight processes L*s. %his implementation is simpler than thestandard M3F. t)o-level model in )hich user-level threads are multiple3ed overpossibly. &e)er L*s *hen used on Siebel Application Servers, the <3< modelprovided good per&ormance improvements to the Siebel multithreaded applications Moredetails on this topic are available in Section 1<"
Solaris Multile Page Size Suort !MPSS"4 A standard &eature available in Solaris G(S and subse+uent versions, MSS gives applications the ability to run on the same (S)ith more than one page si'e 9se o& this Solaris library allo)s a larger heap si'e to be
set &or certain applications, )hich results in better per&ormance due to reduced %L2miss %his &eature )as enabled on the (racle server and resulted in per&ormancegains More details on this topic are available in Section 1$B
Solaris #esource Manager )as used on all tiers o& the setup to e&&iciently manage 89resources %his resulted in &e)er process migrations and translated to higher cache hits
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page ,
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
Sun Storage4 (racle database &iles )ere laid out on a Sun StorEdge SE$?"# system $I/O balancing )as implemented on the Siebel )orkload to reduce hot spots Also zonebit recording )as used on disks to provide higher throughput to the Siebel transactionsDirect I>( )as enabled on certain (racle &iles and on the Siebel &ile system More detailson this topic are available in Section 1$"
%onnection Pooling4 Siebel0s database connection pooling )as used, providing goodbene&its &or 89 and memory %)enty end users shared a single connection to thedatabase More details on this topic are available in Section 11
&sage of Aroriate Sun 'ardware4 ilot tests )ere per&ormed to characteri'e theper&ormance o& the )eb, application, and database across the current Sun product line7ard)are )as chosen based on best price>per&ormance rather than pure per&ormanceDetails on this topic are available in Section ?
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
( Siebel Alication Architecture )*er*iewSiebel server is a &le3ible and scalable application server plat&orm that supports a varietyo& services operating on the middle tier o& the Siebel F-tier architecture, including dataintegration, )ork&lo), data replication, and synchroni'ation service &or mobile clients .
6igure "< provides a high-level vie) o& the Siebel application suite architecture
Figure 2.1
Siebel server includes business logic and in&rastructure &or running the di&&erent 8:Mmodules as )ell as connectivity inter&aces to the back end database It consists o&several multithreaded processes commonly re&erred to as HSiebel (b/ect Managers0
%hese can be con&igured so that several instances o& it can run on a single Solarismachine %he Siebel 13 server makes use o& gate)ay components to track usersessions
Siebel 13 has a thin client architecture &or connected clients %he Siebel 13 thin clientarchitecture is enabled through the Siebel plug-in S*SE Siebel *ebserver E3tension.running on the )eb server ItJs the primary inter&ace bet)een the client and the Siebel
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
+ )timal Sun/Siebel Architecture for ,enchmar- .or-loadSun o&&ers a )ide variety o& products ranging &rom hard)are and net)orks to so&t)areand storage systems %o obtain the best price>per&ormance &rom an application, oneneeds to determine )hich Sun products are appropriate %his selection process can be
achieved by understanding the applicationJs characteristics, picking Sun products suitableto those application characteristics, conducting a series o& tests, and then &inali'ing thechoice o& machines
6or this pro/ect, tests )ere done to characteri'e )eb, application, and databaseper&ormance across the current Sun product line 7ard)are )as selected based on bestprice>per&ormance rather than pure per&ormance criteria 6igure ?< illustrates thehard)are con&iguration used in the Sun E%8 testing Fote4 S6 stands &or Sun 6ireserver.
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 11
A&ter collecting detailed kno)ledge o& SiebelJs per&ormance characteristics, thehard)are>net)ork topology depicted in 6igure ?< )as created %he Siebel end user)orkload (L%. )as distributed across three nodes4 Sun 6ire%M ;G#, Sun 6ire E"G##,and Sun 6ire ;BB# servers Each node ran all the Siebel components under test, that is,8all 8enter, eService, eSales, and e8hannel Siebel server component /obs batch testsEAI-7%%, EAI-M, *ork6lo), and 7%%-adapter. )ere distributed across Sun 6ire;BB# and Sun 6ire ;B# servers %he Siebel gate)ay and the Sun !ava SystemDirectory Server LDA. )ere intentionally placed on one physical machine the Sun 6ire;BB# server. because they are very lo) consumers o& 89 and memory resources *iththe Sun Ethernet CIC connectivity, net)ork throughput )as ade+uate Each o& themachines had three net)ork inter&ace cards FI8s., )hich )e used to isolate the maincategories o& net)ork tra&&ic4
< End-user load generator.-to-)eb-server tra&&ic sho)n in green." *eb server-to-gate)ay-to-Siebel-applications-server tra&&ic sho)n in black.? Siebel-applications-server-to-database-server tra&&ic sho)n in red.
%he net)orking )as done using a 8isco router 8atalyst B###. %)o ;LAFs )ere createdto separate net)ork tra&&ic bet)een <. and "., )hile ?. )as &urther optimi'ed )ithindividual point-to-point net)ork inter&aces &rom each application server to the database%his separation )as done to alleviate any possible net)ork bottlenecks at any tier )hichcould have occurred as a result o& simulating thousands o& Siebel users %he loadgenerators )ere all Sun 6ire ;$@ servers running Mercury Load:unner so&t)are %heload )as spread across three )eb server machines by directing di&&erent kinds o& userssuch as 8all 8enter or eService users, and so on. to the three )eb servers
All o& the Siebel application servers belonged to a single Siebel enterprise A singleE"G## server hosted the (racle database= this )as connected to a Sun StorEdge%M
SE$?"# system using a &iber channel
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 12
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
.or-load 0escrition All o& the tuning discussed in this document is speci&ic to the S )orkload as de&inedby Siebel Systems %he )orkload )as based on scenarios derived &rom large Siebelcustomers to re&lect some o& the most &re+uently used and most critical components o&
the Siebel e2usiness Application Suite At a high level the )orkload &or these tests canbe categori'ed into the t)o categories4 <. (L% and ". batch server components
4.1 OLTP (Siebel Web Thin Client End Users)
(L% simulated the real )orld re+uirements o& a large organi'ation )ith <#,###concurrent users involved in the &ollo)ing tasks and &unctions in a mi3ed ratio.4
• 8all 8enter sales and service representatives. 1### concurrent users
%he end users )ere simulated using Load:unner version 1@< S< &rom MercuryInteractive, )ith a think time in the range o& @ to @@ seconds or an average o& ?#seconds. bet)een user operations
4. !at"h Ser#er Co$%onents
%he batch component o& the )orkload consisted o&4
< Siebel Assignment Manager " Siebel *ork&lo)
? Siebel EAI M Series Adapter B Siebel EAI-7%% Adapter
%he Siebel 1 Assignment Manager processed assignment transactions &or salesopportunities based on employee positions and territories Siebel 1 *ork&lo) Managere3ecuted )ork&lo) steps based on inserted service re+uests %he Siebel 1 EAI MSeries Adapter read &rom and placed transactions into I2M M Series +ueues %heSiebel 1 EAI-7%% Adapter e3ecuted re+uests bet)een di&&erent )eb in&rastructures
All o& the tests )ere conducted by making sure that both the (L% and batchcomponents )ere run in con/unction &or a one hour period steady state. )ithin the same
Siebel enterprise installation
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 14
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
● Low networ- utilization$ %he Siebel 1 Smart *eb Architecture and SmartFet)ork Architecture e&&iciently managed the net)ork consuming only @@kbps per user
● 6fficient use of the database ser*er$ %he Siebel 1 Smart Database
8onnection ooling and Multiple3ing allo)ed the database to service<#,### concurrent users and the supporting Siebel 1 Server applicationservices )ith B# database connections
%he actual results o& the per&ormance and scalability tests conducted at the Sun E%8 &orthe Siebel )orkload are summari'ed in the &ollo)ing section o& the article 8hapter resents speci&ic per&ormance tuning tips and the methodology used to achieve this levelo& per&ormance.
&.1 'es%onse Ti$es and Transa"tion Throh%t .or-load 7umber of
(n the Sun plat&orm the Siebel application scales to high concurrent users e3tremely)ell *ith Siebel0s &le3ible distributed architecture and Sun0s large server product line, an
optimal Siebel-on-Sun deployment can be achieved either )ith several small one to &our89. machines or )ith a single large Sun machine such as a E<@K, E$G##, and so on.%he &ollo)ing graphs depict Siebel scalability on di&&erent Sun machine types All thetuning that )as applied to achieve these results as documented in the ne3t chapter inthis article. can be applied on production systems
Figure 6.1
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 1,
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%he ;BB# server uses 9ltraSA:8 III chips )hile the ;G# and E"G## use 9ltraSA:8I; chips 6igure $" sho)s the di&&erence in scalability bet)een the classes o& Sunmachines 8ustomers can this data &or the capacity planning and si'ing o& their real )orlddeployments Keep in mind that the )orkload used &or these results should be identical to
the customer real-)orld deployment or appropriate ad/ustments need to be made to theserver si'ing 6or more )orkload details, please see Section B
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 1
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
Figure 6.3* Note:$$/user nuber is based !urely on "ard#are cost and does not include enironental %actors&
%acilities& serice& or anageent .
Sun servers provide the best price>per&ormance &or Siebel applications 6igure $?depicts the costs o& the typical Siebel user on various models o& Sun servers tested
Price/Performance Summary Per Tier of the Sun;Siebel 0eloyment
Application tier4 Sun 6ire ;BB#4 BB# users>89 Q<1@1>user. Sun 6ire ;G#4 $$" users>89 Q"?B">user. Sun 6ire E"G##4 $#$ users>89 Q?1@B>user.
Database tier Sun 6ire E"G##.4 BG#" users>89 Q@B$>user.
*eb tier Sun 6ire ;BB#.4 "B@? users>89 Q?<@>user.
Average response time4 &rom #<"$ to #?#? sec component-speci&ic. Success rate4 R GGGGG &ailures out o& <" million transactions.
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 1
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
Many people think solving a per&ormance problem is a mysterious talent, ho)ever thereis a particular methodology at )ork 6igure < sho)s the process &lo) o& approaching a
per&ormance problem or simply tuning the system &or best per&ormance
Figure '
9se o& a methodology like the process sho)n in 6igure 1< can take the black magic outo& per&ormance tuning because there are several books and )hite papers dedicated tothe sub/ect o& per&ormance tuning methodologies, the sub/ect is not being covered indetail in this )hite paper %he scope o& this )hite paper is to provide the reader )ith
speci&ic tuneables &or the Siebel>Sun plat&orm %he current chapter provides speci&icsuggestions &or per&ormance and scalability tuning %hese suggestions are based onlessons learned &rom the tests conducted at the Sun E%8 and through years o&collaborative engineering bet)een Sun and Siebel
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 2
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%he alternate memory allocator module, )hich is standard to the Solaris (S and )as
built speci&ically &or multithreaded applications such as Siebel, )as enabled on the Siebelapplication servers %he MTmalloc routines provide a &aster, concurrent mallocimplementation %his &eature resulted in lo)ering 89 consumption by ?@ %houghmemory consumption doubled as a side e&&ect, overall price>per&ormance bene&its )erepositive In Solaris <# (S, improvements have been made on MTmalloc to reduce thespace-ine&&iciency cost
6ffect of MTmalloc on %P& ,enefit and Memory %ost
Figure '.1.1
In 6igure1<<, the blue curve sho)s the percentage reduction in 89 usage &or Siebelapplications running on di&&erent Sun 6ire SM machines )ith MTmalloc enabled %he
red curve sho)s the corresponding increase in memory usage due to use o& MTmalloc As is apparent &rom 6igure 1<<, enabling MTmalloc on a B 89 machine )ill not bebene&icial= there is @< increase in memory usage by Siebel )hile 89 utili'ationremains the same er&ormance gains begin to get better )hen MTmalloc is used onSiebel server running on 89 machines and up)ards (n an 89 machine ;G#.one can e3pect " reduction in 89 utili'ation )hen using the MTmalloc &eature%hough memory usage by the Siebel application increases )hen MTmalloc is tuned,
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 21
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
this is not a big disadvantage, as the standard Sun machine con&iguration has amplememory
%he vBB# has B 89s )ith <$Cbytes o& memory A typical Siebel user on the Sunplat&orm uses about BMbytes o& memory )hile the 89 use is much higher incomparison, so the higher memory &ootprint is a bene&icial trade o&&
7o) does one enable MTmalloc5
< Edit the &ile $SIEBEL_ROOT/bin/siebmtshw" Add the line LD_PRELOAD=/usr/lib/libmtmalloc.so? Save the &ile and bounce Siebel servers4. A&ter Siebel restarts, veri&y that MTmalloc is enabled by e3ecuting the
Solaris (S provides an alternate threads implementation )ith a one-level model <3<.9ser-level threads are associated one-to-one )ith light)eight processes L*s. %hisimplementation is simpler than the standard M3F. t)o-level model in )hich user-levelthreads are multiple3ed over possibly &e)er light)eight processes %he <3< model )asused on Siebel Application Servers and provided good per&ormance improvements to theSiebel multithreaded applications because the Siebel 1@" alternate threads library isenabled by de&ault I& you are using a version o& Siebel older than 1@" then the alternatethreads library is not enabled by de&ault
rocedure to enable the alt thread &eature4
< 9pdate the env variable &or the 9FIPT user that runs Siebel server" I& you are using Korn shell, open up the .profile &or the Siebel o)ner
and add this to the bottom o& the &ile? E3port !"LIBRARY"#T&'usr'lib'lwp($!")*++,"#TB Stop Siebel@ E3it &rom shell and log in again so the change in .profile is in e&&ect$ Start Siebel
%o veri&y i& alt thread is indeed being used4
pldd -p <pidofsiebmtshmw> | grep -i lwp
%he preceding command should return the current Solaris lib, )hich is'usr'lib'lwp'
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 22
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%he key &actor in tuning Siebel server per&ormance is the number o& threads or users perSiebel ob/ect manager (M. process Siebel server architecture consists o& multithreadedserver processes servicing di&&erent business needs 8urrently, Siebel is
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 23
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
designed such that one thread o& a Siebel (M services one user session or task %heratio o& threads or users>process is con&igured using the Siebel parameters4
• MinMT4ervers
• MaMT4ervers
• MaTas2s
6rom several tests conducted it )as &ound that on the Solaris plat&orm )ith Siebel 1@ the&ollo)ing users>(M ratios provided optimal per&ormance4
• %all %enter # users>(M• e%hannel B# users>(M
• eSales @# users>(M• eSer*ice $# users>(M
As you can see, the optimal ratio o& threads>process varies )ith the Siebel (M and the
type o& Siebel )orkload per user MaTas2s divided by MaMT4ervers determines thenumber o& users>process 6or e3ample, &or ?## users the setting )ould beMinMt4ervers&56 MaMT4ervers&56 Matas2s&711 %his )ould direct Siebel todistribute the users across the $ processes evenly, )ith @# users on each %he notion o&anonymous users must also be considered in this calculation, as discussed in the 8all8enter section, the e8hannel section, and so on %he prstat 8v or the top commandsho)s ho) many threads or users or being serviced by a single multithreaded Siebelprocess
A thread count o& more than @# threads per process is due to the &act that the count alsoincludes some admin threads I& the MaTas2s>MTservers ratio is greater than <##,per&ormance degrades in terms o& longer transaction response times %he optimal usersper process setting depends on the )orkload, that is, ho) busy each user is
<$($1 Tuning %all %enter4 Sales/Ser*ice4 and e%hannel Siebel Modules
8all 8enter or sccobFmgr-speci&ic in&ormation is presented here Eighty users>process)as &ound to be the optimal ratio
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 24
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
● Set :nable=! & G4: to disable invoking 8DA &unctionality● Set =omm:nable & G4: &or 8all 8enter, to disable do)nloading the 8%I
bar● Set =omm=onfigManager & G4:.
It should be noted that the preceding settings are re+uired to be T+9: &or scenarios)here these &unctions are re+uired %he benchmark setup re+uired these settings to bedisabled
%o decide on the MaTas2s, MTservers, non9ser#ool settings, use the &ollo)inge3ample4
Target No. of Users 4000
AnonUserPool C11
Buffer 311 Maxtasks C511
MaxMTserverM!nMTserver BA
Table ,.2
I& the target number o& users is B###, then non9ser#ool is <# o& B###, or B## Allo)a @ bu&&er, add them all together B###NB##N"##UB$##., and MaTas2s )ould beB$## Since )e )ant to run # users>process, the MaMTserver value )ill beB$##>#U@1@ rounded to @.
%he non9ser#ool value is set in the eapps.cfg &ile on the Siebel *eb Server
Engine I& the load is distributed across multiple )eb server machines or instances,simply divide this number In this e3ample, i& t)o )eb servers )ere being used, setnon9ser#ool to "## in each )eb server0s eapps.cfg &ile 7ere is a snapshot o& the&ile and the setting &or 8all 8enter4
4! T= )ill need to be set higher based on the number o& users being run %his isthe calculation to be &ollo)ed4
4):*:"4!";T= & E Matas2s L @1114):*:"4!"T= & @.3 Matas2s
:estart Siebel server a&ter setting these environment variables
e%hannel
%he same tuning in&ormation as 8all 8enter applies &or e8hannel, e3cept &or t)oparameters4%he users per process ratio giving the best per&ormance &or this )orkload)as B# %he optimal non9ser#ool setting &ound )as ?#
eSer*ice
%he same tuning in&ormation as 8all 8enter applies &or eService, e3cept &or t)o
parameters %he users per process ratio giving the best per&ormance &or this )orkload)as $# %he optimal non9ser#ool setting &ound )as ?#
eSales
6i&ty users per Siebel ob/ect manager process provided better response times andthroughput %he non9ser#ool setting is "#
<$($( .or-flow
Siebel 1 *ork&lo) Manager e3ecuted )ork&lo) steps based on inserted service re+uests
Siebel *ork&lo) can be run in t)o modes4 asnc or snc :emote asnc mode isdiscussed here %he )ork&lo) test consists o& @## 8all 8enter end users )orking on"#,### service re+uests
8onnection pooling o& "#4< )as implemented )ith <# bene&itModi&y uagent.cfg andeai.cfg under $4):*:"M:'bin o& the 2atch application server to have the&ollo)ing settings4
● 8hange :nable=!&G4:
● 9nder H4?:I add4
:nable4huttle&T+9:
:nable+eportsGromToolbar&T+9:
:nable4)!ataoss?arning&T+9:
:nable#opup)nlineuer&T+9:
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 2+
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%he Siebel 1 Assignment Manager AM. processed assignment transactions &or salesopportunities based on employee positions and territories AM )as run in batchassignment mode
6or this component the main tunable is the re/uests parameter
Tuneable arameter: :e+uests0efault *alue: @###5alue used in benchmar-: "#
0escritionMa3imum number o& re+uests read per iteration %his controls the ma3imum number o&re+uests ?or2Mon reads &rom the re+uests +ueue )ithin one iteration
It did not help to change deletesi0e to B## &rom de&ault o& @##. or to add inde3es tothe table 4":4="+:
A&ter reducing the number o& re+uests per iteration &rom @### de&ault value. to "# &orcomponent ?or2Mon, 89 utili'ation )as reduced &rom 1" to @? on the Siebelserver node )here AM and EAI-M tests )ere run together
Through ut !t?ns/sec" 5alue for the #e@uestsarameter
A*erage %P& utilization
1,@<< @### 1"?B#G <# @"G<B$ "# @??<
(able '.2.3
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 2,
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%he procedure to list>change the parameter re+uests &or Siebel server &ollo)s4
< 8onnect to server manager at applications server level" srvrmgr(siebapp3> list param +e/uests for comp ?or2Mon
#")4 #"N9: #"!TT,#: #"4=#: ..
#";M:-------- -------- ----------- -------------------------------+e/uests B111 )nteger =omponent ..+e/uests per iteration
@ row returned.
7. srvrmgr(siebapp3> change param +e/uests&31 for comp ?or2Mon=ommand completed successfull
Fote4 %o see the entire list o& parameters &or comp ?or2Mon, type the &ollo)ing4srvrmgr(siebapp3> list param for comp ?or2Mon
<$($ 6A>;Mseries
%he Siebel 1@ EAI M Series Adapter read &rom and placed transactions into I2M MSeries +ueues %his test is designed to receive B##,### messages &rom I2M M seriesinto the Siebel application Messages are divided into di&&erent categories depending onthe type o& operations they per&orm during receive %his test stresses the &ile system on)hich the +ueues reside by per&orming about <# database inserts and <# updatesersistent +ueues are used As a result, the database tuning and disk layout e3plained inthis document are key &or per&ormance
%o achieve best throughput the &ollo)ing setup )as done4
Minmtservers&mamtservers&@6 Matas2s&CB for component M/4eries4rv+cvr on the 4iebelserver.
Moving the &ollo)ing directories to a di&&erent disk helped to improve per&ormance byalleviating I>( bottlenecks4
#:+GMJ+.M#ipe"msg&3111111 Ochanged from defaultPin file 'var'm/m'/mgrs'#:+GMJ+'/mstatus.ini
og*uffer#ages&B@3 Ochanged from default @EPin file 'var'm/m'/mgrs'#:+GMJ+'/m"ini
log#rimar files&@3 Odefault value 3Pog4econdarfiles&3 Odefault value 3Pogfilepages &@13C Ochanged to @57ACOmaPPogtpe&=)+=9+Odefault =)+=9+P
6rom all o& the above t)eaks, a per&ormance improvement o& ?@ in throughput )asmeasured Fote4 It )as discovered during the benchmark that M Series version @<>@"has a $B#,### message limit, )hile @? does not
in&rastructures Siebel EAI-7%% Adapter %ransport 2usiness Service lets one send PMLmessages over 7%% to a target 9:L )eb site. %he Siebel *eb Engine serves as thetransport to receive PML messages sent over the 7%% protocol to Siebel
%he Siebel EAI compgrp is enabled on one appserver and the 7%% driver is run on aSun 6ire v$@>*indo)s P machine
%o achieve the result o& "1,?@" business transactions>hour, B threads )ere runconcurrently, )here each thread )orked on 1#,### records %he optimum values &or thenumber o& Siebel servers o& type :)bFMgr &or this )orkload )ere4
MaMT4ervers&3 minmtservers&3 MaTas2s&@1
%he other Siebel (M parameters &or :)bFMgr are best le&t at de&ault= changing4)4#:+4)44=; to anything &rom de&ault o& "# does not help All o& the (racle databaseoptimi'ations e3plained under that section in this paper helped achieve the throughput o&1G ob/ects>sec
%he 7%% driver machine )as ma3ed out, causing slo) per&ormance %he reason &or this)as I>(, as the 7%% test program )as generating about ?Cbytes o& logs during the test=once this )as turned, o&& as sho)n belo), per&ormance improved
driver.logresponse&falsedriver.printheaders&false
%he non4essionTimeout and 4essionTimeout values in the S*SE )ere set to?##
7%% adapter :)bFMgr"enu. tunable parameters4
● MaTas2s - :ecommended value at the moment4 <#● MaMT4ervers, MinMT4ervers - :ecommended value4 "
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 2
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
+.3 Siebel Ser#er S"alabilit, Li$itations and Soltions
<$+$1 The Siebel MaxTasks &er Limit Problem
In order to con&igure Siebel server to run over ### concurrent users, the Siebelparameter MaTas2s has to be set to a value o& ## *hen this is done, the Siebelob/ect manager processes that is, the Siebel servers. &ailed to start and logged errormessages %his &ailure )as not due to any resource limitation &rom the Solaris (S, asthere )ere ample amounts o& 89, memory, and s)ap space on the machine %he
&ailure to start )as due to the E"G## )ith <" 89, BCbytes :AM
Siebel enterprise server logged the &ollo)ing error messages and &ailed to start4
6?lanation%o understand )hat occurred, it is necessary to revie) some background on the Siebel
server process siebsvc4
%he siebsvc process runs as a system service that monitors and controls the state o&every Siebel server component operating on that Siebel server Each Siebel server is aninstantiation o& the Siebel Server System Service siebsvc. )ithin the current SiebelEnterprise Server Siebel server runs as a daemon process in a 9FIP environment
During startup, the Siebel Server System Service siebsvc. per&orms the &ollo)ingse+uential steps4
< :etrieve con&iguration in&ormation &rom the Siebel Cate)ay Fame Server
" 8reate a shared memory &ile located in the admin subdirectory o& theSiebel server root directory on 9FIP 2y de&ault, this &ile has the name:nterprise"4erver";ame.4iebel"4erver";ame.shm
%he si'e o& this &ile .shm is directly proportional to the MaTas2 setting %he higher thenumber o& concurrent users the higher the MaTas2
%he Siebel Server System Service deletes this .shm &ile )hen it shuts do)n
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 3
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
>n*estigating the #eason for the 8ailure%he .shm &ile that )as being created during startup )ill be memory-mapped and be parto& the heap si'e o& the siebsvc process %hat means the process si'e o& siebsvcprocess gro)s proportionally )ith the increase in the si'e o& the .shm &ile
*ith G@## MaTas2 con&igured, an .shm &ile o& si'e <<@Cbytes )as created duringserver startup4
siebapp5('tmp'%ls -l 'eport'siebsrvr'admin'siebel.sdcvCA1s113.shm-rw------ @ sunperf other @3@31D5B@3 Qan 3C @@(CC'eport'siebsrvr'admin'siebel.sdcvCA1s113.shm
And the siebsvc had a process si'e o& <<BCbytes )hen the process died abruptly4
I& the mmap succeeds, the process may have a process si'e R "Cbytes 2ecause Siebel
is a ?"-bit application, it can have a process si'e up to BCbytes "V?" U BCbytes. on theSolaris (S 2ut in our case, the process &ailed )ith a si'e /ust over "Cbytes
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 31
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
Even though the ma3imum si'e o& the datasi'e or heap is reported as unlimited by theulimit command above, the ma3 limit is "Cbytes by de&ault on the Solaris (S %heupper limits seen by an application running on Solaris hard)are can be achieved byusing a simple 8 program that calls the getrlimit AI &rom ss'resource.h %he&ollo)ing program prints the system limits &or data, stac2, and vmemor4
(utput &rom the 8 program on the &ailed machine is as &ollo)s4
sdcvCA1s113('eport'siebsrvr'admin'%showlimits=urrent'maimum data limit is 3@CECA75CE ' 3@CECA75CE=urrent'maimum stac2 limit is A7AA51A ' 3@CECA75CE=urrent'maimum vmem limit is 3@CECA75CE ' 3@CECA75CE
6rom the output sho)n, it is clear that the processes )ere bound to a ma3imum data limito& "Cbytes on an out-o&-the-bo3 Solaris system setup %his limitation is the reason &or the&ailure o& the siebsvc process as it tried to gro) beyond "Cbytes
Solution%he solution is to increase the de&ault system limit &or datasi0e and reduce thestac2si0e An increase in datasi0e creates more room &or process address spaceand reduction o& stac2si0e reduces the reserved stack space 2oth these ad/ustments
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 32
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
let a Siebel process use its process address space more e&&iciently, hence allo)ing thetotal Siebel process si'e to gro) up to BCbytes )hich is the upper limit &or a ?"-bitapplication.
1$ .hat are the recommended *alues for data and stac- sizes on Solaris )S while
running the Siebel alicationB 'ow does one change the limits of "atas!#e andstacks!#eB
Set the datasi0e to BCbytes that is, the ma3imum address space allo)ed &or a ?"-bit process. and set the stac2si0e to any value W<Mbyte, depending on the stackJsusage during high load In general, even )ith very high loads the stack may take up to$BKbytes= setting its value to @<"Kbytes )ouldnJt harm the application
System limits can be changed using ulimit or limit user commands depending onthe shell
%he &ollo)ing commands change the limits42sh(ulimit -s B@3ulimit -d C@DC717
csh(limit -stac2si0e B@3limit -datasi0e C@DC717
($ 'ow does one e?ecute the aforementioned commandsB
%hese commands can be e3ecuted either &rom 2sh or csh directly be&ore runningSiebel %he Siebel processes inherit the limits during the shell &orking
2ut $4):*:"+T'bin'start"server script is the recommended place to put thosecommands4
%he preceding setting allo)s the siebsvc to mmap the shm &ile and thereby siebsvcsucceeds in &orking the rest o& the processes and Siebel server processes start upsuccess&ully %hus this &inding enables one to con&igure MaTas2s greater than G### onthe Solaris (S %hat means one can get around the scalability limit o& G### users perSiebel server, but ho) much higher can one go5 *e determined the limit to be <,### I&Ma3%asks )as con&igured to R <###, Siebel calculates the .shm &ile si'e to be about"Cbytes siebsvc tries to mmap this &ile and &ails, as it has hit the limit &or a ?"-bitapplication process
%he &ollo)ing listing sho)s the Siebel .shm &ile )ith matas2 set to <,###4
sdcvCA1s113('eport'siebsrvr'admin'%ls -l .shm W ls -lh .shm
-rw------ @ sunperf other 31EC37ADE5 Qan 3B @7(37 siebel.sdcvCA1s113.shm-rw------ @ sunperf other @.DJ Qan 3B @7(37 siebel.sdcvCA1s113.shm
In the rare case there is a need to run more than <,### Siebel users on a single Siebelserver node, the )ay to do it is to install another Siebel server instance on the samenode %his )orks )ell and is a supported con&iguration on Siebel>Sun plat&orm It is notadvisable to con&igure more MaTas2s than needed, as this could a&&ect theper&ormance o& the overall Siebel enterprise
<$+$( ,loated Siebel Processes !%ommonly Mista-en as Memory Lea-s"
SymtomDuring some o& the high concurrent user tests, it )as observed that hundreds o& userssuddenly &ailed
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 34
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
0escrition%he reason &or this symptom )as that some o& the Siebel server processes servicingthese users had either hung or crashed 8lose observation )ith repeated replaysrevealed that the 4iebmtshmw process memory shot up &rom 1##M to "C2
%he 9ltraSA:8 I;-based E"G## server can handle up to ?#,### processes and about1,### L*s threads., so there )as no resource limitation &rom the machine here %heSiebel applications are running into ?"-bit process space limits -- but )hy is the memoryper process going &rom 1##Mbytes to "C2ytes5 6urther debugging lead us to theproblem4 the stack si'e
%he total memory si'e o& a process is made up o& heap si0e L stac2 si0e L dataand anon segments In this case, it )as &ound that the bloating in si'e )as at the stack,)hich gre) &rom $BKbytes to <Cbyte, )hich )as abnormal pmap is a utility on theSolaris system that provides a detailed breakdo)n o& memory si'es per process
7ere is an output o& pmap that sho)s that the stack segment bloated to about <Cbyte4
siebapp5\'eport'pspp> grep stac2 pmap.CA11mied.prob.tt Opmap output unit isin KbtesPGG*:A111 73 73 - 73 read'write'eec H stac2 IGG*:A111 73 73 - 73 read'write'eec H stac2 IGG*:A111 73 73 - 73 read'write'eec H stac2 IGG*:A111 73 73 - 73 read'write'eec H stac2 IGG*:A111 73 73 - 73 read'write'eec H stac2 I=1@3111 @1C733C @1C733C - @1C733C read'write'eec H stac2 I
*e reduced the stack si'e to <"Kbytes and this &i3ed the problem Fo) a single Siebelserver con&igured )ith <#,### MaTas2s started up success&ully It )as &ailing to startupbe&ore breaking at the mmap call %he stack si'e o& Mytes is a de&ault setting on theSolaris system 7o)ever, limiting the stack si'e to <"Kbytes removed a lot o& theinstability in our high load tests and )e )ere able to run @### user tests )ithout errors,pushing up to # to G# 89 usage on the <"-)ay E"G## server
8hanging the mainwin address M?"JM"N!!+&1c1111111 to other values did notseem to make a big di&&erence lease do not vary this parameter
Solution8hange the stack si'e hard limit o& the Siebel process &rom unlimited to @<" bytes
Stack si'e on the Solaris (S has a hard limit and a so&t limit %he de&ault values &or these
t)o limits are unlimited and AMbtes, respectively %his means that an applicationprocess on the Solaris (S can have its stack si'e any)here up to the hard limit Sincethe de&ault hard limit on the Solaris system is unlimited the Siebel applicationprocesses could gro) their stack si'e all the )ay up to "Cbytes *hen this occurs, thetotal memory si'e o& the Siebel process hits the ma3 limit o& memory addressable by a?"-bit process and bad things happen such as a hang or crash. Setting the limit &orstack to <Mbytes or a lo)er value resolved the issue
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 3'
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
lease note that a large stack limit can inhibit the gro)th o& the data segment, becausethe total process si'e upper limit is BCbytes &or a ?"-bit application Also even i& theprocess stack hasnJt gro)n to a large e3tent, the virtual memory space )ill be reserved&or it according to the limit value *hile the recommendation to limit stack si'e to @<"bytes )orked )ell &or the )orkload de&ined in this paper, this setting may have to bet)eaked &or di&&erent Siebel deployments and )orkloads %he range could be &rom @<" to<#"B bytes
+.4 Tnin Sn -a#a S,ste$ Web Ser#er
%he three main &iles )here tuning can be done are obF.conf, server.ml andmagnus.conf
6dit magnus.conf:
< Set the +/Throttle&C13A in the magnus.conf &ile under the )eb serverroot directory
" isten @5111? =onnueue4i0e A111B KeepliveuerMeanTime B1
6dit server.xml:
< :eplaced host name )ith ip address in server.ml.
< In the Siebel *eb lugin installation directory, go to the bin directory Edit the
eapps.cfg &ile and make the &ollo)ing changes4• Set non9ser#ool to <@ o& <target Uusers>
• Set the &ollo)ing settings in the Xde&aultY section45. Juest4essionTimeout to $#= this is re+uired &or scenarios )here the
user is bro)sing )ithout logging in5. non4essionTimeout & 7111 4essionTimeout & 711
• Set appropriate non9ser name>pass)ords 4!M);'4!M); &or e8hannel and 8all 8enter Database login. J9:4T@'J9:4T@ &or eService and eSales LDA login. J9:4T:+M'J9:4T:+M &or E:M Database login.
%he non9ser#ool setting can vary on di&&erent types o& Siebel users call center,sales, and so on.
%he table belo) summari'es the individual eapps.cfg settings &or each type o& Siebelapplication4 8all 8enter, e8hannel, eSales and eService, used in the <#,### users test
+./ Tnin Siebel Standard Ora"le 0atabase and Sn Storae
%he si'e o& the database used )as appro3imately <B# Cbytes %he database )as built tosimulate customers )ith large transaction volumes and data distributions thatrepresented the most common customer data shapes %able 1$ sho)s a sampling o&record volumes and si'es in the database &or key business entities o& the standard Siebel
volume database
,usiness 6ntity0atabase Table7ame
7umber of#ecords
Size in =bytes
Accounts (&)R*&+,T 14CD<411 +4124<(C
Acti*ities (&+-T&AT C4<4+32 4(D142
Addresses (&A//R&)R* +432C4 (43D<412(
%ontacts (&)NTAT( +4+4< 4<1C42D(
6mloyees (&+MPL)Y++&ATT (14333 2(
)ortunities (&)PTY +4(+<4<D 41D4+3
)rders (&)R/+R +224(D< <14C2D
Products (&PR)/&INT ((4333 +<4331
uote >tems (&U)T+&IT+M 14DC43DD (4(143
uotes (&U)T+&ATT (2+41 2(
Ser*ice #e@uests (&(R-&R+ 242C142+C 4<1C42D(
Table ,.+
<$$1 )timal 0atabase %onfiguration
8reating a )ell-planned database to begin )ith )ill re+uire less tuning>reorgani'ingduring runtime *hile many resources are available to &acilitate creation o& high-per&ormance (racle databases, most tuning engineers )ould &ind themselves t)eaking adatabase consisting o& thousands o& tables and inde3es, piece by piece %his is both timeconsuming and prone to mistakes Eventually one )ould end up rebuilding the entiredatabase &rom scratch
%he &ollo)ing approach provides an alternative to tuning a pre-e3isting, pre-packageddatabase4
< Measure the e?act sace used by each obEect in the schema$ %hedbms"space packages provide the accurate space used by an inde3 or a table(ther sources like dba"free"space only tell you Xho) much is &reeY &rom thetotal allocated space, )hich is al)ays more Fe3t, run the benchmark test and
again measure the space used %he di&&erence )ill result in an accurate report o&Xho) much each table>inde3 gro)s during the testY (ne can use this data to right-si'e all o& the tables, such as the capacity planned &or gro)th during the test Alsothe data can be used to &igure out and concentrate on only the hot tables used bythe test
" %reate a new database with multile inde? and data tablesaces$ %he idea isto place all e+ui-e3tent-si'ed tables into their o)n tablespace Keeping the dataand inde3 ob/ects in their o)n tablespace reduces contention and &ragmentation,
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 3
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
and also provides &or easier monitoring Keeping tables )ith e+ual e3tent si'es intheir o)n tablespace reduces &ragmentation as old and ne) e3tent allocations areal)ays o& the same si'e )ithin a given tablespace, leaving no room &or empty odd-si'ed pockets in bet)een %his leads to compact data placement )hich reducesthe number o& I>(s done
?,uild a scrit to create all of the tables and inde?es$
%his script should havethe tables being created in their appropriate tablespaces )ith the appropriateparameters like freelists, & reelist"groups, pctfree, pctused, and so on9se this script to place all o& the tables in their tablespaces and then import thedata %his )ill result in a clean, de&ragmented, optimi'ed, and right-si'eddatabase
%he tablespaces should also be built to be locally managed %his allo)s the spacemanagement to be done locally )ithin the tablespace, unlike de&ault dictionarymanaged. tablespaces that )rite to the system tablespace &or every e3tent change %helist o& hot tables &or Siebel is available in Appendi3 2
<$$( Proerly Locating 0ata on the 0is- for ,est Performance
%o achieve the incredible capacity on current disk drives, disk manu&acturers haveimplemented 'one bit recording %his means that the outer edge o& the disk drive hasmore available storage area than the inside edge o& the disk drive= that is, the number o§ors per track decreases as you move to)ard the center o& the disk Disk drivemanu&actures take advantage o& this situation by recording more data on the outeredges Since the disk drive rotates at a constant speed, the outer tracks have &astertrans&er rates than the inner tracks 6or e3ample, a Seagate ?$ Cbyte 8heetah < drive hasa data trans&er speed range o& @1 M2ytes>sec on the inner tracks to $ Mbytes>sec onthe outer tracks -- a @# improvement in trans&er speed
6or benchmarking purposes, it is desirable to4< lace active large block trans&ers on the outer edges o& the disk to minimi'e data
trans&er time
" lace active random small block trans&ers on the outer edges o& the disk drive onlyi& active large block trans&ers are not in the benchmark
=. lace inactive random small block trans&ers on the inner sections o& disk drive tominimi'e the impact o& the data trans&er speed discrepancies
6urther, i& the benchmark only deals )ith small block I>(s, like S8 2enchmark-<Z" benchmarking, the priority is to put the most active L9Fs on the outer edge and the lessactive L9Fs on the inner edge o& the disk drive
1 %he 8heetah <@ K2 :M disk drive datasheet can be &ound at )))seagatecom2 6urther in&ormation about S8 2enchmark-< %M can be &ound at )))Storageer&ormanceorg
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 4
6igure 1$" sho)s a 'one bit recording e3ample )ith &ive 'ones %he outer edge holdsthe most data and has the &astest trans&er rate
<$$+ 0is- Layout and )racle 0ata Partitioning
An I>( subsystem )ith less contention and high throughput is key &or obtaining highper&ormance )ith (racle A&ter analy'ing the Siebel )orkload an appropriate design )asmade
%he I>( subsystem consisted o& Sun StorEdge SE$?"# connected to the E"G##database server via &iber channel %he SE$?"# has " base N " e3pansion arrays driventhrough t)o controllers Each tray consists o& <B3?$Cbyte disks at <@,### :M %hatmeans there are @$ total disks providing over " %bytes o& total storage Each tray has a
cache o& <Cbyte All o& the trays )ere &ormatted in the :AID # mode and t)o L9Fs pertray )ere created Eight striped volumes o& ?## Cbytes each )ere carved Each volume)as striped across seven physical disks )ith stripe si'es o& $BK2 Eight &ilesystems u&s.)ere built on top o& these striped volumes4 TCdis2@, TCdis23, TCdis27, TCdis2C,TCdis2B, TCdis25, TCdis2E, TCdis2A
%he &ollo)ing e3ample sho)s the tuning done at the disk array level lease note thatcache writebehind )as turned o&& and dis2 scrubber )as turned o&&
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 41
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
Since (racle )rites every transaction to its redo log &iles, these &iles typically )ill havehigher I>( activity compared to other (racle data &iles Also the )rites to (racle redolog &iles are se+uential %he (racle redo log &iles )ere situated on a dedicated trayusing a dedicated controller Additionally the L9F containing the redo log &iles )asplaced on the outer edge o& the physical disks see 6igure ?4 [one 2it :ecording.
%he &irst &ile system created using a L9F occupies the outer edge o& the physical disks(nce the outer edge reaches capacity, the inner sectors are used %his can be used inper&ormance tuning to place highly-used data on outer edges and rarely used data on theinner edge o& a disk
%he data tablespaces, inde3 tablespaces, rollback segments, temporary tablespaces,and system tablespaces, )ere built using BCbyte data&iles spread across the remainingt)o trays %his ensured that there )ould be no disk hotspotting %he spread made &ore&&ective usage o& the t)o controllers available )ith this setup (ne controller )ith its
<Cyte cache &or the redo log &iles and the other controller>cache &or non-redo data&iles belonging to (racle
%he "@B1 data and <",?G< inde3 ob/ects o& the Siebel schema )ere individually si'ed%heir current space usage and e3pected gro)th during the test )ere accuratelymeasured using the dbms"space procedure %hree data tablespaces )ere created usingthe locally managed bitmapped. &eature in (racle Similarly, three inde3 tablespaces)ere also created %he e3tent si'es o& these tablespace )ere 9;)G+M %his ensuresthat &ragmentation does not occur during the numerous deletes, updates, and inserts%he tables and inde3es )ere distributed evenly across these tablespaces based on theirsi'e= their e3tents )ere pre-created so that no allocation o& e3tents takes place during the
benchmark tests
0ata Partitioning er )racle Tablesace
(/S All rollback segment ob/ects!T"B@3111K 8ontained all o& the large Siebel tables);!S"B@311K %ablespace &or the inde3es on large tables);!S"B@31K %ablespace &or the inde3es on medium tables
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 42
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
!T"B@311K %ablespace to hold the medium Siebel tables);!S"B@3K %ablespace &or all the inde3es on small tables!T"B@31K %ablespace &or the small Siebel tablesT:M# (racle temporary segmentsT4 (racle per&ormance measurement ob/ects
!T"B@3K %ablespace &or Siebel small tablesS\S%EM (racle system tablespace
*ith the preceding setup o& (racle using the hard)are level stripping, and placing (racleob/ects in di&&erent tablespaces, an optimal setup )as reached )ith no I>( )aits noticedand no single disk being more than "# occupied during the tests ;eritas )as not usedas this setup provided the re+uired I>( throughput
6ollo)ing is the )ostat output4 t)o snapshots at &ive-second intervals, taken duringsteady state o& the test on the database server %here are minimal reads Or'sP, andwrites are balanced across all volumes *ith the e3ception o& cEt@d1, this is thededicated %BN array &or (racle redologs It is +uite normal to see high writes'sec onredologs, this /ust indicates that transactions are getting done rapidly in the database%he reads'sec is abnormal %his volume is at "1 busy, )hich is considered borderlinehigh 6ortunately, service times are very lo)
Available as a standard &eature since Solaris G (S, Multiple age Si'e Support MSS.allo)s a program to use any hard)are-supported page si'es to access portions o& virtualmemory MSS improves virtual memory per&ormance by allo)ing applications to uselarge page si'es, there&ore improving resource e&&iciency and reducing overhead, and
accomplishes this )ithout recompiling or recoding applications
Enable MSS Multiple age Si'e Support. &or (racle Server and shado) processes onSolaris G (S or later versions to reduce the T* miss% rate It is recommended to usethe largest available page si'e i& the T* miss% is high
6nabling MPSS for )racle Processes
< Enable the kernel cage i& the machine is not an E<#K or 6<@K, and reboot thesystem Kernel cage an be enabled by the &ollo)ing setting in 'etc'sstem4
set 2ernel"cage"enable&@
*hy do )e need the kernel cage5 %o address a problem )ith memory&ragmentation Immediately a&ter a system boot, a si'eable pool o& large pages areavailable and the applications can get all o& their mmapOP memory allocated &romlarge pages %his can be veri&ied using pmap -s <pid> I& the machine hasbeen in use &or a )hile, the application may not get the desirable large pages untilthe machine is rebooted %his is mainly due to the &ragmentation o& physicalmemory
*e can vastly minimi'e the &ragmentation by enabling the kernel cage *ith thekernel cage enabled, the kernel )ill be allocated &rom a small contiguous range o&
memory, minimi'ing the &ragmentation o& other pages )ithin the system
" 6ind out all possible hard)are address translation 7A%. si'es supported by thesystem )ith pagesi0e -a
$ pagesi0e -aA@D35BB75B3C3AAC@DC71C
? :un trapstat -T %he value sho)n in the ttl ro) and %time column is thepercentage o& time the processors. spent in virtual-to-physical memory address
translations Depending on %time, make a )ise choice o& a pagesi'e that )ill helpreduce reducing the iT*'dT* miss rate
B 8reate a simple config &ile &or MSS as &ollo)s4oracle(<desirable heap si0e>(<desirable stac2 si0e>
Desirable heap and stac2 si'e must be one o& the supported 7A% si'es 2yde&ault, Kbytes is the page si'e &or heap and stac2 on all Solaris releases
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 4'
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
@ Set the environment variables M#44=GJG): and M#44:++G): M#44=GJG):should point to the config &ile that )as created in Step ? MSS )rites any errorsduring runtime to &ile
$ reload MSS interposing library mpssso<, and bring up (racle server It isrecommended to put the MSS86C6ILE, MSSE::6ILE, and LD:EL(ADenvironment variables in the (racle startup script
*ith all the env variables mentioned above, a typical startup script may look likethe &ollo)ing4
s/lplus 'nolog <<Yconnect ' as ssdbastartup pfile&'tmp'oracle'admin'oramst'pfile'initoramst.oraY
$ cat 'tmp'mpsscfgoracle(CM(5CK
1 Co back to Step ? again and measure the di&&erence in %time :epeat Steps Bthrough 1 until there is some noticeable per&ormance improvement
Suggested #eadingSee the mpss.so.@ man pageu!!orting +ulti!le ,age izes in t"e olaris O!eratingyste *hite aper. at http4>>)))solarisinternalscom>si>reading><1-@G<1pd&
<$$2 'ot Table Tuning and 0ata rowth
During the &our-hour test o& <#,### usersJ (L% and server component )orkload, thedata in the database gre) by "B Cytes In total, "@$ tables and inde3es had ne) datainserted into them %he &ollo)ing table lists the top "# tables and inde3es, based ongro)th in si'e 6or the complete list o& tables and inde3es that gre), please see
Appendi3 2
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 4+
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
7ere are the key (racle init.ora tunables that )ere tuned
db"cache"si0e&71CABE5111
%he preceding parameter determines the si'e &or (racle0s SCA Shared Clobal Area.Database per&ormance is highly dependent on available memory In general, morememory increases caching, )hich reduces physical I>( to the disks (racle0s SCA is amemory region in the application that caches database tables and other data &orprocessing *ith ?"-bit (racle so&t)are on a $B-bit Solaris (S the SCA is limited to BCbytes
(racle comes in t)o basic architectures4 $B-bit and ?"-bit %he number o& address bitsdetermines the ma3imum si'e o& the virtual address space
73-bits & 373 & C J* maimum
5C-bits & 35C & @5EEE3@5 T* maimum
6or the Siebel <#,### concurrent usersJ S )orkload, the BCbyte SCA )as su&&icient As a result, the ?"-bit (racle server version )as used
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page 4,
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
%he de&ault value o& db"bloc2"ma"dirt"target )as changed &rom B"GBG$1"GB to# Setting this value to # disables )riting o& bu&&ers &or incremental checkpointingpurposes %his stops de&erred checkpointing and achieves 89 and bus improvements%he de&ault value &or db"writer"processes is < 8hanging db"writer"processesto B starts up &our dbwr processes %hese three parameter changes drastically reduced)ait times in the database and thus improved Siebel overall throughput
/$&$lock&s!#e7 8 de&ault value is "K An K value &or Siebel is optimal /B&BL)&LRU&LAT9+(47 8 Secifies the upper bound o& the number o& L:9latch sets Set this parameter to a value e+ual to the desired number o& L:9 latch sets(racle decides )hether to use this value or reduce it based on a number o& internalchecks I& the parameter is not set, (racle calculates a value &or the number o& setsbased on the number o& 89s %he value calculated by (racle is usually ade+uate=increase this value only i& misses are higher than ? in N$T= 6or Siebel <#,###users run on a &our 89 machine, setting the value to B )as optimal
"!str!$ute"&transact!ons0 8 (ett!ng t:!s value to # disables the (raclebackground process called reco Siebel does not use distributed transactions, meaningthat )e can regain 89 and bus by having one less (racle background process %hede&ault value is GG re'l!cat!on&"e'en"enc;&track!ng<AL(+Siebel does not use replication so it is sa&e to turn this o&& by setting it to &alse
transact!on&au"!t!ng<AL(+ *rites less redo &or every commit It is the nature o& Siebel (L% to do many smalltransactions )ith &re+uent commits Setting transaction"auditing to &alse buysback 89 and bus
7ere is the complete listing o& the init.ora &ile used )ith all the parameters set &or<#,### Siebel users
)racle =.3.0.3 !n!t.ora file
U racle D.3.1.3 init.ora for solaris D6 running up to @1111 4iebel E.B.3 userbenchmar2.
During the course o& the test, the most resource-intensive and long-running +ueries )eretracked In general, the best )ay to tune a +uery is to change the SL statementkeeping the result set the same. %he other method is to add or drop inde3es so thee3ecution plan changes %he latter method is the only option in most benchmark tests*e added &our additional inde3es to the Siebel schema )hich helped per&ormance *ithSiebel 1@ there is no support &or 82( cost-based optimi'ation. )ith (racle database82( support is available in Siebel 11
%he &ollo)ing e3ample sho)s one o& the resource-consuming +ueries
*uffer Jets :ecutions Jets per :ec % Total ash Nalue--------------- ------------ -------------- ------- ------------ 3316C1361EE 7B65D5 [email protected] 77.3 3ED31EC3B@
%his +uery )as responsible &or ?? o& the total bu&&er gets &rom all +ueries during thebenchmark tests
6?ecuting lan and statistics before the new inde? was added:
:ecution #lan---------------------------------------------------------- 1 4::=T 4TT:M:;T ptimi0er&+9: @ 1 ;:4T:! #4 O9T:+P 3 @ ;:4T:! #4 7 3 ;:4T:! #4 C 7 T*: ==:44 O*, );!:S +?)!P G Z4"#+)"4T"*9Z B C );!:S O+;J: 4=;P G Z4"#+)"4T"*9"M@Z O;;-9;)9:P 5 7 T*: ==:44 O*, );!:S +?)!P G Z4"#+)"4TZ E 5 );!:S O9;)9: 4=;P G Z4"#+)"4T"#@Z O9;)9:P A 3 );!:S O9;)9: 4=;P G Z4"#+T,"#@Z O9;)9:P D @ T*: ==:44 O*, );!:S +?)!P G Z4"#,M:;T"T:+MZ @1 D );!:S O9;)9: 4=;P G Z4"#,M:;T"T:+M"#@Z O9;)9:P
4tatistics---------------------------------------------------------- 75C recursive calls @ db bloc2 gets C@EBB consistent gets 1 phsical reads 1 redo si0e EBCBB1 btes sent via 4;et to client 3EA@E btes received via 4;et from client 7C@ 4;et roundtrips to'from client C sorts OmemorP 1 sorts Odis2P B1D7 rows processed
Ne> In"ex create" create inde 4"#+)"4T"S3 on 4"#+)"4TO=9+=,"=!6 :GG":;!"!T6 :GG"4T+T"!TP4T+J:O);)T) B@3K ;:ST B@3KM);:ST:;T4 @ MS:ST:;T4 9;)M)T:! #=T);=+:4: 1 G+::)4T4 E G+::)4TJ+9#4 E *9GG:+"# !:G9TP T*:4#=: );!S ;JJ);J #+: C W
As sho)n &rom the di&&erence in statistics, the ne) inde3 caused consistent reads toreduce by about <##
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page '1
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
:ecution #lan---------------------------------------------------------- 1 4::=T 4TT:M:;T ptimi0er&+9: @ 1 4+T O+!:+ *,P 3 @ ;:4T:! #4 7 3 ;:4T:! #4 C 7 ;:4T:! #4 O9T:+P B C T*: ==:44 O*, );!:S +?)!P G Z4"#+)"4TZ 5 B );!:S O+;J: 4=;P G Z4"#+)"4T"S3Z O;;-9;)9: E C T*: ==:44 O*, );!:S +?)!P G Z4"#,M:;T"T:+MZ A E );!:S O9;)9: 4=;P G Z4"#,M:;T"T:+M"#@Z O9;)9:P D 7 T*: ==:44 O*, );!:S +?)!P G Z4"#+)"4T"*9Z @1 D );!:S O+;J: 4=;P G Z4"#+)"4T"*9"9@Z O9;)9:P @@ 3 );!:S O9;)9: 4=;P G Z4"#+T,"#@Z O9;)9:P
4tatistics---------------------------------------------------------- 1 recursive calls 1 db bloc2 gets 3E5DA consistent gets 1 phsical reads 1 redo si0e EBCBB1 btes sent via 4;et to client 3EA@E btes received via 4;et from client 7C@ 4;et roundtrips to'from client @ sorts OmemorP 1 sorts Odis2P
B1D7 rows processed
Similarly, the three other ne) inde3es added )ere4
• create inde 4"=TJ"=T"#+!"G@ on +#:+G.4"=TJ"=T"#+! O=TJ"=T")! 4=P #=TG+:: @1);)T+;4 3MST+;4 3BB 4T+J: O);)T) B@31K ;:ST B@31K M);:ST:;T4 3 MS:ST:;T4 9;)M)T:!#=T);=+:4: 1 G+::)4T4 CE G+::)4T J+9#4 CE *9GG:+"# !:G9TP T*:4#=:);!S"B@31K ;JJ);JW
• create inde 4"#+J"!:G;"S@ on +#:+G.4"#+J"!:G; O;M:6 +:#4)T+,")!P4T+J:O);)T) B@3K ;:ST B@3KM);:ST:;T4 @ MS:ST:;T4 9;)M)T:! #=T);=+:4: 1*9GG:+"# !:G9TP T*:4#=: );!S"B@3K ;JJ);JW
• create inde 4":4="*Q:=T"S@ on +#:+G.4":4="*Q:=TO;M:6 +:#4)T+,")!6 );=T)N:"GJP4T+J:O);)T) B@3K ;:ST B@3KM);:ST:;T4 @ MS:ST:;T4 9;)M)T:! #=T);=+:4: 1*9GG:+"# !:G9TP T*:4#=: );!S"B@3K ;JJ);J=
%he last t)o inde3es are &or assignment manager tests Fo inserts occurred on the basetables during these tests
<$$D #ollbac- Segment Tuning
Incorrect number and si'e o& rollback segments )ill cause bad per&ormance %he rightnumber and si'e o& rollback segments depends on the application )orkload Most (L%)orkloads re+uire several small-si'ed rollback segments %he number o& rollbacksegments should be e+ual or more than the number o& concurrent active transactions in
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page '2
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
the database during peak load In the Siebel tests this )as about # during a <#,### usertest
%he si'e o& each rollback segment should be appro3imately e+ual to the si'e in bytes o& auser transaction 6or the Siebel )orkload <## rollback segments o& "#Mbytes )ith e3tentsi'e o& <Mbyte )as &ound suitable Fote4 I& the rollback segment si'ing is larger thanre+uired by the application, one )ould end up )asting valuable space in the databasecache
%he ne) &eature &rom oracle 9;! 4egments, )hich can be used instead o& :ollbackSegments, )as not tested during this pro/ect )ith Siebel application
It has been observed that high-end Siebel test runs using (racle as the backend haveper&ormed better )hen client-to-(racle server connectivity is done via the hostnamesadapter &eature %his is an (racle &eature that allo)s &or an alternate method o&connecting to the (racle database server )ithout using the tnsnames.ora &ile
Set the J*"!*;M: to something other than the racle"4)! in theistener.ora &ile on the database server as sho)n belo) 2ounce the (racle listenera&ter making this change
(n the Siebel applications server, go into the (racle client installation and delete orrename. the tnsnames.ora and s/lnet.ora &iles \ou no longer need these as(racle no) connects to the database by resolving the name &rom the 'etc'hosts &ile
As root edit the &ile 'etc'hosts on the client machine that is, the Siebel applications
server in this case. and add an entry like the &ollo)ing4<ip.address of database server> oramst.dbserver
%he name oramst.dbserver should be )hatever you have provided as theJ*"!*;M: in the listener .ora &ile %his becomes the connect string to connect tothis database &rom any client
<$$11 'igh >/) with )racle Shadow Processes %onnected to Siebel
%he disk on )hich (racle binaries )ere installed )as close to <## occupied during the
peak load o& <### concurrent users %his problem )as diagnosed to be the )ell-kno)noraus.msb problem (n (racle clients that make use o& (8I (racle 8all Inter&ace., the(8I driver makes thousands o& calls to translate messages &rom the oraus.msb &ile%his problem has been documented by (racle under bug ID "<B"$"?
%he Sun )orkaround &or this problem is to cache the oraus.msb &ile in memory andtranslate the &ile access and system calls to user calls and memory operations %hecaching solution is dynamic, and code changes are not needed *ith Siebel this)orkaround helped in reducing the calls %he <## occupied I>( )ent a)ay and a Breduction in 89 )as observed also, the response times &or transactions got a <<boost
%his problem is supposed to have been &i3ed in (racle G"#B Details on ho) toimplement the Sun )orkaround by !"#+:! o& an interpose library are available athttp4>>developerssuncom>solaris>articles>ocicachehtml
+.+ Siebel 0atabase Conne"tion Poolin
%he database connection pooling &eature built into the Siebel server so&t)are providesbetter per&ormance A users4database connection ratio o& "#4< has been proven toprovide good results )ith Siebel1@>(racleG"#" %his reduced about ? 89 at theSiebel server, as &e)er connections )ere made &rom Siebel server to database during a"### user 8all 8enter test Siebel memory>user )as ?? lo)er and (racle memory>user)as 1G lo)er, because "# Siebel users share the same (racle connection
Siebel anonymous users do not use connection pooling I& the anonuser count is settoo high that is, higher than the recommended <# to "#. you )ould end up )asting thetasks, as MaTas2s is a number inclusive o& real users Also the anon sessions do not
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page '4
use connection pooling, so you )ould have lots o& one-to-one connections and useincreased memory and 89 on both the database server and the applications server
'ow to 6nable %onnection PoolingSet the &ollo)ing Siebel parameters at the server level via the Siebel thin client C9I or
svrmgr4 Ma4hared!b=onns integer full <number of connections to be used>Min4hared!b=onns integer full <number of connections to be used>MaTr!b=onns integer full <number of connections to be used>
%hen bounce the Siebel server 6or e3ample, i& you are set up to run <### users, thevalue &or <number of connections to be used> is <###>"#U@# Set all o& threeparameters to the same value @#. to direct Siebel to share a single database connection&or "# Siebel users or tasks
MinMT4ervers&316 Min4hared!b=onns&B16 Ma4hared!b=onns&B16MinTr!b=onns&B1 for comp esalesobFmgr"enu
'ow to %hec- if %onnection Pooling is 6nabled During the steady state, log in to dbserver and ps -eaf | grep ; | wc -l%his should return around @# &or this e3ample= i& this action returns <### then connectionpooling is not in e&&ect
+. Tnin Sn -a#a S,ste$ 0ire"tor, Ser#er (L02P)
In order to prevent connections &rom timing out, change the &ollo)ing parameter on theLDA directory server4 idletimeout & @B secs Also increase the cache entriesparameter &or LDA &rom the de&ault to "@,### %o change these parameters4
< Stop the LDA Server
" 8hange the value associated )ith cache entries in slapd.conf
? 8hange the value associated )ith idletimeout in slapd.conf to <@
B :estart the LDA Server
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page ''
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
C Performance Twea-s with o ains%his section is most important as it sheds light on various myths o& per&ormance tuningSometimes a tunable that you think is sure to result in a per&ormance gain, does not butit ends up being counted as i& it did %hese are tunables that mostly help other
applications in a di&&erent scenario or are de&ault settings already in e&&ect %his sectionlists out some o& the tuning parameters that provided no gain )hen tested
Plea(e note: The(e ob(ervation( are (pecific to the wor#loa%+ architecture+ (oftware ver(ion(+
an% (o on u(e% %uring the pro4ect at S- 6T, lab(. The wor#loa% i( %e(cribe% in ,hapter &.
The outcome of certain tuneable( may vary when implemente% with a %ifferent wor#loa% on
a %ifferent architecture/configuration.
%hanging the ma!n>!n address M?&*MA&-A//R0xc00000008hanging this to other values did not seem to make a big di&&erence to per&ormance %hisvalue is set in the siebenv &ile
Solaris =ernel Parameter stks!#e%he de&ault value &or this is <$k, or #3B### on SunB9 9ltra. architecture machinesbooted in $B bit mode )hich is al)ays the de&ault. Increasing this to "Bk, #3$### by thebelo) settings in 'etc'sstem &ile did not provide any gains in per&ormance during thetests
set rpcmod(svc"default"st2si0e&15111set lwp"default"st2si0e&15111
Siebel Ser*er Parameters< #ecycle 8actor$ Enabling this did not provide any per&ormance gains De&ault is
disabled" S>SSP6#S>SS%)77$ %his is the parameter that changes the multiple3ing ratio
bet)een Siebel server and )eb server= its de&ault value is "# ;arying this valuedid not result in any per&ormance gains &or the speci&ic modules tested in thispro/ect )ith the S standard )orkload de&ined in 8hapter B.
#esonate: %ache size -- +:4"#:+4)4T"*=K"4):%his is an environment variable )hich is set inside the resonate startup script %his)as changed to as high as "B#Kbytes and there )as no di&&erence in behavior
Sun Fa*a System .eb Ser*er max'rocs%his parameter, )hen changed &rom the de&ault o& <, starts up more than one ns-httpd)eb server process. Fo gain )as measured )ith a value greater than < It )as better touse a ne) )eb server instance
0atabase %onnection Pooling with Siebel Ser*er %omonentsEnabling this &or the server component batch )orkload caused per&ormance to degradesuch that server processes could not start Some o& the server component modulesconnect to the database using (D28, )hich does not support connection pooling
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page '+
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
)racle 0atabase Ser*er < Larger than re@uired s:are"'ools!#e$ 6or a <#,### Siebel user benchmark, a
value o& B##Mbytes )as more than su&&icient %oo large a value &orsharedpoolsi0e )astes valuable database cache memory
" Large SA$ A larger than re+uired SCA si'e is not going to improve per&ormance,
)hereas too small an SCA si'e )ill degrade per&ormance? Large #,S$ 2eing larger than re+uired by an application )ould )aste space in thedatabase cache It is better to make the application commit more o&ten
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page ',
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
+un 4tates are +unning, nline, 4hutting !own, 4hutdown, and 9navailable+un Tas2s should be evenly distributed across servers and close to MaTas2s.
.4 To 6ind Ot the $ber of 2"ti#e Ser#ers for a Co$%onent
9se the &ollo)ing server command to &ind out the number o& active M%S Servers &or acomponent4
srvrmgr> list comp component for server servername show 4N";M:6 ==")46=#"=TN"MT4"#+=46 =#"MS"MT4"#+=4
%he number o& active M%S servers should be close to the number o& Ma3 M%S ser%ers.
.& To 6ind Ot the Tas7s for a Co$%onent
9se the &ollo)ing server command to &ind the tasks &or a component4
srvrmgr> list tas2 for comp component server servername order b TK"T4K)!
(rdering by task id places the most recently started task at the bottom It is a good signi& the most recently started tasks that is, those started in the past &e) seconds orminutes. are still running (ther)ise, &urther investigation is re+uired
./ To Set 0etailed Tra"e Le#els on the Siebel Ser#er Co$%onents(Siebel O5)
Log in to svrmgr and e3ecute the &ollo)ing commands4=hange evtloglvl tas2counters&C for comp sccobFmgrchange evtloglvl tas2counters&C for comp eserviceobFmgr
change evtloglvl tas2events&7 for comp sccobFmgrchange evtloglvl tas2events&7 for comp eserviceobFmgr
change evtloglvl mtwaring&3 for comp sccobFmgrchange evtloglvl mtwaring&3 for comp eserviceobFmgrchange evtloglvl set mt)nfraTrace & True
.+ To 6ind Ot the $ber of 8UEST Loins for a Co$%onent
9se the &ollo)ing server command to &ind out the number o& C9ES% login &or acomponent4
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page '
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
exec s!e$mts:m> CDtruss El Eo 5tm'5CC.s!e$mts:m>.trc s!e$mts:m> CD
2. A&ter you start up the server, this )rapper creates the truss output in a &ile named pid .siebmtshmw.trc in 'tmp.
.14 How to Tra"e the S>L State$ents for a Parti"lar SiebelTransa"tion
I& response times are high, or i& you think that the database is a bottleneck, you cancheck ho) long the SL +ueries are taking to e3ecute by running a SL trace on aoad+unner script %he SL trace is run through Siebel and tracks all o& the databaseactivity and ho) long things take to e3ecute I& e3ecution times are too high, there is aproblem )ith the database con&iguration, )hich most likely is contributing to highresponse times %o run a SL %race on a particular script, &ollo) these instructions4
< 8on&igure the Siebel environment to the de&ault settings that is, the componentshould have only one (M, and so on.
" (pen the oad+unner script in +uestion in the ;irtual 9ser Cenerator? lace a breakpoint at the end o& ction @ and be&ore ction 3 %his )ill stop
the user at the breakpointB :un a user
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page +4
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
@ (nce the user has stopped at the breakpoint, enable SL tracing via srvrmgr4
change evtloglvl bFMgr4/log&C for comp <component>
$ ress #la, )hich )ill resume the user1 *ait until the user has &inished 9nder the $4):*:"4:+N:+"M:'enterprises'<enterprise>'<server>
directory, there )ill be a log &or the component that is running %his log containsdetailed in&ormation on the database activity, including ho) long the SL +ueriestook to e3ecute Search &or high e3ecution times greater than ##< seconds.
G (nce you are done, disable SL tracing via srvrmgr4
change evtloglvl bFMgr4/log&1 for comp <component>
.1& Chanin 0atabase Conne"t Strin vi $ODBCINI and Editin the
field .ServerName.@. srvrmgr 'g siebgatewa 'e siebel 'u sadmin 'p sadmin 's <server
name>" At srvrmgr prompt4 ;eri&y and change the value o& !4=onnect4tring
parameter4i List params &or named subsystems serverdatasrcii 8hange param !4=onnect4tring&<new value> &or named subsystemsserverdatasrc.
.1/ Enablin?0isablin Siebel Co$%onents
0isabling a %omonent
< 2ring up srvrmgr console4srvrmgr 'g siebgatewa 'e siebel 'u sadmin 'p sadmin 's <servername>
" Disable the component4disable comp <component name>
? List the components and veri&y their status4list components
6nabling a %omonentDisabling a component may disable the component de&inition *e may need toenable the component de&inition
< 2ring up srvrmgr console at enterprise level /ust do not use 's s)itch.3. srvrmgr 'g siebgatewa 'e siebel 'u sadmin 'p sadmin? Enable the component de&inition4enable compdef <component name>Fote4 %his enables the component de&inition at all active servers= you may need todisable the component at servers )here you donJt need the component.
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page +'
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
B 2ring up srvrmgr console at server level4srvrmgr 'g siebgatewa 'e siebel 'u sadmin 'p sadmin 's <servername>@ Enable the component de&inition at server level4enable compdef <component name>$ 2ounce gate)ay and all active servers
Fote4 Sometimes the component may not be enabled even a&ter &ollo)ing these steps Insuch cases you may need to enable the component group at enterprise level be&oreenabling the actual component4enable compgrp <component group name>
er!ormnce -uning Sie*el So!twre on the Sun lt!orm Page ++
8/11/2019 Performance Tuning Siebel Software on the Sun™ Platform
13 Aendi? A: Transaction #esonse Times%hese are the di&&erent transactions e3ecuted by the (L% )orkload o& <#,### Siebelusers %he collection here is an average o& all <#,### users in steady state o& < hour,
e3ecuting multiple iterations )ith ?# second average think time bet)een eachtransaction %he average o& all o& the average transactions )as #<$1 seconds
1( Aendi? %: )racle stats'ack #eort%his is one o& the (racle statspac2 reports collected during the one-hour steady stateo& the test %his report provides an e&&icient )ay to identi&y )here the time is spent insidethe (racle database during the Siebel tests
log file parallel write BB16@1@ B@B 7.3@ -------------------------------------------------------------?ait :vents for !*( +M4T )nstance( oramst 4naps( E -A-> s - second-> cs - centisecond - @11th of a second-> ms - millisecond - @111th of a second-> us - microsecond - @111111th of a second-> ordered b wait time desc6 waits desc Oidle events lastP
Ac-nowledgements%hanks to Siebel SystemsJ Mark 6arrier, 6rancisco 8asas, 6arina' 6arsai, ;ikram Kumar,Santosh 7asani, San/ay Agar)al, 7arsha Cadagkar, and others &rom Siebel Systems &or)orking )ith Sun %hanks to Scott Anderson, Ceorge Drapeau, and Lester Dorman &ortheir role as management and sponsors &rom Sun %hanks to Diane Kituara, Sherill Ellis,and Ceorge Drapeau &or their valuable &eedback on content &or this paper %hanks to SunMDE %eam Kesari Mandyam, Ciri Mandalika, and Devika Collapudi &or theircontributions %hanks to the various engineers across Sun Microsystems &or providingsub/ect matter e3pertise4 :avindra %alashikar AE., Stephen !ohnson Fet)orkStorage., and Dileep Kumar Sun !ava System *eb Server.
About the Author Khader Mohiuddin )orks as a Sta&& Engineer in the Market Development Engineeringorgani'ation at Sun Microsystems, Inc 7is role as the engineering lead &or the Sun-Siebel Alliance involves optimi'ing Siebel 8:M applications on the Sun plat&orm, /ointtechnology adoption pro/ects, and so on 7e has been at Sun &or &our years empo)eringIS;s to adopt Sun0s latest technologies rior to that he )orked at (racle as a developer
and Senior er&ormance Engineer &or &ive years, and at A%]% 2ell Labs, Fe) !ersey, &orthree years
About Sun Microsystems4 >nc$Since its inception in <G", a singular vision ^ X%he Fet)ork Is %he 8omputerZY ^ haspropelled Sun Microsystems, Inc Fasda+4 S9F*. to its position as a leading provider o&industrial-strength hard)are, so&t)are, and services that make the Fet )ork Sun can be&ound in more than <1# countries and on the *orld *ide *eb at http4>>suncom>