Académique Documents
Professionnel Documents
Culture Documents
1 Overview
This document is a product of the ongoing HP/Oracle Reference Configuration (RC) effort in HP. It is
a performance validation as well as a compilation of best practices, performance metrics, and
general observations regarding one specific RC, the 1TB HP-UX SMP Intermediate Performance
configuration.
By documenting these areas, the intent is to validate the performance of this specific RC, as well as
recommend best practices and facilitate the design of BI implementations in order to accomplish the
following goals.
• Validate the performance of this RC.
• Provide a real world proof point, based on a retail industry schema (7 fact tables and 17
Dimension tables), 39 business queries, and approximately 1 TB of raw data.
• Ensure solid and efficient design – a balanced configuration.
• Reduce the complexity and time surrounding design choices.
• Decreasing time to implementation.
• Further the knowledge of the BI design community.
It is important to note that we do not intend to duplicate existing install and design documentation
within this document. Instead, we will complement these existing documents with the intent of
providing any RC specific install and design information when it is missing from the existing
documentation. A list of install and configurations guides can be found in Appendix A. The majority
of these guides are delivered with the products.
2 Intended Audience
This paper has been created for technologists who understand and work with HP-UX/Oracle
infrastructure solutions for BI. Specifically, the following specialists will find this paper useful.
• BI Architects
• Capacity planners
• Performance specialists
• Project delivery participants for HP-UX/Oracle BI infrastructure implementations
The HP Reference Configurations are designed to meet requirements specifically for BI databases
rather than those requirements more applicable to transaction-based (OLTP) databases. These
configurations use off-the-shelf products to support a broad range of BI workloads. Furthermore, they
are designed to scale according to customers’ demands for growth.
Achieving balanced system I/O throughput, specifically for the BI workload, was a key objective in
developing the configurations. A balanced system maximizes implementation wide BI performance.
The configurations are designed to avoid bottlenecks and achieve balanced I/O throughout all system
components, from storage to the server(s).
In addition to taking into account the typical Oracle data expansion from raw (atomic) data, the HP BI
reference configurations also provide for RAID-based storage availability and data distribution across
disks to maximize I/O throughput and performance. Storage array type and sizing were specifically
chosen for best fit with the workload intensity, as well as OS, server, and price considerations.
Each configuration provides a “best-fit” start point that can then be optimized based on customers’
specific data loading, reporting and query profiles. The configurations apply to the enterprise data
warehouse (EDW), data warehouse (DW) and data mart (DM) infrastructures. These configurations
specifically exclude operational data stores (ODS) and online analytical processing (OLAP).
IT planners, IT architects, and solutions integrators can use these configurations to make platform
decisions quickly, deploy standard products rapidly at low risk, and obtain predictable data
warehouse performance.
d. 4TB
e. 7TB
f. 10TB
This paper will explore only one RC, the 1TB SMP Intermediate Performance configuration.
While it is a midsized implementation, it is important to note that it can handle TB+ sized data
volumes and reasonably complex BI schemas and queries, an assertion we believe we’ve proven in
this exercise.
rx3600
• (2) 1.6 GHz Itanium
ethernet - 2 sockets (each w/2
cores)
rx3600 • 48GB memory
• (2) 4Gb dual port FC
HBA’s
EVA8000
• (84) x 72 GB drives
at 15,000 RPM
FC • (6) disk enclosures
• (2) controllers
• (2) pairs of internal
switches
FC
SAN Switch 4/16
SAN Switch Fibre Channels
• (8) 4Gb FC’s from the
4/16 EVA8000 to the
switch
FC • (4) 4 Gb FC’s from
the rx3600 server to
the switch
DL 380 G5
EVA8000
Figure a – 1TB SMP Medium RC hardware general configuration
5 Server Configuration
5.1 Server Processor
The rx3600 was populated with (2) 1.6 GHz Montecito 18M processors, each containing 2 cores.
This will fill both available processor slots in the server.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 7
A 24 DIMM memory carrier board was used. All 24 DIMM slots were populated, filling up both sides
of the board.
Two different backplanes are available for this server. Choose the PCI-X 2.0 I/O backplane as it is
required for use with these FC cards.
Populate slots 3 and 4, on the backplane, with the 2 FC cards. These are the fastest, full speed PCI
slots on the backplane, rated at 266 MHz. Using these slots will ensure the maximum I/O throughput
through this part of the I/O subsystem.
If additional FC cards need to be added in the future, slots 5 and 6 should be chosen. They are the
next fastest I/O slots, rated at 133 MHz.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 8
These drives should be configured with RAID 1, also called IM (Integrated Mirror).
The internal drives should be RAID 1 configured before installing the OS, or any other software.
Configuring with RAID 1 will provide the best reliability for the internal drive based subsystem of the
server. If a disk in an IM fails, the hot swap capability enables the volume to be easily restored by
replacing the faulty drive. The firmware then automatically re-mirrors to the replaced disk.
From the initial console menu, select the EFI Shell (Extensible Firmware Interface). EFI is an Intel
standard interface that sits between the firmware and the OS. EFI contains native and shell
commands.
Use the drvcfg command, a driver configuration protocol GUI found in the EFI shell to configure the
IM feature (RAID 1). From the EFI Shell, use the drvcfg –s command to start the configuration process.
6 Storage Configuration
6.1 SAN Configuration
6.1.1 SAN Switch
The SAN switch installation guide was relatively short and the installation followed the guide without
requiring additional steps.
6.1.2 Zoning
With the use of the EVA array and the SAN switch comes design considerations regarding zoning.
We decided not to use zoning because it wasn’t structurally necessary and performance would not be
changed. Our reasoning follows.
• Zoning enforcement (authorization) wasn’t germane to this exercise and was not used.
Customers that have authorization needs can of course implement zoning enforcement.
• Zoning by application wasn’t needed for this exercise. It also wouldn’t be typical in a stand
alone DW environment at a customer site.
• As this was a small configuration, with a manageable number of paths to LUN’s, multiple
zones were not needed. In HP-UX 11i v3, 32 paths per LUN are supported. If we had
needed more than 32 I/O paths per LUN for this specific RC, we would have created the
necessary zones.
That being said, HP requires, for support, that an implementation such as this have a minimum two
zones.
1. Zone 1: consisting of the DL 380 G5 SMA (Storage Management Appliance)
adapters and the EVA controller ports.
2. Zone 2: consisting of the EVA controller ports and the rx3600 HBA’s.
The fact that we did not create these zones had no bearing on the performance of our RC.
The key physical characteristics of the EVA8000 array can be seen in Table 1 below.
Number of controllers 2
Device FC-AL switches 4
Through our analysis and benchmarking, along with other benchmarks, the following EVA
configurations were deemed optimal for this RC implementation.
HP Command View EVA is installed on the HP OpenView Storage Management Server (AKA Storage
Management Appliance; the DL380 G5). Command View was used to configure the EVA 8000 array
as follows.
• Create one disk group consisting of all 84 drives. This yields the optimal performance
compared to multiple disk groups.
• Efficiency also improves if the disk group consists of an even number of drives (84 drives)
and the number of drives is a multiple of the number of disk enclosures (6 enclosures x 14
drives = 84 drives).
• Specify RAID 5 for each LUN, as it’s being configured. Performance data and conclusions on
RAID 1 vs. RAID 5 can be found in section 10.1 below.
• 4 LUNs (AKA VDISKS), each 500 GB in size, were created in this disk group. The 500GB
size was chosen for several reasons.
1. Equal sized LUNs ensure that IO throughput and performance will be balanced.
2. A minimum of 2 LUNs is needed for this implementation to balance the load across
the 2 controllers in the EVA8000 storage array.
3. Each controller should always have the same number of equal sized LUNs.
4. The 500 GB size chosen was deemed to be a logical choice regarding
manageability and future growth as too many small LUN’s decrease manageability.
• It is necessary to note the WWIDs (World Wide IDs) of the LUN’s once they’ve been created.
These WWIDs will be shown in Command View. The WWIDs will be needed when
identifying the associated LUNs to Oracle ASM. Use the HP-UX management tool SAM or
SMH (SAM replacement) to identify the DSF names associated with the WWIDs for the LUNs
that have been added. scsimgr can also be used to obtain the WWIDs for the LUNs. Execute
the following command; ‘scsimgr –p get_attr all lun –a device_file –a wwid’.
• LUN 0 and LUN 1 were assigned to Controller A. Configured as Preferred Path A with
failover/fallback to Path B.
• LUN 2 and LUN 3 were assigned to Controller B. Configured as Preferred Path B with
failover/fallback to Path A.
The LUNs are now balanced across both array controllers with failover enabled. The EVA array will
assign LUNs in a round robin fashion to controllers but the failover/fallback paths need to be
specifically configured.
o tablespace creation
o tablespace autoextends
6.2 Miscellaneous
• Leave read caching enabled. This enables prefetching when a sequential read stream is
detected, increasing performance.
• In numerous tests, both baseline, and with actual query workloads, there was no significant
difference in the throughput of RAID 1 vs. RAID 5 for a (mostly) read only workload. Thus
RAID 5 was chosen for it’s price/performance advantage over RAID 1. If the best statistical
reliability is an absolute requirement, then RAID 1 should be chosen, making allowance for
the additional storage required by using this level of RAID.
7 OS Configuration
HP-UX 11i v3 was used for this RC validation.
Starting in the early 1990’s, HP undertook an analysis of the DW/BI workload in order to specifically
improve the performance of HP-UX for this workload. Over the years, the tuning and functionality
improvements have improved HP-UX so that it is aware of important BI workload requirements and
thus requires a minimal effort in setting up HP-UX for BI implementations. Following this lengthy
tradition, improvements have been made to the HP-UX 11i v3 Mass Storage Stack. Many of these
improvements have a direct bearing on BI implementations, especially larger ones.
• least command load policy – the path with the least number of outstanding I/O requests is
selected from all available paths; it is suitable when lunpaths have asymmetric I/O
performance characteristics
The least command load policy was chosen for this RC implementation as it exhibited the best
performance for this typical “read heavy” BI workload. From a logical perspective, it also appears to
be the most flexible fit for the workload. In lab tests, it has been shown to balance I/O’s better when
the workload has a mixture of IO sizes and/or variations in path performance.
• round-robin policy – (default policy) a path is selected in a round-robin manner from all
available paths; it is suitable when lunpaths have similar I/O operation characteristics.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 12
Congestion (overloaded paths) and/or mixed sized I/O’s can lead to unbalanced I/O. This is
workload dependant. That being said, we found the round-robin policy to be only slightly less efficient
than the least command load policy.
• cell-local round-robin policy – a path belonging to a specific cell in a cell based server, on
which the I/O request was initiated, is selected in a round-robin manner from all available
paths; it is suitable for a cell based system with significant latencies for non-local access
operations.
The server in these tests, the rx3600, was not a cell based system. Thus, this policy is not applicable.
• path lock down policy – a single path is selected for all I/O requests to the LUN.
This policy doesn’t provide the transparent parallelism needed for the typical BI workload.
• preferred path policy – similar to the path lock down policy with the addition that it provides
for automatic path failover when the preferred path fails.
This policy doesn’t provide the transparent parallelism needed for the typical BI workload.
This is significant for high-end BI implementations. These high-end BI implementations, which contain
large storage farms housing large Data Warehouses and Marts, create the need for numerous I/O
components, all of which need to be scanned for typical boot and scan tasks.
Reducing the time to boot a system, e.g. after a yearly planned maintenance downtime, means that
the system will be up and providing access to business users in a minimum amount of time. Reducing
I/O scan times on live systems eases maintenance time for the system administrator, reducing the time
they need to spend on typical tasks.
Agile addressing removes several significant shortcomings of pre-11i v3 legacy DSF management, all
related to the non-persistence on LUN bindings. There were several labor intensive management tasks
related to legacy style DSF management, especially in typical high-end BI implementations with large
storage subsystems.
Thus, the administrator can create a single (persistent) DSF for each unique LUN in the server, no
matter how many lunpaths are associated with the LUN or if any of the lunpaths change. Thus, LUN
DSFs are immune to key SAN topology changes. We found this new functionality to be an incredible
time saver and elegant in its design.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 13
7.1.2.3 Miscellaneous
• Automatic monitoring
• Dynamic discovery of lunpaths and LUNs
• All existing relevant commands have been enhanced to understand LUN multi-pathing
I/O throughput in HP-UX 11i v3, for the BI workload, has increased significantly from HP-UX 11i v2,
largely due to the MSS improvements.
Additionally, looking at Table 2, the following limits have been increased for key MSS components.
The improvements to the HP-UX 11i v3 MSS included new features increasing system availability as
well.
• lunpath monitoring and reporting improvements
• automatic failover and recovery of lunpaths
• lunpath authentication – avoids corruption by detecting abnormal LUN behavior, triggering a
failure report, failing over pending I/O’s and preventing anymore I/O’s to the LUN in
question
All of these improvements, which are automated, also improve manageability by offloading the
system administrator of several tasks.
Please note that these kernel parameters are workload dependant. Workloads that vary significantly
will often require different parameter values.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 14
Nevertheless, the following list is a good starting point for kernel parameters that should be
investigated for modification.
vps_ceiling 16 64
Table 3- Key changed HP-UX kernel parameters
Before installing Oracle, remove all legacy DSFs in HP-UX by executing ‘rmsf –L’ in the HP-UX shell.
This is necessary so that the new Agile Addressing will be used for DSFs. The new raw devices will
now reside in /dev/rdisk instead of the legacy /dev/rdsk directory.
Using scsimgr, set the MSS load balancing policy to least command load for all LUNs with multiple
paths. Execute the following command;
‘scsimgr save_attr –N /escsi/esdisk –a load_bal_policy=least_cmd_load’
• ALUA patches (I/O subsystem patches to allow Asymmetric Logical Unit Access(ALUA) – an
explanation of ALUA functionality can be found in Section 10.1.5)
o PHCO_36250
o PHKL_36249
o UNOF_99334
• English CDE must be installed to enable the OUI (Oracle Universal Installer) to work
As ASM works on raw devices, the Oracle database did not reside on an HP-UX file system for this
exercise.
7.5 Networking
We had to add or change nothing out of the ordinary in networking for this implementation.
ASM and Oracle database installations are relatively straightforward. Nevertheless, we observed a
few best practices that we have noted below.
• It’s recommended to create an Oracle product base directory and then install ASM and
Oracle in separate homes. This allows the simplicity of upgrading and patching the Oracle
database separately from ASM. This point is especially important if multiple Oracle instances
occur on the same server.
• Install and configure ASM first, before installing the Oracle database. This allows the Oracle
database to easily use ASM for storage management.
• Listener processes are needed for both ASM and Oracle, in order to provide connections to
the Oracle Enterprise Manager (OEM). Additionally, the listener is needed by numerous other
applications that need to access the Oracle database over the network, e.g. Siebel, Business
Objects, etc. When installing ASM first, from within the Oracle Universal Installer (OUI), do
not choose the default port for the listener. Choose another port for ASM. Later, you will need
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 16
to choose the default port for the Oracle database so that the OEM users will connect
properly to the Oracle database.
• To enable the SCHED_NOAGE policy (decreasing latch waits and sleeps), to enable
asynchronous I/O usage, and to use HPM (reliable user-mode IPC), the dba group has to be
assigned the following privileges with the setprivgrp command, ‘setprivgrp dba MLOCK
RTPRIO RTSCHED’. To make these changes persistent over reboots, store these privileges as a
line in /etc/privgroup; ‘dba MLOCK RTPRIO RTSCHED’.
• Ensure that /dev/async exists (default) is enabled properly on HP-UX, with a mode of 666.
/dev/async is needed by Oracle for efficient asynchronous I/O.
Before configuring and creating structures within ASM, the following tasks must be accomplished to
allow ASM to access necessary storage structures.
Enabling ASM to make use of necessary LUNs requires the following steps.
• Previously, when creating the LUNs on the EVA array specifically for the oracle database
environment, WWIDs were noted for each specific LUN. This was explained in detail in
section 6.1.4.
• The scsimgr command can be used to find the DSFs ( /dev/rdisk/disk…. ) associated with
these WWIs. Run ‘scsimgr –p get_attr all lun –a device_file –a wwid’ to get a list of the
WWIDs, DSFs, etc.
• Change the ownership of each raw device file, representing a LUN associated with the
Oracle database environment, to the oracle user; ‘chown oracle:dba /dev/rdisk/disk…’.
Then change the file mode of each raw device file to rwrw--; ‘chmod 660
/dev/rdisk/disk/…’.
Executing these tasks will allow ASM to discover, identify, and use these storage resources.
ASM was created with one disk group, an easy and manageable configuration. All LUNs were
assigned to this single ASM disk group. Since all LUNs were created equal, optimal I/O balance
across the LUNs, within ASM, is assured.
The ASM disk group can be created during the installation of ASM, within OUI, if the design is
already known. Otherwise, the disk group can be created at a later time using OEM or SQLPlus.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 17
When creating the disk group, do not use any ASM redundancy as the EVA8000 array already
provides redundancy. Specifically choose ‘external redundancy’. If you choose any other level of
ASM redundancy, database performance will degrade significantly.
• Create the Oracle database control files and default structures (e.g. system, sysaux, redo
logs, etc.) in this disk group.
• Create all Oracle tablespaces in this disk group.
There are two options, relating to datafiles, when creating tablespaces, listed in Table 5.
We analyzed the performance of the two options and observed no difference in performance if
creating datafiles (default tablespace) were performed serially. But, creating datafiles serially takes a
long time for a database this size. Thus, we created the datafiles in parallel, to save time. But, when
we ran serial scans on the large fact tables resident in a tablespace created with ‘parallel creation’
datafiles, performance degraded by 20%-30%. Our findings were consistent over several runs. If the
default tablespace creation is chosen, serial datafile creation must be chosen to preserve table scan
performance.
Thus, for time saving and performance reasons, chose the ‘bigfile’ option for tablespace creation as it
eases management.
We created a single 1.2 TB ‘bigfile tablespace’ for the tables and indexes. A single 500 GB
temporary tablespace was also created in this ASM disk group. These sizes were chosen based on
data volumes and workload projections and proved to be solid choices during the testing phase.
We chose locally managed tablespaces for better performance, better use of space, and easier
management. A locally managed tablespace tracks all extent information in the tablespace itself using
a bitmap, obviating the need to look elsewhere for pertinent information needed to manage the
tablespace.
Please note that these Oracle parameters are workload dependant. Workloads that vary significantly
will often require different parameter values. Nevertheless, the following list is a good starting point
for Oracle parameters that should be investigated for modification.
shared_pool_size derived 4G
We ran a compression checking program on all the data sets. The data for the fact tables, which
comprised most of the total raw data, didn’t contain a high enough occurrence of repetitious data
strings, thus the individual data sets didn’t compress enough to warrant using the compression
functionality. Please note that this is an unusual data set that has a low degree of repeated data, thus
the low compression ratio.
Even though our data sets didn’t contain sufficient redundancy, we recommend that data compression
opportunities are explored for all large tables contained in implementation data sets. While not all
tables’ data will show an attractive compression ratio (approximately 25% or more for large tables),
many do and the testing is not involved. An efficient compression checking tool can be found on
Oracle’s OTN website.
There is a penalty when loading data with compression turned on. The penalty has been measured
and varies in relation to the compression ratio. The penalty of reading compressed data has been
repeatedly measured between 1%-2%. Data compression should not be used for a workload that
exhibits a high degree of writes and updates; it is not recommended for any OLTP workload and
should be used with caution for the ODS workload.
There are two major benefits of using data compression when large data sets show an attractive
compression ratio. With more data compressed in an individual data block, less data blocks will
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 19
need to be accessed and moved into memory, thus reducing I/O’s per query and ultimately per
workload and improving performance. Data compression also reduces storage needs, especially for
midsized and large BI structures.
Data partitioning has been an essential and useful function of Oracle for years, especially for high-
end BI structures. Composite partitioning has proven especially useful, particularly range/hash
partitioning. For our implementation, range (on date) was chosen as the primary partitioning value
with hashing into subpartitions. It is recommended to make the number of hash partitions a multiple of
the number of CPU’s on the server.
We tested a number of range values (e.g. month, day) and found that partitioning by day yielded the
best query results.
The optimum level of partitioning will vary across diverse BI environments; one size won’t fit all
implementations. It is advisable to balance the granularity of partitioning with the management
required of fine grained partitioning. Thus, it is necessary to take into account how many partitions
each level of granularity will produce and weigh that against the performance gains.
Customers are advised to validate query plans of long running and intensive queries to ensure that
that table partitions are used effectively.
Partitioning by date range on certain tables can also simplify management as tasks can now be
focused on a partition basis instead of on an entire table. Examples of partition based management
include rolling window operations such as adding a current day or month’s data and dropping the
oldest month’s data.
8.4.3 Parallelism
The Degree of Parallelism (DOP) needs to be carefully managed in this environment, especially for the
larger queries and for large concurrency.
8.5 Miscellaneous
The version of Oracle used for this exercise was:
Oracle Database 10G Enterprise Edition Release 10.2.0.1.0 - 64 bit HP-UX Itanium.
Oracle patch number 5086089, relating to shmmax, needs to be loaded for this RC.
9 BI Workload
A workload suitable for simulating Data Warehouse and Data Mart workloads was used for this
exercise. The workload consisted of a Retail Industry schema, data, and queries; representing a
retailer with presence in stores, through catalogs, and on the Internet.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 20
9.1.1 Schema
The database schema used was a dimensional model, with snowflaking, consisting of 7 fact tables
and 17 dimension tables, for a total of 24 tables. As is usual with these types of retail schemas, a
number of the fact tables share the same dimension tables, which enable joins or unions between all
large fact tables.
This schema is more representative of a large Data Mart, Super Mart, or a smaller Data Warehouse.
It is not a true Enterprise Data Warehouse where every available set of corporate data is dumped into
the database structure, spanning every business unit and logical entity in the Enterprise.
The raw data set spans 5 years for the main fact tables (3 Sales tables) and slightly longer for the
secondary fact tables (3 Returns tables). Data skew exists over the course of a calendar year, which is
the norm for retailers. The skew manifests itself with the smallest volume of data for the first 7 months
of each year, approximately double the data for the next 3 months, and lastly more than double the
previous 3 months for the last 2 months of the year. More than half the data for each year is located
in the last 2 months of each year.
The row counts for the fact tables can be found in Table 7 below.
The total raw data size , measured in the actual flat files used to load the database, was 918 GB.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 21
A query suite of 39 different queries was used for the testing. The queries were grouped in 3 different
categories to enable the simulation of different user types. The categories and descriptions are listed
in Table 8 below.
Query
Description
category
Entry level Queries that typically access one fact table and a number of related
dimensional tables. The query makes use of partition pruning on the fact table
and typically accesses a window of 1 month to a maximum of a quarter of
data. The use of enough and proper constraints ensure a quick turnaround
Intermediate Queries that typically access 1-2 of the large fact tables and a number of the
related dimension tables. The queries typically access 1 year or more of the fact
table data.
Advanced The queries are similar to the Intermediate queries, but due to the business
questions being asked, full table scans on the fact tables are performed.
10 Performance Data
Extensive performance data was gathered from the System Under test (SUT). Two distinct types of
testing were accomplished:
1. Base hardware I/O testing to gather baseline numbers and identify any possible I/O
bottlenecks.
2. Oracle performance testing.
Diskbench v1.1 was used to perform I/O testing. We specifically wanted to compare VRAID1 vs.
VRAID5, using different block sizes, on the EVA8000 array. Additionally, we tested new MSS
functionality - the two relevant load balancing policies and the ALUA patch set.
A single EVA disk group was created for all 84 disks. Four 500GB LUNs were created on the EVA
disk group and presented to the host. The LUNs were then “zeroed out” to ensure full allocation of all
the blocks using the dd command; ‘dd if=/dev/zero of=/dev/rdisk/diskxx bs=256k’.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 22
10.1.2 Tests
• With VRAID1, with the ALUA patches, and different block sizes
• With VRAID1, without the ALUA patches, and different block sizes
• With VRAID5, with the ALUA patches, and different block sizes
• With VRAID5, without the ALUA patches, and different block sizes
• VRAID1 for sequential reads, sequential writes, and random reads
• VRAID5 for sequential reads, sequential writes, and random reads
• With the round robin I/O load balancing policy
• With the least command load I/O load balancing policy
The typical read predominant BI workload is neither strictly sequential or strictly random.
Characteristics of both are evident and are definitely workload dependant.
It is important to note that, since disk striping is employed for data distribution and data layout, even
read predominant BI workloads do not have a strictly sequential read signature. Neither do they have
a strictly random read either. Instead, the read patterns sit somewhere in-between. Some would call it
a ‘disjoint sequential workload’, predicated upon the 1MB blocks of associated data striped across
disk mechanisms.
We tested the EVA8000 for the combinations above to understand the performance “bookends”, i.e.
pure sequential and pure random. Understanding the peak performance of each variant allowed us to
tune the system towards whichever combination and throughput value proved superior. They were
important to understand what was possible, for the EVA8000 array, within the confines of a sterile
test. The results helped narrow down design choices for database design and performance testing.
Based upon these RAID level lab tests for a read predominant workload, and several other customer
benchmarks we’ve observed over the last few years, we believe there is little significant performance
difference between VRAID1 and VRAID5 on EVA8000 arrays. Dependant upon the workload being
tested, either RAID level has been seen to outperform the other in a statistically insignificant manner
for a largely read only workload with larger block sizes.
For performance reasons, we recommend using 1MB block sizes with a BI workload that is read
predominant. At this block size, it is apparent that the ALUA patches make a significant difference
with both VRAID1 and VRAID5. Both RAID levels can be seen to produce roughly equivalent
performance using 1MB block sizes.
The choice of RAID ultimately comes down to price vs. reliability, for a read predominant workload.
RAID5 (20% overhead for 4D +1P) is cheaper than RAID 1 (50% overhead for mirroring).
But, RAID1 provides superior reliability.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 23
When configuring a LUN on the EVA array, one controller needs to be specified as active and the
second controller needs to be specified as the failover controller. Note that the second controller is
passive, or slower for I/Os specified to an associated LUN.
Without the ALUA patches the OS would issue I/Os equally between the active and passive
controllers for each LUN with round robin load balancing. Using least command load more I/Os
would be issued to the active controller for the LUN, but up to 25% of I/Os would still be issued to the
passive controller.
Loading the ALUA patches would eliminate or severely limit the issuance of I/Os to the passive
controller of the LUN, based on the load balancing policy.
• round robin policy - no I/Os were issued to the passive controller.
• least command load policy - approximately 1 in a million I/Os will be issued to the passive
controller. This miniscule issuance of I/O’s is used for polling purposes.
We did not “squeeze blood from a stone” and we used “off the shelf” components.
Thus, the performance that was achieved should be easily accomplished by most customers.
Streams, of queries, were used throughout Oracle performance testing. A stream is a collection of
queries, to be run in order. To simulate concurrency, several streams are run concurrently.
1. Power – the queries were run in serial order with no Degree of Parallelism (DOP) limits
2. Baseline – the queries were run in serial order with DOP limits (similar DOP limits to the
concurrency runs (stream))
3. 10 Streams - to simulate 10 concurrent queries a workload was composed consisting of 7
Entry level steams, 2 Intermediate streams, and 1 advanced stream.
4. 20 Streams - to simulate 20 concurrent queries a workload was composed consisting of 14
Entry level steams, 4 Intermediate streams, and 2 advanced streams.
5. 40 Streams - to simulate 40 concurrent queries a workload was composed consisting of 28
Entry level steams, 8 Intermediate streams, and 4 advanced streams.
The numbers were chosen based on a fairly representative workload for the given concurrency value.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 24
During the power run no limitation was put on the DOP for any query.
During the baseline run, only one query was active on the system at any given time. But, during this
run the system resource usage for queries was limited by setting the DOP for the query. The DOP was
set differently pending on the category of the query as listed below, in Table 9.
Entry level 1
Intermediate 4
Advanced
8
These serial query performance tests were performed in order to understand the standalone
performance of each individual query. We could then understand the change in performance per
query as we increased the query concurrency level.
Results of the two single query stream runs are displayed with the concurrency results in graph A
below. As can be seen, running the queries with no limits on the DOP provided better performance.
10 7 2 1
20 14 4 2
40 28 8 4
The queries in each stream were executed immediately after each other on completion without any
“user think time”.
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 25
The result of all 5 query runs, showing average query run time in seconds, per each query in that run,
is displayed below in Graph A.
As can be seen, query response time increases with a higher concurrency level, especially for
Intermediate and Advanced queries. The workload scales very nicely to approximately 20 concurrent
queries. The scale between 20 and 40 concurrent deviated slightly from the ideal but also scaled
nicely.
RC Validation Testing
Average query run times (secs)
8000.0
7000.0
6000.0
5000.0
Entry
4000.0 Intermediate
3000.0 Advanced
2000.0
1000.0
0.0
Power Baseline 10 Streams 20 Streams 40 Streams
Additionally the system throughput was captured during the concurrency tests. The average and peak
throughputs were measured and are within expected ranges.
The detailed performance results are available under NDA through your HP technical account
representatives.
Once again, while still acceptable, the throughput at 40 concurrent queries has begun to taper off. At
40 concurrent queries, higher context switching and CPU contention were observed with performance
measurement tools. Additionally, there were virtually no I/O waits at 40 concurrent queries. The
workload was becoming CPU bound.
We believe there is additional concurrency headroom before performance becomes an issue because
of CPU contention. The system couldn’t tolerate a doubling of concurrency, but we felt an additional
20% growth was reasonable.
Please keep in mind that the server only had 4 Itanium cores and the workload is designated as an
Intermediate workload. Thus, a doubling of workload could easily be accommodated on the next
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 26
highest server, the rx6600, which is still a midsized server. Furthermore, the judicious use of summary
tables, aggregates, and hints, could increase response time tremendously.
To determine the affect of multithreading for BI in concurrent environments, the same concurrency test
with 20 query streams were performed with and without multithreading enabled. Results are shown
below, in graph B.
Entry level queries were unaffected. But, the more resource intensive Intermediate and Advance
queries clearly benefited from the use of multithreading. Thus, we recommend multithreading be
enabled for all but the simplest BI workloads and higher concurrency levels.
Multithreading
Avg query time with 20 Concurrent streams
4500.0
4000.0
3500.0
3000.0
2500.0
Multithreading
2000.0 No Multithreading
1500.0
1000.0
500.0
0.0
Entry Level Intermediate Advanced
SERVER
OS
STORAGE
EVA
SAN
ORACLE
• Oracle Database – Installation Guide – 10g Release 2 (10.2) for HP-UX Itanium (B25293-01)
• Oracle Database – Administrator’s Reference – 10g Release 2 (10.2) for UNIX-Based Operating
Systems (B15658-05)
• Oracle Database – Data Warehousing Guide – 10g Release 2 (10.2) (B14223-02)
• Oracle Database –Reference – 10g Release 2 (10.2) (B14237-02)
HP Reference Configurations for Oracle 10g Data Warehouses Release 2.0 Page 28
Architecture SMP
Server rx3600
Nodes 1
Sockets/Cores per node 2/4c
Memory per node 48GB
FC Cards per node 2xDP 4Gb/s
Node Interconnect N/A
SAN Switch SAN 4/16
Storage array EVA8000 (84)
Usable Storage TB 4.5
OS HP-UX
Estimated Concurrent 40-80
Users
RBIP 4.5
Table 10 - 1TB Medium SMP RC
NOTE:
RAID 5 – all arrays
RBIP = Relative BI Performance