BigAdmin System Administration Portal
Community-Submitted Article
Print-friendly VersionPrint-friendly Version
This content is submitted by a BigAdmin user. It has not been reviewed for technical accuracy by Sun Microsystems, though it may have been lightly edited to improve readability. If you find an error or would like to comment on the article, please contact the submitter or use the comment field at the bottom of the article. Community submissions may not follow Sun trademark guidelines. For information on Sun trademarks, please see http://www.sun.com/suntrademarks/.
 
 

Real-World Tests of Sun Fire V480 and T2000 Servers Running Oracle 10g RAC Database

Bipul Kumar and Tomas Ramanauskas, July 2007


Introduction

This article provides information on performance tests that compared the Sun Fire V480 server to the Sun Fire T2000 server in an environment that runs an Oracle 10g Real Application Clusters (RAC) database to store and serve the data required to run a corporate web site.

Contents

This article covers the following topics:


Overview of Database Infrastructure

BioMed Central is an open-access publisher of biomedical journals and publishes more than 170 journals and several other web-based products for the biomedical community. We use the Oracle 10g RAC database to store and serve the data required to run the web sites. The Oracle 10g RAC database running on Sun servers serves more than half a million transactions, nearly 40 million executions, several million page views, and more than 70 gigabytes of data every day.

Our database infrastructure was using two Sun Fire 480R servers as host machines and a Sun StorageTek 6130 Disk Array to store nearly one terabyte of data. This infrastructure was struggling to keep up with the performance required by a leading web site. After analyzing performance data from the Oracle database and the Solaris Operating System, we decided to upgrade the database infrastructure to handle current and future growth.

We looked at various Sun server products, including the Sun Fire V490 server, which is considered a natural successor of the Sun Fire V480 range of servers. The Sun Fire V490 server reviews are very good, and the server is supposed to provide nearly five times more computing power than previous-generation servers. There are also some good reviews for the Sun Fire T2000 server, but these reviews are mostly related to using this server as a web server. Given the fact that Sun Fire T2000 server has 32 executable threads, which could be used very well in an Online Transaction Processing (OLTP) environment, we decided to try the Sun Fire T2000 server in our test lab with the goal of using it as a replacement for the Sun Fire V480 server, if the test results were satisfactory.


Workload Characteristics

Our database workload can be characterized as numerous small transactions, millions of read operations, and few batch jobs to calculate reporting data. In a nutshell, it is 90% small Data Manipulation Language (DML)/read operations and 10% large batch jobs. This type of workload is well suited for a host machine that has multiple simultaneously executable threads.


Why Choose the Sun Fire T2000 Server?

As mentioned earlier, our database infrastructure, based on the UltraSPARC III+ chipset, was struggling to provide the performance needed to run our web sites. One option was to increase the number of CPUs in the Sun Fire V480 servers from two to four and gain 100% more computing power, but doing this would have increased the Oracle license cost.

An eight-core UltraSPARC T1 chip is equivalent to a two-processor license, and that makes it a very attractive option for running Oracle databases. Also, the energy consumption for a Sun Fire T2000 server is significantly less than for a Sun Fire V480 server. Additionally, the Sun Fire T2000 server supports up to 32GB of memory, which can improve performance by keeping a large database cache size.

One of the concerns we had regarding the Sun Fire T2000 server is the lack of multiple floating-point units (FPUs). The Sun Fire T2000 server multicore chip comes with only one FPU, and that could cause performance issues for applications that have lots of floating point calculations. Database software is less likely to involve many floating-point computations, and to prove this point, we used the CoolThreads Selection tool (cooltst) in our existing Sun Fire V480 server production environment. The result of cooltst (shown next) indicated that in our environment, a single FPU should not become a performance bottleneck.

System configs
  Host Name:           lscbd01p2
  Chip Arch:          US-III+
  OS:                SunOS 5.8, 64-bit
  [Virtual]Processors:  2

     processor 0  on-line  900 MHz
     processor 1  on-line  900 MHz


=>Running cpustat...(08/16/06 17:29:51)
=>Runtime (cpustat) ended...(08/16/06 17:32:03)
=>Running procls.sh...(08/16/06 17:32:03)
=>Completed data collection...(08/16/06 17:32:04)
=>Analysis of collected data...(08/16/06 17:32:04)


FP: GREEN

Performance Comparison of UltraSPARC T1 and UltraSPARC III+ Chips

Before committing to Sun Fire T2000 servers, we got a "try and buy" version of a 4-core Sun Fire T2000 server with 8GB of memory and ran some tests on it. The Sun Fire T2000 server outperformed the Sun Fire V480 server in tests simulating a multiuser environment. The results are shown in the following table and in the graph in Figure 1, which shows an average response time with an increasing number of concurrent sessions. The test was composed of a PL/SQL stored procedure that had a series of small transactions and reads. To suppress any effect of I/O, the database cache size on both databases was created to be the same size and the tables involved in read operations were cached in memory. Also, the disk subsystems used by the two databases were the same.

Sun Fire T2000 Server Test Results

  • Specifications: UltraSPARC T1 processor, 4-core, 1000 MHz, 8GB RAM, 200MB database cache
  • Test case: A PL/SQL procedure inserting/updating and selecting data in a loop iterating over 500 times
Table 1: Test Results for Sun Fire T2000 Server
Number of Concurrent Sessions
CPU Idle [%]
Load Average
Average Time per Session (sec)
Total Time (sec)
4
75
1.96
24
28
8
49.8
2.5
26
33
16
0
7
34
49
24
0
11
44.7
67
32
0
16.5
55.37
84
40
0
23
66.72
101
 

