Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1
Presentation Overview Project Objectives Motivation -Why performance & Scalability -How database vendor fudge benchmark results Methodology -Approach to the research -Tools used Analysis and Results -Oracle9i and SQL Server technical comparison Conclusion 2
Project Objectives To compare performance and scalability capabilities offered by two RDBMS : Oracle9i and SQL server 2000. -through using standard benchmarks (TPC-C) C) embedded on third part software, load and stress testing. - And use a technical comparison (Oracle 9i Vs SQL server architecture) to explain the results. 3
Motivation Reasons why performance and Scalability!! How fast a server can respond to client requests determine how much work can be done per unit time. Scalability determines how many clients can concurrently access a database and simultaneously do meaningful work. Therefore is a function of performance 4
Motivation (Cont ) How database vendor fudge benchmark results? Buffering up data rows in RAM -preloading the data into the RAM buffers Storing SQL execution plans in RAM -pre-parsing parsing and pre-computing the execution plans for the SQL Pre-joining tables -use special pre-aggregation mechanisms to pre-join tables Using high-speed CPUs and clusters -using special high-speed machines and cluster architectures 5
Methodology Scenario selection and Scripting Functional test (Baseline) Performance tests -load testing -Stress testing Analysis of results DBMS technical comparison 6
Scenario selection and Script Possible user paths development - A user login to a database and Search for a record or set of records - Updating a database (Add/delete a record from a table ) Test Case (Example) - Number of users: : 1000 users -Test duration: : 2 hours -Think time: : Random think time between 1 and 10 seconds in the test script after each operation 7
Workload model (Percentages of total workload mix) User Profile % Simultaneous Users % Concurrent Users % Total test mix / of the Total load Search DB 30 20 50 Add a Record 20 10 30 Delete a record 15 5 20 8
Functional test (Baseline) Baseline (Functional Tests) : A A Baseline is a set of measurements that tell you how a server behave under normal conditions Kevin Kline. Quest.com Objectives These test tell you about the performance of a server under normal conditions Help you to document and understand as many as possible background processes. Input to system configuration before tests Tools To use System Monitor and Spotlight 9
Performance tests Load testing: performed to analyse how the server performs under different kinds of load levels and conditions Measurable quantities : -Response times (transactions/sec) -Throughput rates -Resource utilization :-CPU: Usage (%% Processor Time) -Virtual Memory (Utilization (UtilizationAvailable Mbytes) -Disk I/O (Avg. Disk sec/transfer) -Network latency (Bytes Received/sec) Tools To be use: -System Monitor -Quest Central -Data and Virtual User generators (Benchmark Factory) -SQL Tuning tools -Performance Monitoring toolkit Query Analyzer/Profiler/STATSPACK 10
Performance tests Stress testing : performed to determine how a server will behave under extreme load, beyond the servers capacity. Identifies system s s breaking point. -Will be implemented by Load generators (the concept of simultaneous and concurrent users will be integral) Issues to track -Synchronization issues -Race conditions -Memory leaks -Loss of data -"server busy" errors. 11
Analysis and Results Results for analysis will be in different forms : Tables Graphs comparing Oracle9i and SQL server 2000 in the following ways : -throughput Vs user load -response time Vs user load -resource utilisation Vs load Thesis write-up 12
Testing Environment Load Simulation Thousands of virtual users perform real-life transactions on the DBMS to simulate real production traffic. Tools Used: Benchmark Factory Oracle9i SQL server Spotlight/System Monitor Data Collection System and third part monitors capture performance data across all tiers, the network and display information on the Controller. Tools Used: Spotlight, System monitor SQL Server and Profiler / Statspack Controller/Client Machine The controller is the central console from which the experiment is managed and monitored. Tools Used: Quest Central software Requests per second 700 400 200 Throughput Vs load 0 0 200 400 1000 Number of Users Oracle9i MS SQL Server 2000 Results Results are plotted, analyzed & compared. Tools Used: Spotlight, System monitor, Spotlight and Ms Access
Oracle9i & SQL Server technical comparison The concurrency model Indexing capabilities Partitioning capabilities Parallel execution and clustering design of the DBMS. 14
Time Line Test the Dummy database, Benchmark Factory and Quest Central software. Test the system and do all required system configurations 3 rd term (first 2 weeks) Run performance tests 3 rd term (2 weeks) Test results analysis and presentation Write-up 3 rd term (2 weeks) 4 th term 15
Conclusion At the completion of performance tests a conclusively write-up comparing the two DBMS with respect to performance and Scalability excluding matters of integrity, security will be produced. A technical comparison of Oracle9i and SQL Server 2000 will be used to explain the results 16
Extensions to the Project Apply knowledge gained from this search to open source databases. Perform the same experiment but on a different Operating System e.g. Linux 17
Questions! Thank You 18