Assembler (as) is not installed by default on Solaris 11.
Find and install
# pkg search assembler
INDEX ACTION VALUE PACKAGE
pkg.fmri set solaris/developer/assembler pkg:/firstname.lastname@example.org
# pkg install pkg:/developer/assembler
Assembler binary used to be under /usr/ccs/bin directory on Solaris 10 and prior versions.
There is no /usr/ccs/bin on Solaris 11. Contents were moved to /usr/bin
2. Non-interactive retrieval of the entire list of disks that format reports
If the format utility cannot show the entire list of disks in a single screen on stdout, it shows some and prompts user to - hit space for more or s to select - to move to the next screen to show few more disks. Run the following command(s) to retrieve the entire list of disks in a single shot.
format < /dev/null
echo "\n" | format
3. Finding system wide file descriptors/handles in use
Run the following kstat command as any user (privileged or non-privileged).
kstat -n file_cache -s buf_inuse
Going through /proc (process filesystem) is less efficient and may lead to inaccurate results due to the inclusion of duplicate file handles.
4. ssh connection to a Solaris 11 host fails with error Couldn't agree a client-to-server cipher (available: aes128-ctr,aes192-ctr,aes256-ctr,arcfour128,arcfour256,arcfour)
Solution: add 3des-cbc to the list of accepted ciphers to sshd configuration file.
Oracle Internet Directory (OID) is an LDAP v3 Directory Server that has multi-threaded, multi-process, multi-instance process architecture with Oracle database as the directory store.
BENCHMARK WORKLOAD DESCRIPTION
Five test scenarios were executed in this benchmark - each test scenario performing a different type of LDAP operation. The key metrics are throughput -- the number of operations completed per second, and latency -- the time it took in milliseconds to complete an operation.
TEST SCENARIOS & RESULTS
1. LDAP Search operation : search for and retrieve specific entries from the directory
In this test scenario, each LDAP search operation matches a single unique entry. Each Search operation results in the lookup of an entry in such a way that no client looks up the same entry twice and no two clients lookup the same entry, and all entries are looked-up randomly.
2. LDAP Add operation : add entries, their object classes, attributes and values to the directory
In this test scenario, 16 concurrent LDAP clients added 500,000 entries of object class InetOrgPerson with 21 attributes to the directory.
3. LDAP Compare operation : compare a given attribute value to the attribute value in a directory entry
In this test scenario, userpassword attribute was compared. That is, each LDAP Compare operation matches user password of a user.
4. LDAP Modify operation : add, delete or replace attributes for entries
In this test scenario, 50 concurrent LDAP clients updated a unique entry each time and a total of 50 million entries were updated. Attribute that is being modified was not indexed
5. LDAP Authentication operation : authenticates the credentials of a user
In this test scenario, 1000 concurrent LDAP clients authenticated 50 million users.
BONUS: LDAP Mixed operations Test
In this test scenario, 1000 LDAP clients were used to perform LDAP Search, Bind and Modify operations concurrently. Operation breakdown (load distribution): Search: 65%. Bind: 30%. Modify: 5%
And finally, the:
1 x Oracle SPARC T5-2 Server
» 2 x 3.6 GHz SPARC T5 sockets each with 16 Cores (Total Cores: 32) and 8 MB L3 cache
» 512 GB physical memory
» 2 x 10 GbE cards
» 1 x Sun Storage F5100 Flash Array with 80 flash modules
» Oracle Solaris 11.1 operating system
Major credit goes to our colleague, Ramaprakash Sathyanarayan
Hardly six months after announcing Siebel 188.8.131.52 benchmark results on Oracle SPARC T4 servers, we have a brand new set of Siebel 184.108.40.206 benchmark results on Oracle SPARC T5 servers. There are no updates to the Siebel benchmark kit in the last couple years - so, we continued to use the Siebel 220.127.116.11 benchmark workload to measure the performance of Siebel Financial Services Call Center and Order Management business transactions on the recently announced SPARC T5 servers.
The latest Siebel 18.104.22.168 benchmark was executed on a mix of SPARC T5-2, SPARC T4-2 and SPARC T4-1 servers. The benchmark test simulated the actions of a large corporation with 40,000 concurrent active users. To date, this is the highest user count we achieved in a Siebel benchmark.
User Load Breakdown & Achieved Throughput
Siebel Application Module
Business Trx per Hour
Financial Services Call Center
Average Transaction Response Times for both Financial Services Call Center and Order Management transactions were under one second.
Software & Hardware Specification
Per Server Specification
Solaris 10 1/13 (S10U11)
Oracle 11g R2
Solaris 10 8/11 (S10U10)
iPlanet Web Server
7.0.9 (7 U9)
Solaris 10 8/11 (S10U10)
Oracle Application Test Suite
AMD Opteron 285 SE
Windows 2003 R2 SP2
Load Drivers (Agents)
Oracle Application Test Suite
Intel Xeon X5670
Windows 2003 R2 SP2
Siebel Gateway Server was configured to run on one of the application server nodes
Four Siebel application servers were configured in the Siebel Enterprise to handle 40,000 concurrent users
- Each SPARC T5-2 was configured to run two Siebel application server instances
- Each of the Siebel application server instances on SPARC T5-2 servers were separated using Solaris virtualization technology, Zones
- 40,000 concurrent user sessions were load balanced across all four Siebel application server instances
Siebel database was hosted on a Sun Storage F5100 Flash Array consisting 80 x 24 GB flash modules (FMODs)
- Siebel 22.214.171.124 benchmark workload is not I/O intensive and does not require flash storage for better I/O performance
Fourteen iPlanet Web Server virtual servers were configured with Siebel Web Server Extension (SWSE) plug-in to handle 40,000 concurrent user load
- All fourteen iPlanet Web Server instances forwarded HTTP requests from Siebel clients to all four Siebel application server instances in a round robin fashion
Oracle Application Test Suite (OATS) was stable and held up amazingly well over the entire duration of the test run.
- The test ran for more than five hours including a three hour ramp up state
The benchmark test results were validated and thoroughly audited by the Siebel benchmark and PSR teams
- Nothing new here. All Sun published Siebel benchmarks including the SPARC T4 one were properly audited before releasing those to the outside world
Finally, how does this benchmark stack up against other published benchmarks? Short answer is "very well". Head over to the Oracle Siebel Benchmark White Papers webpage to do the comparison yourself.
[Credit to our hard working colleagues in SAE, Siebel PSR, benchmark and Oracle Platform Integration (OPI) teams. Special thanks to Sumti Jairath and Venkat Krishnaswamy for the last minute fire drill]
The focus of the paper is on databases and zones. On SuperCluster, customers have the choice of running their databases in logical domains that are dedicated to running Oracle Database 11g R2. With exclusive access to Exadata Storage Servers, those domains are aptly called "Database" domains. If the requirement mandates, it is possible to create and use all logical domains as "database domains" or "application domains" or a mix of those. Since the focus is on databases, the paper talks only about the database domains and how zones can be created, configured and used within each database domain for fine grained control over multiple databases consolidated in a SuperCluster environment.
When multiple databases are being consolidated (including RAC databases) in database logical domains, zones are one of the options that fulfill requirements such as the fault, operation, network, security and resource isolation, multiple RAC instances in a single logical domain, separate identity and independent manageability for database instances.
The best practices cover the following topics. Some of those are applicable to standalone, non-engineered environments as well.
CPU, memory and disk space allocation
Zone Root on Sun ZFS Storage Appliance
Use of DISM
Use of ZFS filesystem
SuperCluster specific zone deployment tool, ssc_exavm
Exadata Storage Grid (Disk Group) Configuration
Disk Group Isolation
Shared Storage approach
Dedicated Storage Server approach
Resizing Grid Disks
Oracle RAC Configuration Securing the Databases, and
Example Database Consolidation Scenarios
Consolidation example using Half-Rack SuperCluster
Consolidation example using Full-Rack SuperCluster
A large group of experts reviewed the material and provided quality feedback. Hence they deserve credit for their work and time. Listed below are some of those reviewers (sincere apologies if I missed listing any major contributors).
Kesari Mandyam, Binoy Sukumaran, Gowri Suserla, Allan Packer, Jennifer Glore, Hazel Alabado, Tom Daly, Krishnan Shankar, Gurubalan T, Rich long, Prasad Bagal, Lawrence To, Rene Kundersma, Raymond Dutcher, David Brean, Jeremy Ward, Suzi McDougall, Ken Kutzer, Larry Mctintosh, Roger Bitar, Mikel Manitius
Just like the Siebel 8.1.x/SPARC T4 benchmark post, this one too was overdue for at least four months. In any case, I hope the Oracle BI customers already knew about the OBIEE 11g/SPARC T4 benchmark effort. In here I will try to provide few additional / interesting details that aren't covered in the following Oracle PR that was posted on oracle.com on 09/30/2012.
The entire BI middleware stack including the WebLogic 11g Server, OBI Server, OBI Presentation Server and Java Host was installed and configured on a single SPARC T4-4 server consisting four 8-Core 3.0 GHz SPARC T4 processors (total #cores: 32) and 128 GB physical memory. Oracle Solaris 10 8/11 is the operating system.
BI users were authenticated against Oracle Internet Directory (OID) in this benchmark - hence OID software which was part of Oracle Identity Management 126.96.36.199.0 was also installed and configured on the system under test (SUT). Oracle BI Server's Query Cache was turned on, and as a result, most of the query results were cached in OBIS layer, that resulted in minimal database activity making it ideal to have the Oracle 11g R2 database server with the OBIEE database running on the same box as well.
Oracle BI database was hosted on a Sun ZFS Storage 7120 Appliance. The BI Web Catalog was under a ZFS/zpool on a couple of SSDs.
In this benchmark, 25000 concurrent users assumed five different business user roles -- Marketing Executive, Sales Representative, Sales Manager, Sales Vice-president, and Service Manager. The load was distributed equally among those five business user roles. Each of those different BI users accessed five different pre-built dashboards with each dashboard having an average of five reports - a mix of charts, tables and pivot tables - and returning 50-500 rows of aggregated data. The benchmark test scenario included drilling down into multiple levels from a table or chart within a dashboard. There is a 60 second think time between requests, per user.
BI Setup & Test Results
OBIEE 11g 188.8.131.52.0 was deployed on SUT in a vertical scale-out fashion. Two Oracle BI Presentation Server processes, one Oracle BI Server process, one Java Host process and two instances of WebLogic Managed Servers handled 25,000 concurrent user sessions smoothly. This configuration resulted in a sub-second overall average transaction response time (average of averages over a duration of 120 minutes or 2 hours). On average, 450 business transactions were executed per second, which triggered 750 SQL executions per second.
It took only 52% of CPU on average (~5% system CPU and rest in user land) to do all this work to achieve the throughput outlined above. Since 25,000 unique test/BI users hammered different dashboards consistently, not so surprisingly bulk of the CPU was spent in Oracle BI Presentation Server layer, which took a whopping 29%. BI Server consumed about 10-11% and the rest was shared by Java Host, OID, WebLogic Managed Server instances and the Oracle database.
So, what is the key take away from this whole exercise?
SPARC T4 rocks Oracle BI world. OBIEE 11g/SPARC T4 is an ideal combination that may work well for majority of OBIEE deployments on Solaris platform. Or in marketing jargon - The excellent vertical and horizontal scalability of the SPARC T4 server gives customer the option to scale up as well as scale out growth, to support large BI EE installations, with minimal hardware investment.
Evaluate and decide for yourself.
[Credit to our colleagues in Oracle FMW PSR, ISVe teams and SCA lab support engineers]
Siebel is a multi-threaded native application that performs well on Oracle's T-series SPARC hardware. We have several versions of Siebel benchmarks published on previous generation T-series servers ranging from Sun Fire T2000 to Oracle SPARC T3-4. So, it is natural to see that tradition extended to the current genration SPARC T4 as well.
29,000 user Siebel 184.108.40.206 benchmark on a mix of SPARC T4-1 and T4-2 servers was announced during the Oracle OpenWorld 2012 event. In this benchmark, Siebel application server instances ran on three SPARC T4-2/Solaris 10 8/11 systems where as the Oracle database server 11gR2 was configured on a single SPARC T4-1/Solaris 11 11/11 system. Several iPlanet web server 7 U9 instances with the Siebel Web Plug-in (SWE) installed ran on one SPARC T4-1/Solaris 10 8/11 system. Siebel database was hosted on a single Sun Storage F5100 flash array consisting 80 flash modules (FMODs) each with capacity 24 GB.
Siebel Call Center and Order Management System are the modules that were tested in the benchmark. The benchmark workload had 70% of virtual users running Siebel Call Center transactions and the remaining 30% vusers running Siebel Order Management System transactions. This benchmark on T4 exhibited sub-second response times on average for both Siebel Call Center and Order Management System modules.
Load balancing at various layers including web and test client systems ensured near uniform load across all web and application server instances. All three Siebel application server systems consumed ~78% CPU on average. The database and web server systems consumed ~53% and ~18% CPU respectively.
All these details are supposed to be available in a standard Oracle|Siebel benchmark template - but for some reason, I couldn't find it on Oracle's Siebel Benchmark White Papers web page yet. Meanwhile check out the following PR that was posted on oracle.com on 09/28/2012.
The following example shows the symptoms of failure, and the exact error message.
$ emca -repos create
Password for SYSMAN user:
Do you wish to continue? [yes(Y)/no(N)]: Y
Nov 19, 2012 10:33:42 AM oracle.sysman.emcp.DatabaseChecks \
WARNING: ORA-01034: ORACLE not available
Nov 19, 2012 10:33:42 AM oracle.sysman.emcp.DatabaseChecks \
Database instance is unavailable. Fix the ORA error thrown and
run EM Configuration Assistant again.
Some of the possible reasons may be :
1) Database may not be up.
2) Database is started setting environment variable ORACLE_HOME
with trailing '/'. Reset ORACLE_HOME and bounce the database.
For eg. Database is started setting environment variable
ORACLE_HOME=/scratch/db/ . Reset ORACLE_HOME=/scratch/db and bounce
Ensure that the ORACLE_HOME is pointing to the right location in $ORACLE_HOME/bin/emca file.
Rather than installing from scratch, if ORACLE_HOME was copied over from another location, likely it results in wrong location for ORACLE_HOME in several Enterprise Manager (EM) specific scripts and files. It usually happens when the directory structure on the target machine is not identical to the structure on the original/source machine, including the top level directory location where Oracle RDBMS was installed properly using the installer.
This solution was centered around the engineered system, SPARC SuperCluster T4-4. Check the business and technical white papers along with a bunch of relevant useful resources online at the above optimized solution page for EBS.
What is an Optimized Solution?
Oracle's Optimized Solutions are designed, tested and fully documented architectures that are tuned for optimal performance and availability. Optimized solutions are NOT pre-packaged, fully tuned, ready-to-install software bundles that can be downloaded and installed. An optimized solution is usually a well documented architecture that was thoroughly tested on a target platform. The technical white paper details the deployed application architecture along with various observations from installing the application on target platform to its behavior and performance in highly available and scalable configurations.
Oracle E-Business Suite R12 Use Case
Multiple E-Business Suite R12 12.1.3 application modules were tested in this optimized solution -- Financials (online - oracle forms & web requests), Order Management (online - oracle forms & web req
uests) and HRMS (online - web requests & payroll batch). The solution will be updated with additional application modules, when they are available.
For the sake of completeness, test results were also documented in the optimized solution white paper. Those test results are mainly for educational purposes only. They give good sense of application
behavior under the circumstances the application was tested. Since the major focus of the optimized solution is around highly available and scalable configurations, the application was configured to me
et those criteria. Hence the documented test results are not directly comparable to any other E-Business Suite performance test results published by any vendor including Oracle. Such an attempt may lead to skewed, incorrect conclusions.
Questions & Requests
Feel free to direct your questions to the author of the white papers. If you are a potential customer who would like to test a specific E-Business Suite application module on any non-engineered syste
m such as SPARC T4-X or engineered system such as SPARC SuperCluster, contact Oracle Solution Center.
Different batch processes in Oracle Payroll flow have the ability to spawn multiple child processes (or threads) to complete the work in hand. The number of child processes to fork is controlled by the THREADS parameter in APPS.PAY_ACTION_PARAMETERS view.
The default value for THREADS parameter is 1, which is fine for a single-processor system but not optimal for the modern multi-core multi-processor systems. Setting the THREADS parameter to a value equal to or less than the total number of [virtual] processors available on the system may improve the performance of payroll processing. However on the down side, since multiple child processes operate against the same set of payroll tables in HR schema, database may experience undesired consequences such as buffer busy waits and index contention, which results in giving up some of the gains achieved by using multiple child processes/threads to process the work. Couple of other action parameters, CHUNK_SIZE and CHUNK_SHUFFLE, help alleviate the database contention.
Set a value for THREADS parameter as shown below.
SET PARAMETER_VALUE = DESIRED_VALUE
WHERE PARAMETER_NAME = 'THREADS';
(I am not aware of any maximum value for THREADS parameter)
The size of each commit unit for the batch process is controlled by the CHUNK_SIZE action parameter. In other words, chunking is the act of splitting the assignment actions into commit groups of desired size represented by the CHUNK_SIZE parameter. The default value is 20, and each thread processes one chunk at a time -- which means each child process inserts or processes 20 assignment actions at any time.
When multiple threads are configured, each thread picks up a chunk to process, completes the assignment actions and then picks up another chunk. This is repeated until all the chunks are exhausted.
It is possible to use different chunk sizes in different batch processes. During the initial phase of processing, CHUNK_SIZE number of assignment actions are inserted into relevant table(s). When multiple child processes are inserting data at the same time into the same set of tables, as explained earlier, database may experience contention. The default value of 20 is mostly optimal in such a case. Experiment with different values for the initial phase by +/-10 for CHUNK_SIZE parameter and observe the performance impact. A larger value may make sense during the main processing phase. Again experimentation is the key in finding the suitable value for your environment. Start with a large value such as 2000 for the chunk size, then increment or decrement the size by 500 at a time until an optimal value is found.
Set a value for CHUNK_SIZE parameter as shown below.
SET PARAMETER_VALUE = DESIRED_VALUE
WHERE PARAMETER_NAME = 'CHUNK_SIZE';
CHUNK_SIZE action parameter accepts a value that is as low as 1 or as high as 16000.
CHUNK SHUFFLE parameter
By default, chunks of assignment actions are processed sequentially by all threads - which may not be a good thing especially given that all child processes/threads performing similar actions against the same set of tables almost at the same time. By saying not a good thing, I mean to say that the default behavior leads to contention in the database (in data blocks, for example).
It is possible to relieve some of that database contention by randomizing the processing order of chunks of assignment actions. This behavior is controlled by the CHUNK SHUFFLE action parameter. Chunk processing is not randomized unless explicitly configured.
Set chunk shuffling as shown below.
SET PARAMETER_VALUE = 'Y'
WHERE PARAMETER_NAME = 'CHUNK SHUFFLE';