Sun Fire V480 Server Test Results

  • Specifications: 2-CPU UltraSPARC III+ processor, 900 MHz, 8GB RAM, 200MB database cache
  • Test case: A PL/SQL procedure inserting/updating and selecting data in a loop iterating over 500 times
Table 2: Test Results for Sun Fire V480 Server
Number of Concurrent Sessions
CPU Idle [%]
Load Average
Average Time per Session (sec)
Total Time (sec)
4
0
1.63
18
21
8
0
3.6
34
41
16
0
9.6
68
81
24
0
14
96.8
122
32
0
23
128
167
40
0
29.5
157.1
208
 

Average Response Time With Increasing Number of Concurrent Sessions

Fig 1

Figure 1: Response Time Comparison of Sun Fire V480 and Sun Fire T2000 Servers
(Click to Enlarge)

From the response time comparison graph in Figure 1, it is clear that the Sun Fire T2000 server with 16 executable threads scaled very well with an increase in the number of concurrent sessions. The average response time for the 2-CPU Sun Fire V480 server started to increase rapidly after the number of concurrent sessions exceeded eight, whereas the increase in the average response time for the Sun Fire T2000 server was not so high. This test result, along with other stress testing, provided us with sufficient data to roll out the Sun Fire T2000 server into the production environment.


Sun Fire T2000 Server in Production Environment

Following our rigorous testing and implementing the Sun Fire T2000 server for a standby database, we rolled out the Sun Fire T2000 servers to our production environment replacing our Sun Fire V480 servers. The performance improvement was better than expected. The graphs in Figure 2 and Figure 3 show the CPU utilization of Sun Fire V480 and T2000 servers in a production environment running an Oracle 10g RAC database. These two CPU utilization graphs are based on data collected from each node in a two-node cluster using the sar utility.

Prior to the switchover to the Sun Fire T2000 server on April 3, 2007, the CPU average utilization was about 60% to 90% on both nodes of the cluster. After the switchover to the Sun Fire T2000 server, the CPU utilization dropped to 5% to 10% on both nodes of the cluster for the same database workload. Data for these graphs was collected using the sar utility for two weeks encompassing the switchover date, and it hence represents the CPU load average under a live situation. The data is averaged over 5-minute intervals.

Fig 2

Figure 2: CPU Utilization Comparison of Sun Fire V480 and T2000 Servers (RAC Node1)
(Click to Enlarge)

Fig 3

Figure 3: CPU Utilization Comparison of Sun Fire V480 and T2000 Servers (RAC Node2)
(Click to Enlarge)

The fact that the Sun Fire T2000 server's multiple executable threads provide more computing capacity is further demonstrated by Figure 4, Figure 5, and Figure 6, which show the difference between CPU time and elapsed time to execute an SQL statement.

We selected three different SQL statements to profile the CPU time and elapsed time. These three SQL statements are representative of our database workload. In all three cases, the elapsed time on the Sun Fire T2000 server is nearly equal to the CPU time required to execute the statements. Some of the improvements in CPU usage can also be attributed to the larger database cache size on the Sun Fire T2000 server compared with the Sun Fire V480 server. The database cache size on the Sun Fire V480 was 2GB, whereas on the Sun Fire T2000 server, it was configured as 10GB.

Fig 4

Figure 4: Elapsed and CPU Time Required to Log 10,000 Accesses
(Click to Enlarge)

Fig 5

Figure 5: Elapsed and CPU Time Required to Search Using Oracle Text
(Click to Enlarge)

Fig 6

Figure 6: Elapsed and CPU Time Required to Synchronize Oracle Text Index
(Click to Enlarge)

Oracle text index synchronization was executed using a single thread on both the Sun Fire T2000 and V480 servers. Given the high number of executable threads on the Sun Fire T2000 server, the performance of such batch jobs can be improved further by running multiple parallel threads.


Conclusion

From this data, we can conclude that the UltraSPARC T1 chip with its multiple cores and multiple simultaneously executable threads is very well suited for an Oracle database running OLTP or hybrid applications. The Sun Fire T2000 server appears to provide a much better price-to-performance ratio for an Oracle database application compared with the Sun Fire V480 server. However, because the Sun Fire T2000 server is a single-CPU machine, its availability is reduced in the event of a CPU failure. A multiple-CPU Sun Fire V480 server can still work if one CPU fails, whereas a Sun Fire T2000 server could be completely out of service in such case. In spite of this limitation, we decided the performance benefits and size of the Sun Fire T2000 server make it a great choice for running an Oracle database in RAC mode.


About the Authors

Bipul Kumar works as Senior Oracle Database Architect for BioMed Central Ltd. and has nearly 10 years of experience creating and managing Oracle databases of varying sizes, primarily using the Solaris OS and Sun hardware. He authored the book Oracle Data Guard -- Standby Database Failover Handbook, published by Rampant Techpress, and he can be reached at bipulc [at] yahoo.com.

Tomas Ramanauskas works as Oracle Database Administrator for BioMed Central Ltd, and has six years of Oracle database administration experience running database servers on various platforms, including Oracle RAC running on HP-UX and the Solaris OS. He can be reached at tomas.ramanauskas [at] biomedcentral.com.


Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
 
 
Would you recommend this Sun site to a friend or colleague?
Contact About Sun News & Events Employment Site Map Privacy Terms of Use Trademarks Copyright Sun Microsystems, Inc.