Oracle Blog

Blog for kevink

Thursday Oct 16, 2008

On Monday Oct 13, Sun announced the Sun SPARC Enterprise T5440 server with a number of World Record benchmark results here. Among these include a benchmark publication of 5836.15 SPECjAppServer2004 JOPS@Standard which can be found here

Using Oracle WebLogic 10.3 Application Server on a single T5440 in the application tier and Oracle Database 11g Enterprise Edition on a second T5440 for the database tier, this result achieved by Sun and Oracle demonstrates outstanding performance on a single server for the SPECjAppServer2004 benchmark. For competitive comparisons see bmseer blog

This blog describes some configuration details used in this benchmark result.

Benchmark Configuration

The following diagram illustrates the configuration used to achieve this result:

Application Server Configuration Summary:

Sun SPARC Enterprise T5440

4x 1.4 GHz 8-core UltraSPARC T2 Plus

128 GB memory

2x 10GbE XAUI NIC

1x Quad Port Gbit NIC

1x Dual Port FC/AL card

1x Sun StorageTek 3510 FC Array

Solaris 10 10/08

Oracle WebLogic 10.3 Application Server - Standard Edition

JDK 1.6.0_06 Performance Release

Database Server Configuration Summary:

Sun SPARC Enterprise T5440

4x 1.4 GHz 8-core UltraSPARC T2 Plus

128 GB memory

1x 10GbE XAUI NIC

1x Dual Port Gbit NIC

2x Dual Port FC/AL card

2x Sun StorageTek 2540 FC Array

2x Sun StorageTek 2501 FC Expansion Array

1x Sun StorageTek 3510 FC Array

Solaris 10 10/08

Oracle Database Enterprise Edition Release 11.1.0.7

Application Server Configuration Details

On a system like the Sun SPARC Enterprise T5440 with 32 cores that support 256 HW strands, Solaris Resource Management tools available in the Solaris 10 Operating Environment can be used to get optimum performance from these systems.

The Sun T5440 was configured using Solaris Containers into 8 separate zones to host 7 separate WebLogic appserver instances. Seven zones were bound to 7 processor sets, each consisting of 4 cores (32 HW strands) using the command "psrset -b PSET PID". An eighth zone was not used during the execution of the benchmark. The process IDs for each zone were obtained using the command "pgrep -z ZONENAME".

Interrupts were disabled in each of the 7 processor sets using the command "psrset -f PSET". This left 4 cores in the default set to handle remaining user processes and interrupts generated mainly by network and disk controllers. Detailed zone and processor set configuration is included in the benchmark disclosure archive file.

To handle the network traffic between the driver systems and the 7 application server instances, 2x 10GbE XAUI Network cards were configured in the T5440 which were connected to the 2x 10Gbit switches as shown in the diagram above. Four 1 Gbit network connections were configured on each Sun T5440 system to handle the network traffic for the database transactions.

Each of the zones was configured with 2 separate virtual or logical network interfaces. Four zones shared one physical 10Gbit NIC and the remaining zones shared the other physical 10Gbit NIC for one of the virtual network interfaces. On the database side, two zones shared separate 1 Gbit NICs for the other virtual network interface.

Each application server instance was configured to use the Sun Hotspot JVM JDK 1.6.0_06 Performance Release available for download from java.sun.com. Each JVM was run in the FX scheduling class using the command "priocntl -e -c FX java JVM_OPTIONS".

Database Server Configuration Details:

The Sun SPARC Enterprise T5440 was configured with Oracle Database Enterprise Edition Release 11.1.0.7 to process the database transactions. Again, Solaris resource management utilities were used to configure the system.

The Oracle processes which include the shadow and database writer processes, were run in 4 processor sets containing 27 cores across all four UltraSPARC T2 Plus processors using the command "psrset -b PSET PID". These Oracle processes were run in the FX scheduling class using the command "priocntl -s -c FX -i pid PID".

The Oracle log writer process was executed in it's own processor set containing 1 core (8 HW strands) using the psrset command and run in the RT class using the command "priocntl -s -c RT -p 1 -i pid PID". The remaining 4 cores were used for network and disk interrupt handling.

Driver and Network Configuration:

Ten Sun Blade T6300 Server Modules in a Sun Blade 6000 Chassis were used to drive the workload to the application servers. Nine of the 10 blades were used as client drivers. The last blade was used to support the benchmark Supplier Emulator function. The workload was distributed across the application servers using round-robin DNS server which was hosted on the database system. Two Foundry EdgeIron 8-port 10Gbit switches were used to support the network load between the drivers and the T5440 application server.

Benchmark Description:

SPECjAppServer2004 (Java Application Server) is a multi-tier benchmark for measuring the performance of Java 2 Enterprise Edition (J2EE) technology-based application servers. SPECjAppServer2004 is an end-to-end application which exercises all major J2EE technologies implemented by compliant application servers as follows:

The web container, including servlets and JSPs

The EJB container

EJB2.0 Container Managed Persistence

JMS and Message Driven Beans

Transaction management

Database connectivity

Moreover, SPECjAppServer2004 also heavily exercises all parts of the underlying infrastructure that make up the application environment, including hardware, JVM software, database software, JDBC drivers, and the system network. The primary metric of the SPECjAppServer2004 benchmark is jAppServer Operations Per Second (JOPS) which is calculated by adding the metrics of the Dealership Management Application in the Dealer Domain and the Manufacturing Application in the Manufacturing Domain. There is NO price/performance metric in this benchmark.