T5440 Rocks [again] with Oracle Business Intelligence Enterprise Edition Workload
A while ago, I blogged about how we scaled Siebel 8.0 up to 14,000 concurrent users
by consolidating the entire Siebel stack on a single Sun SPARC®
Enterprise T5440 server with 4 x 1.4 GHz eight-core UltraSPARC®
T2 Plus Processors. OLTP workload was used in that performance benchmark effort.
We repeated a similar effort by collaborating with Oracle Corporation, but with an OLAP workload this time around. Today Sun and Oracle announced the 28,000 user Oracle Business Intelligence Enterprise Edition (OBIEE) 10.1.3.4 benchmark results on a single Sun SPARC Enterprise T5440 server with 4 x 1.6 GHz eight-core UltraSPARC T2 Plus Processors running Solaris 10 5/09 operating system. An Oracle white paper with Sun's 28,000 user benchmark results
is available on Oracle's benchmark web site.
Some of the notes and key take away's from this benchmark are as follows:
- Key specifications for the Sun SPARC Enterprise T5440 system under test are: 4 x UltraSPARC T2 Plus processors, 32 cores, 256 compute threads and 128 GB of memory in a 4RU space.
- The entire OBIEE solution was deployed on a single Sun SPARC Enterprise T5440 server using Oracle BI Cluster software.
- The BI Cluster was configured with 4 x BI nodes. Each of those BI nodes were configured to run inside a Solaris Container.
- Each Solaris Container was configured with one physical processor (that is, 8 cores or 64 virtual cpus), and 32 GB physical memory.
- Each BI node was configured to run BI Server, Presentation Server and OC4J Web Server
- Two of the BI nodes have the BI Cluster Controller running (primary & secondary)
- One out of four Containers was sharing CPU and memory resources with Oracle 11g RDBMS and the host operating system that are running in the global zone
- Caching was turned ON at the application server, which led to minimal database activity on the server.
- In other words, one can use these results only to size the hardware requirements for a complete BI EE deployment excluding the database server.
- All the OBIEE benchmark results published so far are with the caching turned ON. This fact was not explicitly mentioned in some of the benchmark results white papers. Check the competitive Landscape for the pointers to different benchmark results published by different vendors.
- From our experiments with the OBIEE benchmark workload, it appears that a BI deployment with a single non-cluster BI node could reasonably scale well up to 7,500 active users on a T5440 server. To scale beyond 7,500 concurrent users, you might need another instance of BI. Of course, your mileage may vary.
- BI EE exhibited excellent horizontal scalability when multiple BI nodes were clustered using BI Cluster software. Four BI nodes in the Cluster were able to handle 28,000 concurrent users with minimal impact on the overall average transaction response times.
It appeared as though we can simply add more BI nodes to the BI Cluster to cope with the increase in user base. However due to the limited hardware resources, we could not try running beyond 4 nodes in the BI Cluster. As of today, the theoritical limit for the number of BI nodes in a Cluster is 16.
- The underlying hardware must behave well in order for the application to scale and perform well -- so, credit goes to UltraSPARC T2 Plus powered Sun SPARC Enterprise T5440 server as well. In other words, it is fair to say the combination of (T5440 + OBIEE) performs and scales well on Solaris.
- A summary of the results with system-wide averages of CPU and memory utilization is shown below.
|#Vusers||Clustered||#BI Nodes||#CPU||#Core||RAM||CPU||Memory||Avg Trx Response Time||#Trx/sec|
|7,500||No||1||1||8||32 GB||72.85%||18.11 GB||0.22 sec||155|
|28,000||Yes||4||4||32||128 GB||75.04%||76.16 GB||0.25 sec||580|
- Internal Solid State Drive (SSD) with ZFS file system showed significant I/O performance improvement over traditional disk for the BI catalog activity. In addition, ZFS helped get past the UFS limitation of 32,767 sub-directories in a BI catalog directory.
- The benchmark demonstrated that 64-bit BI EE platform is immune to the 4 GB virtual memory limitation of the 32-bit BI EE platform -- hence can potentially support even more users and have larger caches as long as the hardware resources are available.
Solaris runs in 64-bit mode by default on SPARC platform. Consider running 64-bit BI EE on Solaris.
- 2,107 watts is the average power consumption when all the 28,000 concurrent users are in the steady state of the benchmark test. That is, in the case of similarly configured workloads, T5440 supports 13.2 users per watt of the power consumed; and supports 7,000 users per rack unit.
A picture is worth a thousand words. The following topology diagram(s) says it all about the configuration.1. Single Node BI Non-Cluster Configuration : 7,500 Concurrent Users
Even though the Solaris Container was shown in a cloud like graphical form, it has nothing to do with the "Cloud Computing". It is just a side effect of fancy drawing.2. Four Node BI Cluster Configuration : 28,000 Concurrent UsersCOMPETITIVE LANDSCAPE
Here is a quick summary of all the results that are published by different vendors. Feel free to draw your own conclusions. All this is public information. Check the corresponding benchmark reports by clicking on the URLs under the "#Users" column.
| Server || Processors || #Users || OS |
| Chips || Cores || Threads || GHz || Type |
| 1 x Sun SPARC Enterprise T5440 || 4 || 32 || 256 || 1.6 || UltraSPARC T2 Plus|| 28,000 || Solaris 10 5/09 |
| 5 x Sun Fire T2000 || 1 || 8 || 32 || 1.2 || UltraSPARC T1 || 10,000 || Solaris 10 11/06 |
| 3 x HP DL380 G4|| 2 || 4 || 4 || 2.8 || Intel Xeon || 5,800 || OEL |
| 1 x IBM x3755|| 4 || 8 || 8 || 2.8 || AMD Opteron || 4,000|| RHEL4 |
Although T5440 possesses a ton of great qualities, it might not be suitable for deploying workloads with heavy single-threaded dependencies. The T5440 is an excellent hardware platform for multi-threaded, and moderately single-threaded/multi-process workloads. When in doubt, it is a good idea to leverage Sun Microsystems' Try & Buy
program to try the workloads on the T5440 server before making the final call.
Check the second part
of this blog post for the best practices for configuring / deploying Oracle Business Intelligence on top of Solaris 10 running on Sun CMT hardware.
Related Blog Posts:
(Originally posted on blogs.sun.com at:
| Business Intelligence
| UltraSPARC T2 Plus
The following suggested best practices are applicable to all Oracle BI EE deployments on Sun hardware (CMT and M-class) running Solaris 10 or later. These recommendations are based on our observations from the 28,000 user benchmark
on Sun SPARC Enterprise T5440. It is not the complete list, and your mileage may vary. On larger systems with more CPUs or CPU cores, try not to deploy Oracle BI EE in the global zone.
If the BI catalog is hosted on a local file system, create a ZFS file system to store the catalog.
If there are more than 25,000 authorized users in a BI deployment, the default UFS file system may run into
Too many links error when the Presentation Server tries to create more than 32,767 sub-directories (refer to LINK_MAX on Solaris)
Ensure that all the BI components in the cluster are configured in a many-to-many fashion
For proper load balancing, configure all BI nodes to be almost identical in the BI Cluster
When planning to add an identically configured new node to the BI Cluster, simply clone an existing well-configured BI node running in a non-global zone.
Cloning a BI node running in a dedicated zone results in an exact copy of the BI node being cloned. This approach is simple, less error prone and eliminates the need to configure the newly added node from scratch.
Increase the file descriptors limit. Edit SAROOTDIR/setup/systunesrv.sh to increase the value from 1024 to any other value of your choice. In addition you must increase the shell limit using the
ulimit -n command
Configure 256M large pages for the JVM heap of Chart server and OC4J web server (this recommendation is equally applicable to other web servers such as WebLogic or Sun Java system Web Server). Also use parallel GC, and restrict the number of parallel GC threads to 1/8th of the number of virtual CPUs.
-XX:LargePageSizeInBytes=256M -XX:+UseParallelGC -XX:ParallelGCThreads=8
The Oracle BI Presentation Server keeps the access information of all the users in the Web Catalog. When there are large number of unique BI users, it can take a significant amount of time to look up a user if all the users reside in one single directory. To avoid this, hash the user directories. It can be achieved by having the following entry in SADATADIR/web/config/instanceconfig.xml
HashUserHomeDirectories specifies the number of characters to use to hash user names into sub directories. When this element is turned on, for example, the default name for user Steve's home directory would become /users/st/steve.
BI Server and BI Presentation Server processes create many temporary files while rendering reports and dashboards for a user. This can result in significant I/O activity on the system. The I/O waits can be minimized by pointing the temporary directories to a memory resident file system such as /tmp on Solaris OS. To achieve this, add the following line to the instanceconfig.xml configuration file.
Similarly the Temporary directory (SATEMPDIR) can be pointed to a memory resident file system such as /tmp to minimize the I/O waits.
Related Blog Posts:
(Originally posted on blogs.sun.com at:
Oracle | BI | Business Intelligence | Solaris | Performance