Published on

Khader Mohiuddin's presentation at IOUG COLLABORATE 2007 at Mandalay Bay, Las Vegas, Nevada

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Optimizing Oracle-Siebel Applications for the Sun™ Solaris 10 UltraSPARC T1 Platform <ul><ul><li>Khader Mohiuddin </li></ul></ul><ul><ul><li>Technical Product Manager </li></ul></ul><ul><ul><li>Oracle-Sun Alliance </li></ul></ul><ul><ul><li>Sun Microsystems Inc., </li></ul></ul>
  2. 2. Agenda <ul><li>Sun-Oracle Alliance </li></ul><ul><li>Siebel Architecture Suitability for T1 </li></ul><ul><li>Oracle suitability for T1 </li></ul><ul><li>What is T1 </li></ul><ul><li>Performance benchmarks </li></ul><ul><li>Optimizations </li></ul><ul><li>Resources </li></ul><ul><li>Q&A </li></ul>
  3. 3. Sun and Oracle: Two Decades of Visionary Alignment 1980 Oracle Project Fusion apps to be Java-based Oracle selects Solaris 10 as its preferred 64-bit App Development Environment New Oracle pricing structure for multi-core based systems Sun's X64 Enterprise Systems Network File System (NFS) 1980 Sun Work Station First SPARC Server Oracle 5.0 and 5.1 for Client/Server Oracle Massively Parallel Processing (MPP) Oracle Java Development Tools Oracle Internet-Centric Business Vision; Business Components for Java Oracle 8i with JVM Oracle 9i with J2EE Oracle eBus Suite Cert. Configs on Sun Oracle 9i RAC Certified Configs 1985 1990 1995 2000 2002 2004 Solaris on x86 Oracle on AMD 64/ Solaris x86 Liberty Alliance Project Oracle 10g 2006 Sun StorageTek Sun x64 Servers Sun UltraSPARC T1 Processor and Servers Oracle reduces multi-core pricing 2005 2003
  4. 4. Today’s IT Challenges <ul><li>Provide a greater variety of services </li></ul><ul><li>Deploy reliable, high performance database solutions </li></ul><ul><li>Use fewer resources </li></ul><ul><li>Stay within constrained capital and expense budgets </li></ul>
  5. 5. Solaris10 for Siebel/Oracle <ul><li>Consolidate several servers into few Sun Fire T2000's </li></ul><ul><li>Consolidate multiple Siebel Enterprises into a single Enterprise. </li></ul><ul><li>Improve availability and scalability of the setup </li></ul><ul><li>Deployment flexibility and higher utilization – since Siebel and Oracle are certified with Solaris 10 Containers </li></ul><ul><li>UltraSPARC IV+ 1.8ghz provides the power required for backend Oracle db </li></ul>
  6. 6. Siebel Architecture best fit for Sun Fire T2000 (Niagara) <ul><li>Siebel CRM application is a multi-threaded, multi-process and multi-instance commercial application. </li></ul><ul><li>Sun's New processor UltraSPARC T1 can run upto 32 threads in parallel with improved memory capabilities </li></ul><ul><li>Siebel's highly threaded architecture scales very well, taking advantage of these characteristics of the chip . </li></ul>
  7. 7. The Sun Server Family Horizontal Scaling Vertical Scaling Diagonal Scaling Sun Fire™ Servers with UltraSPARC® Processors Sun Fire Servers with UltraSPARC or AMD Opteron™ Processors Sun Fire Servers with UltraSPARC T1 or AMD Opteron Processors
  8. 8. The Right Platform for the Right Workload High Throughput, More Multithreaded More Data More Network High Frequency, Clock Speed Sun Servers with UltraSPARC Processors Sun Servers with AMD Opteron Processors Sun Servers with UltraSPARC T1 Processors
  9. 9. Multi-Channel Optimized Architecture Siebel Repository EAI Siebel Application Server Business Logic Layer and Core Service Data Layer Services User Interface Services Siebel Teller Applications Multiple Client Device Support Local DB Siebel Mobile Applications Siebel Portal Framework Federated Data Sources Development Environment Siebel Tools SAP Oracle PSFT Legacy JD Edwards OLTP UAN Sync Siebel Business Analytics Server Data Access Services - BI Modeling & Calculation Services - BI Presentation Services - BI ETL Relationship Management / Customer Enterprise Warehouse 3 rd Party Open Integration ETL Web Server Siebel Universal Customer Master OLTP Siebel On Premise Applications Bus. Process
  10. 10. Siebel-Oracle Logical view
  11. 11. Topolo gy Diagram for 8000 Oracle - Siebel Users Loadrunner Generators SF V65x /V40z Web servers SF V240 Siebel Gateway SF V24 0 Siebel App servers SF E2900 SF V490 SF V890 Panther SF T 2000 Niagara Sun StorEdge SE 3510 SF V440 Database Servers
  12. 12. Topology Diagram for 12,500 concur rent Siebel users Loadrunner Generators SF V65x /V40z Web servers SF V240 Siebel Gateway SF V240 Siebel App servers Oracle DB server SF 890 (Panther) SF E2900 SF V490 SF E2900 SF T2000 Niagara Sun StorEdge SE 3510 SF V440
  13. 15. Siebel Performance on Sun's UltraSPARC T1 Processor
  14. 16. UltraSPARC T1 at a Glance <ul><li>Solaris presents each of the hardware strands as a processor ie 32 “cpus” </li></ul><ul><li>UltraSPARC T1 only supported on Solaris 10 </li></ul><ul><li>UltraSPARC T1 is fully Sparc v7, v8 and v9 binary compatible </li></ul><ul><li>Each cycle a different hardware strand scheduled on the pipeline in round robin order. Stalled strands are switched out and slot on the pipeline given to the next strand automatically. </li></ul><ul><li>No coherency, SMP UltraSPARC T1 not possible </li></ul>
  15. 17. Single Threading Single Threaded Performance <ul><ul><li>Thread </li></ul></ul>Memory Latency Compute <ul><ul><li>Time </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>C </li></ul></ul>Typical Processor Utilization:15–25% <ul><ul><li>M </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>M </li></ul></ul>Up to 85% Cycles Waiting for Memory HURRY UP AND WAIT!
  16. 18. The Power of CMT Single Threaded Performance Chip Multi-threaded (CMT) Performance Niagara Processor Utilization: Up to 85% <ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>Thread 1 </li></ul></ul>Memory Latency Compute <ul><ul><li>Time </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>C </li></ul></ul><ul><ul><li>M </li></ul></ul><ul><ul><li>Thread 2 </li></ul></ul><ul><ul><li>Thread 3 </li></ul></ul><ul><ul><li>Thread 4 </li></ul></ul>
  17. 19. <ul><li>Introducing Niagara </li></ul><ul><li>SPARC V9 implementation </li></ul><ul><li>Up to eight 4-way multi- threaded cores for up to 32 simultaneous threads </li></ul><ul><li>All cores connected through a 134.4GB/s crossbar switch </li></ul><ul><li>High-bandwidth 12-way associative 3MB Level-2 cache on chip </li></ul><ul><li>4 DDR2 channels (23GB/s) </li></ul><ul><li>Power : < 80W ! </li></ul><ul><li>~300M transistors </li></ul><ul><li>378 sq. mm die </li></ul><ul><ul><li>1 of 8 Cores </li></ul></ul>BUS C8 C7 C6 C5 C4 C3 C2 C1 L2$ L2$ L2$ L2$ Xbar DDR-2 SDRAM DDR-2 SDRAM DDR-2 SDRAM DDR-2 SDRAM FPU Sys I/F Buffer Switch Core
  18. 20. Siebel Server Process Tuning (Cont) <ul><li>Appearance of Siebel Server processes on Solaris 10 </li></ul><ul><li>PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP </li></ul><ul><li>1880 pspp 504M 298M cpu14 28 0 0:00.00 10% siebmtshmw/69 </li></ul><ul><li>1868 pspp 461M 125M sleep 58 0 0:00.00 2.5% siebmtshmw/61 </li></ul><ul><li>1227 pspp 687M 516M cpu3 22 0 0:00.03 1.6% siebmtshmw/62 </li></ul><ul><li>1751 pspp 630M 447M sleep 59 0 0:00.01 1.5% siebmtshmw/59 </li></ul><ul><li>1789 pspp 594M 410M sleep 38 0 0:00.02 1.4% siebmtshmw/60 </li></ul><ul><li>1246 pspp 681M 509M cpu20 38 0 0:00.03 1.2% siebmtshmw/62 </li></ul>
  19. 21. Takeaways of Application Testing <ul><li>Applications that already scale well on SMP are taking good advantage of Niagara </li></ul><ul><ul><ul><li>Oracle, Siebel, DB2, Sybase ASE, Lotus, SAP, BEA Weblogic, Reuters Kondor+, SunGaurd Xamin. </li></ul></ul></ul><ul><li>Recompilation is not needed </li></ul><ul><ul><ul><li>All our tests have used existing binaries </li></ul></ul></ul><ul><li>May need higher thread/process count to achieve same throughput than US-IV </li></ul><ul><li>Small, shared caches have not been an issue </li></ul><ul><li>Processor is doing a good job at masking memory latencies </li></ul>
  20. 22. Performance Tuning Process
  21. 23. A ‘Few’ Tune-ables <ul><li>Siebel tunables: </li></ul><ul><li>max tasks </li></ul><ul><li>min mt servers </li></ul><ul><li>max mt servers </li></ul><ul><li>mw_gma_vaddr MainWin Address Space tunable </li></ul><ul><li>anonuserpool </li></ul><ul><li>OSD_LATCH </li></ul><ul><li>OSD_NLATCH </li></ul><ul><li>sessiontimeout </li></ul><ul><li>DSrequestserver </li></ul><ul><li>flushfreq </li></ul><ul><li>Sun Java Web Server tunables: </li></ul><ul><li>rqthrottle </li></ul><ul><li>listenq </li></ul><ul><li>maxkeepaliveconnections </li></ul><ul><li>keepalivetimeout </li></ul><ul><li>connqueuesize </li></ul><ul><li>keepalivequerymeantime </li></ul><ul><li>Oracle DB tunables: </li></ul><ul><li>db_block_size=8192 </li></ul><ul><li>db_cache_size=3048576000 </li></ul><ul><li>Sun Storage tunables: </li></ul><ul><li>blocksize=64k </li></ul><ul><li>cache=auto </li></ul><ul><li>mirror=auto </li></ul><ul><li>mp_support=none </li></ul><ul><li>naca=off-rd_ahead=off </li></ul><ul><li>recon_rate=med </li></ul><ul><li>Solaris tunables : </li></ul><ul><li>set shmsys: </li></ul><ul><ul><li>shminfo_shmmax=0xffffffffffffffff </li></ul></ul><ul><ul><li>shminfo_shmseg=200 </li></ul></ul><ul><ul><li>shminfo_shmmin=100 </li></ul></ul><ul><ul><li>seminfo_semmni=4096 </li></ul></ul><ul><ul><li>seminfo_semmns=12092 </li></ul></ul><ul><ul><li>seminfo_semmnu=4096 </li></ul></ul><ul><ul><li>seminfo_semume=2500 </li></ul></ul><ul><ul><li>seminfo_semopm=100 </li></ul></ul><ul><ul><li>seminfo_semmsl=500 </li></ul></ul><ul><ul><li>seminfo_semmap=4096 </li></ul></ul><ul><ul><li>msginfo_msgmax=16384 </li></ul></ul><ul><ul><li>msginfo_msgmnb=16384 </li></ul></ul><ul><ul><li>msginfo_msgmni=2200 </li></ul></ul><ul><ul><li>msginfo_msgtql=2500 </li></ul></ul><ul><ul><li>msginfo_msgssz=64 </li></ul></ul><ul><ul><li>msginfo_msgseg=32767 </li></ul></ul><ul><li>sys memsize=256MB </li></ul><ul><li>cache memsize=1024MB </li></ul><ul><li>fc_topology=auto </li></ul><ul><li>fc_speed=2Gb </li></ul><ul><li>disk_scrubber=off </li></ul><ul><li>ondg=befit </li></ul><ul><li>* set rlim_fd_cur = 8192 </li></ul><ul><li>* set rlim_fd_max = 819 </li></ul><ul><li>set rlim_fd_cur=32768 </li></ul><ul><li>set rlim_fd_max=32768 </li></ul><ul><li>* for resonate gbic </li></ul><ul><li>set ip:dohwcksum=0 </li></ul><ul><li>cfgsharedmodeusersdir </li></ul><ul><li>siebel_filesystem </li></ul><ul><li>preloadsrf=true </li></ul><ul><li>maxshareddbconns </li></ul><ul><li>minshareddbconns </li></ul><ul><li>mintrxshareddbconns </li></ul><ul><li>maxtrxshareddbconns </li></ul><ul><li>EAI-HTTP_drivercount </li></ul><ul><li>ClientAdmin </li></ul><ul><li>FSMsrvr </li></ul><ul><li>tcp_conn_req_max_queue </li></ul><ul><li>rlim_fd_max </li></ul><ul><li>rlim_fd_cur </li></ul><ul><li>sq_max_size </li></ul><ul><li>tcp_conn_hash_size </li></ul><ul><li>db_domain=&quot;&quot; </li></ul><ul><li>db_name=oramst </li></ul>
  22. 24. Siebel Servers Tuning <ul><li>The ratio of threads or users/process is configured using the Siebel parameters: </li></ul><ul><ul><li>MinMTServers, MaxMTServers, Maxtasks </li></ul></ul><ul><li>Optimal users/OM ratios for Siebel 7.7 on Solaris 10. </li></ul><ul><ul><ul><li>FINS – 110 users/OM </li></ul></ul></ul><ul><ul><ul><li>eChannel – 100 users/OM </li></ul></ul></ul><ul><li>Caution : Setting a very high users/OM value may cause problems. </li></ul><ul><li>Improve performance by disabling mprotect() </li></ul><ul><ul><li>change param MemProtection=false for comp <component_name > </li></ul></ul>
  23. 25. Siebel Application Tuning Example: Stack Size <ul><li>Graph showing the effect of process stack size on total process size. Varies with workload carried by the process. </li></ul>3.72GB
  24. 26. Solaris Tuning Example: MTmalloc <ul><li>Effect of MTmalloc on CPU/mem use (V440, V890, E2900). </li></ul><ul><li>CPU benefit follows increase in concurrency . </li></ul>
  25. 27. Run 14% more Siebel on Solaris <ul><li>Multiple Page Size Support - A standard feature available in Solaris 9 onwards gives applications the ability to run with more than one page size on the same OS . </li></ul><ul><li>Improves application performance by reducing page faults (dtlb misses) </li></ul><ul><li>Reduce CPU utilization by 14% </li></ul><ul><li>Default pagesize is 8KB for heap and stack on Solaris, set this to 4MB </li></ul><ul><li>MPSS helps Oracle performance as well. </li></ul>
  26. 28. Tuning Siebel Database (Oracle) <ul><li>Follow the 'SAME' methodology for disk config and oracle datafiles placement. </li></ul><ul><li>Take advantage of performance features available in storage systems. </li></ul><ul><li>Separate out Indices from Data, keep objects with same extent sizes in the same tablespace – this reduces disk fragmentation. </li></ul><ul><li>Use locally managed tablespaces instead of traditional (dictionary managed). </li></ul><ul><li>Use system managed undo instead of traditional rollback segments. </li></ul>
  27. 29. Tuning Siebel Database (Oracle) <ul><li>Use Siebel connection multiplexing feature. </li></ul><ul><li>Tune long running queries and get back CPU. </li></ul><ul><li>Use CBO – supported with Oracle-Siebel applications. </li></ul><ul><li>Size SGA and tune init.ora parameters based on individual load characteristics. </li></ul>
  28. 30. Storage Tuning Example: Zone Bit Recording
  29. 31. US-IV+ provides exceptional Oracle Database Performance <ul><li>With 8000 concurrent users and batch load of EAI Http adapter the database server averaged 29% cpu utilization </li></ul><ul><li>1 x Sun Fire V890 Plus </li></ul><ul><ul><li>8 x 1.5 Ghz UltraSPARC IV+ , 32 GB RAM </li></ul></ul><ul><ul><li>Solaris 10,Oracle EE - 64bit </li></ul></ul><ul><ul><li>Sun StorEdge  FC 3510 Storage Array with 4 trays of 12 @15k rpm 73 GB disks. </li></ul></ul>
  30. 32. Performance Tuning Resources <ul><li>Sun - Whitepaper -Title : Optimizing Oracle-Siebel Applications for the Sun™ Platform, </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li>Sun-Siebel Competency Center </li></ul></ul><ul><ul><ul><li>Send sizing request to: [email_address] </li></ul></ul></ul><ul><ul><li>Contact: </li></ul></ul><ul><ul><ul><li>On Sun-Partner Website http:// </li></ul></ul></ul><ul><ul><ul><li>On Oracle Internal website </li></ul></ul></ul><ul><ul><ul><li>Sun Client Services (formerly Sun PS) </li></ul></ul></ul><ul><li>Siebel-Oracle </li></ul><ul><ul><li>Siebel Expert Services </li></ul></ul><ul><ul><li>Siebel Support Web and Documentation </li></ul></ul>
  31. 33. Oracle's Siebel benchmarks on Sun platform URL <ul><li> </li></ul><ul><ul><li>Siebel-Sun Performance Benchmark Detailed Report - 8,000 Users <> (PDF)  -  Solaris 10 and T2000,Siebel 7.7.2, Oracle 9i on V890+ </li></ul></ul><ul><ul><li>Siebel-Sun Performance Benchmark Detailed Report - 12,500 Users <> (PDF) - Solaris 10, T2000, Siebel 7.7.2, Oracle 9i on E2900 </li></ul></ul><ul><ul><li>Siebel-Sun Performance Benchmark Detailed Report - 10,000 Users <> (PDF) - Solaris 9, Siebel 7.5 </li></ul></ul>
  32. 34. Solaris Tools for Performance Tuning & Diagnosis <ul><li>DTrace ( Solaris 10 onwards)- Hotsos profiler, appworx </li></ul><ul><li>pmap </li></ul><ul><li>plimit - get size of running process </li></ul><ul><li>trapstat </li></ul><ul><li>truss </li></ul><ul><li>performance analyzer – memory leak detection </li></ul><ul><li>prstat </li></ul>
  33. 35. SPARC System Roadmap Today Rock Note: Roadmap reflects estimated system delivery dates Data Centric APL Network Centric UltraSPARC T1 Niagara 2 UltraSPARC III UltraSPARC IV UltraSPARC IV+ UltraSPARC IIIi+ UltraSPARC IIIi
  34. 36. Standard Configurations and Pricing <ul><li>6core 1.0GHz, 2GB </li></ul><ul><li>6core 1.0GHz, 8GB, 1x80GB </li></ul><ul><li>8core 1.0GHz, 8GB, 1x80GB </li></ul><ul><li>8core 1.0GHz, 16GB, 1x80GB </li></ul><ul><li>4 core 1.0GHz, 8GB, 2x73 GB - $7,795 </li></ul><ul><li>6 core 1.0GHz, 8GB, 2x73 GB - $9,895 </li></ul><ul><li>8 core 1.0GHz, 8GB, 2x73 GB -$12,395 </li></ul><ul><li>8 core 1.0GHz, 16GB, 2x73 GB -$15,995 </li></ul><ul><li>8 core 1.2GHz, 32GB, 2x73 GB -$25,995 </li></ul>Sun Fire T2000 Sun Fire T1000 <ul><ul><li>$2,995 </li></ul></ul><ul><ul><li>$4,995 </li></ul></ul><ul><ul><li>$6,,995 </li></ul></ul><ul><ul><li>$10,995 </li></ul></ul>
  35. 37. Q &A
  36. 38. Backup slides <ul><li>To be used time permitting, based on Questions from audience </li></ul>
  37. 39. Sun Oracle 10g Grid Reference Architecture <ul><li>A high performance, highly available database infrastructure in a cost-effective grid environment </li></ul>Management Server Database Servers Storage Application Servers Terminal Console
  38. 40. Components from Sun and Oracle <ul><li>Sun servers </li></ul><ul><li>Solaris™ 10 Operating System </li></ul><ul><li>Sun StorageTek™ 3510 Fibre Channel Array </li></ul><ul><li>Oracle Real Application Clusters 10g </li></ul><ul><li>Sun Cluster Advanced Edition for Oracle RAC </li></ul><ul><li>InfiniBand switching technology </li></ul><ul><li>Management software </li></ul>
  39. 41. <ul><li>Scale from blades, to low cost servers, to large-way, massively scalable SMP systems </li></ul><ul><li>Multiple design points address specific application needs </li></ul><ul><li>Support industrial strength computing workloads </li></ul><ul><li>Provide a balance of: </li></ul><ul><ul><li>Performance </li></ul></ul><ul><ul><li>Scalability </li></ul></ul><ul><ul><li>Reliability </li></ul></ul><ul><ul><li>Cost </li></ul></ul><ul><ul><li>Power consumption </li></ul></ul>Sun Fire Servers with UltraSPARC Technology
  40. 42. Sun Fire Servers with CoolThreads™ Technology <ul><li>Designed for Web, application tier, and multithreaded workloads </li></ul><ul><li>Utilize an innovative design </li></ul><ul><li>Deliver breakthrough performance </li></ul><ul><li>Provide massive thread-level parallelism </li></ul><ul><li>Increase application throughput </li></ul><ul><li>Offer dramatic space and power efficiency </li></ul>
  41. 43. Sun Fire x64 Servers <ul><li>Scale from very low cost single rackmount servers to integrated solutions </li></ul><ul><li>Feature up to 16 single- or dual-core Next-Generation AMD Opteron processors </li></ul><ul><li>Bring extreme performance and a new level of energy efficiency to the x86 market </li></ul><ul><li>Support the Solaris OS, Linux, Windows, VMware </li></ul>
  42. 44. Solaris 10 Operating System <ul><li>Offers over 600 exciting new features </li></ul><ul><li>Supports horizontal or vertical scaling </li></ul><ul><li>Provides relentless availability </li></ul><ul><li>Delivers extreme performance </li></ul><ul><li>Provides unparalleled security </li></ul><ul><li>Offers interoperability with Linux, Windows </li></ul><ul><li>Facilitates leveraging of low cost hardware </li></ul><ul><li>Enables standardization on a single OS </li></ul>