Thursday Oct 16, 2008

Application server performance on the Sun SPARC Enterprise T5440

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".

A Sun StorageTek 3510 Fiber Channel storage array was configured to provide durable storage for the application server filestore and JMS transaction logs.

Tuning of the Oracle WebLogic 10.3 Application Server included sizing of the application server threads and JDBC connections. This information is also included in the benchmark full disclosure file.

The following system and network tunings were applied:

System Tuning in /etc/system:
set kernel_cage_enable=0
set ip:ip_soft_rings_cnt = 16

Network Tuning:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1

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.

The database storage consisted of 2 pairs of Sun StorageTek 2540 arrays and 2501 expansion arrays configured as 4 separate UFS file systems. A Sun StorageTek 3510 was configured for the database transaction logs and accessed as raw devices.

Tuning options for the Oracle 11g database software is included in the benchmark disclosure report.

The following system and network tunings were applied:

System Tuning in /etc/system:
set kernel_cage_enable=0
set ip:ip_soft_rings_cnt = 8
set hires_tick = 1


Network Tuning:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1

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.

Disclosure Statement:

SPECjAppServer2004
Sun SPARC Enterprise T5440 (4 chips, 32 cores) 5836.15 SPECjAppServer2004 JOPS@Standard.  SPEC, SPECjAppServer reg tm of Standard Performance Evaluation Corporation. Results from www.spec.org as of 10/13/08.

About

Kevin Kelly

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today