Showing posts with label weblogic. Show all posts
Showing posts with label weblogic. Show all posts

Sunday, May 24, 2015

OBIEE Tuning - Under the hood

 Monitoring what to tune:

  • Monitor performance using Enterprise Manager,
  • OBIEE Admin/Session tool
  • Usage Tracking
  • Fiddler browser based client developer add-on's - see where is most of the time being taken for a page load and plan accordingly.
  • Use Oracle Application Testing Suite (OATS) for Load Testing using a test strategy reflecting the load and type of usage.
Understanding Monitoring is very important  because Oracle's documentation is not very clear on how the settings effect the overall performance. They at best provide two values - default, and suggested, without much explanation. So if we want to customize these for the situation at hand, we should be able to monitor the effects of changes and tweak it to the what best applies to our situation.

Apply latest patches

  • Upgrade to the latest patch set - follow Support documentation (Upgrade advisory) to plan major upgrades.
  • Stay on approved Java version

Delegate work away from OBIEE server


Reverse Proxy/OHS Cache: OBIEE prevents the browsers from caching its content. This is a desired tract to ensure fresh reports data, but overloads the BI Presentation server/OHS as all the static content now needs to be served for each and every request.

This can be mitigated by implementing a Reverse Proxy server or enabling caching on Web server.

Optimized connections


The Connection Pools to the underlying databases should be enough to be able to reasonably service the expected number of concurrent users. Pools also exists for network connection and here, the timeout should be reduced so that they can be freed more often and made available for subsequent calls. There are various parameter based on the underlying OS to achieve this:

  • Database Connection Pools for these should be reviewed:
  • Database connection in the physical layer:
    • Init-Block Connection Pools
    • Physical DB Connection Pools
    • BIP/MDS Connection Pools (others if Essbase/ODI are installed)
  • Inter-Process connection pool:increase the bridge connection pool for Presentation server to sufficient level
  • Enable compression at web server to ensure high throughput
  • Ensure sufficient search depth within the AD of choice. This can be result in additional complexity if there is a cyclic membership.

Thread Management


  •     Manage Stuck thread trigger time: 
    • Account for long running queries from the usage tracking parameters 
    • Ensure that the system doesn't flag threads as stuck in that time frame.  
  •     Increase thread pool for charting engine, job manager

Turn Off Debugging features on production:


  •     Log levels
  •     Wrap Data Type (JDBC)
  •     Lock down production RPD to read only mode
  •     Database client libraries - disable signal handling

JVM - Memory


  • Increase Heap
  • Compressed Reference
  • Thread Local sizes based on available physical memory for OBIEE

Cache management:


  • Move cache and temp directories(javaHost/BIP/BIPS) to RAM disk (~256 GB)
  • Use cache seeding. Automate using SASeedQuery after ETL process.
  • Adjust maximum cache size based on frequently used/first page reports
  • Increase number of open files limit in OS to allow for multiple concurrent processing of cache/sort/logs etc.

Aggregate data


Reduce Database's processing cycles, and the network bandwidth needs.

Hardware Optimization


  • Maximize Memory and Networking capability of each server. 
  • OBIEE licensing is core based. Addition servers will result in added licensing cost. So maximize the memory and network capacity on the serve before scaling out.
  • Throw in more hardware, vertically scale the system for performance, get high availability as an added benefit.

Sizing of Server


Factors used to determine the capacity of a server:
  •     Total Named user vs Concurrent users
  •     SSL turned on or not.
  •     complexity of the Report formats
  •     Underlying database and the connection between the two servers

BI Publisher


  •     Ensure appropriate JDK/JVM
  •     Optimal memory and disk space allocation
  •     Use BI Publisher's XSLT processor (Enable scalable feature of XSLT processor)
  •     Divide optimization efforts by
    • Online/Concurrent Usage
    • Report size - Small(~10 Pages)/Medium(~50 Pages)/Large(> 100 pages)/ Extremely large (> 100,000 rows)
    • Bursting - Total number of report vs. time window
  •     Run-time optimization
    • Enable XSLT Processor, enable scalable features
    • Enable Muti-Threading
    • Increase Thread Count
    • Increase FO Buffer size
    • Increase Pages in Caches setting
    • Enable Run-Time Cache
    • Disable Autorun
  •     Use JNDI over JDBC
  •     Push database functions like Joins to Database (Use OBIEE models)
  •     XML
    • Use short names (smaller overall XML)
    • Use Unique names across structures
    • Avoid XML attributes
    • Use Absolute paths for Searches rather than Relative paths
  •      Scale out
  •     Configure debug settings to minimal for production

Finally some functional optimization


  • Rearrange dashboards so that the smaller/faster reports are rendered first
  • Show summary reports (from aggregates) first
  • Force users to put appropriate filters in prompts
  • Partition database
  • Index appropriately
  • Run Statistics and keep them current

Moniter, Adjust, Repeat!



Sachin
Architect - Oracle Engineered Systems
Exalytics/Exalogic/Exadata
BuzzClan LLC

BuzzClan is a business consulting company collaborating to provide Oracle software advisory services & implementation services. BuzzClan LLC is committed to providing substantive business value on each and every client engagement. We do this through a combination of industry-specific business expertise, technical skills, proven project management methods and our “onsite - off site - offshore” delivery model. We strive to work in partnership with our customers to build high-performance teams and create business solutions that will last.

Thursday, May 8, 2014

OBIEE - Multitenancy - Presentation Catalog

As discussed in the previous post, OBIEE: Multitenancy Implementations generally involve a varied user base with different needs from the underlying data warehouse. Furthermore, the users are also able to expand the presentation catalog on their own during the lifetime of this implementation.

So, ideally, the provider will present the users with a basic set of reports and dashboards which will be deemed universal for the subject areas being covered. These will be designed after consulting with various user groups from different target audience (tenant groups). The provider should also generate basic templates which can be extended for ad hoc analysis to ensure that the users are utilizing the power of the underlying BI platform.

As this blog is focused primarily around OBIEE and supporting Oracle echo system, I will say that this should be given to the users so they can benefit from the ad hoc capabilities provided by OBIEE. With proper training, the users can form a 'power user' group within their rank-and-file. These power users can create custom reports for specific tenants or groups within them. In addition, the provider can offer custom consulting for a fee and come up with reports and dashboards for specific tenants.

To summarize:
  • Global reports and dashboards for all
  • Global templates for everyone to use as the starting point for ad hoc analysis
  • Personal space for each users where they can save
    • frequently used ad-hoc analysis
    • work-in-progress before the artifacts are released for use with others within the tenancy
  • Directories for each tenant to share
    • Custom reports among themselves
    • Proof-of-concept reports for validation (access may be restricted to certain auditors only)
    • Custom development done by the provider - often for a fee - available only to users of the particular tenant. Artifacts from this section may eventually find its way into the global area, depending on popularity, maturity of the offering, etc.
Of course, all of these need to be properly secured. There will be sub-directories/sections which will have appropriate authorization considerations based on the user’s role within the tenancy.


Sachin
Architect - Oracle Engineered Systems
Exalytics/Exalogic/Exadata
BuzzClan LLC

BuzzClan is a business consulting company collaborating to provide Oracle software advisory services & implementation services. BuzzClan LLC is committed to providing substantive business value on each and every client engagement. We do this through a combination of industry-specific business expertise, technical skills, proven project management methods and our “onsite - off site - offshore” delivery model. We strive to work in partnership with our customers to build high-performance teams and create business solutions that will last.

Tuesday, May 6, 2014

What Constitutes an Exalytics Implementation

This is part 2 of a series of articles discussing Exalytics components:
Part I - Exalytics In Memory - Software Features
After defining Exalytics In-Memory Software in a previous post, let's continue the discussion by identifying the Exalytics machine's hardware and software components.


Side-by-Side Comparison of the Various Exalytics Systems (i.e. X2-4, X3-4 and T5-8)?
Feature
Exalytics X2-4
Exalytics X3-4
Exalytics T5-8
Processors
4 Intel XEON E7-4870
40 Cores
4 Intel XEON E7-4800
40 Cores
8 SPARC T5
128 Cores
Dynamic Random-Access Memory
1 TB
2 TB *
4 TB
Hard Disk Drive
3.6 TB
5.4 TB *
7.2 TB
PCI Flash Storage
None
2.4 TB *
3.2 TB
Networking
40 Gbps InfinBand - 2 Ports
10 Gbps Ethernet - 2 Ports
8 GbpsFibre channel - 2 Ports
1 Gbps Ethernet - 4 Ports
40 Gbps InfinBand - 2 Ports
10 Gbps Ethernet - 2 Ports
8 GbpsFibre channel - 2 Ports
1 Gbps Ethernet - 4 Ports
40 Gbps InfinBand - 4 Ports
10 Gbps Ethernet - 4 Ports
8 GbpsFibre channel - 4 Ports
 *upgrade kits available for additional memory and flash storage

Software Certification Matrix: (Certification Matrix)


Exalytics X2-4
Exalytics X3-4
-OR- Exalytics X3-4 with Upgrade Kits

Exalytics T5-8
Server Operating System
Exalytics Base Image on Linux x86-64 1.0.0.6

Exalytics  -Oracle Solaris 11.1 SRU11.4 (64 bit)
OS Kernel Version
Exalytics  -Oracle Linux 5.8 (UL5)  with UEK
Linux Kernel Version Number:
2.6.32-400.11.1.el5uek

N/A
Exalytics Base Image for Oracle VM

2.0.1.3

N/A
Exalytics Base Image Kernel for OVM

 Oracle Linux UL5  with UEK - Oracle Linux Server release 5.6
Kernel 2.6.39-300.32.6.el5uek on an x86_64

N/A
 Exalytics Oracle VM Template (Guest)
2.0.1.3

N/A
 Exalytics Oracle VM Template (Guest) Kernel
 Oracle Linux UL5  with UEK - Oracle Linux Server release 5.6
Kernel 2.6.32-200.21.2.el5uek on an x86_64

N/A
BI Foundation
OBIEE 11.1.1.7.x,  
TimesTen 11.2.2.5.x, 11.2.2.6.x
Essbase 11.1.2.2.200+/11.1.2.3.001+


TimesTen
 TimesTen 11.2.2.5.x, 11.2.2.6.x


BI Application
11.1.1.7.1
7.9.6.3
7.9.6.4


EPM
11.1.2.2 or 11.1.2.3 (depends on module/component)


OVM Manager
3.2.4 (X2-4),  3.2..7(X3-4)


EM
Agent - 12.0.1.3+


Endeca
3.0/3.1



We can use Exalytics to perform the following:

1.       BI Apps Implementation: The Enterprise Data Warehouse connected to the ERP system in use (PeopleSoft, EBS, JDE, SAP, etc.). Oracle has pre-built analytics comprised of a DW Schema, ETL/ELT for bringing the data from the ERP Database to the Data warehouse, OBIEE Model (RPD), and the Reports and Dashboards.

2.       Custom BI Applications: Many organizations have custom BI implementations over their applications. This is comprised of a Data Warehouse/Data Mart, the ETL/ELT process, the OBIEE Model, and the Reports and Dashboards.

3.       EPM Implementation: Oracle's Financial Planning, Budgeting and Forecasting tool for the enterprise. This includes Essbase, OBIEE, and Hyperian Financials.


4.       Endeca
I will discuss the OBIEE/BI Apps (#1/#2) implementations in the next blog.


Sachin
Architect - Oracle Engineered Systems
Exalytics/Exalogic/Exadata
BuzzClan LLC

BuzzClan is a business consulting company collaborating to provide Oracle software advisory services & implementation services. BuzzClan LLC is committed to providing substantive business value on each and every client engagement. We do this through a combination of industry-specific business expertise, technical skills, proven project management methods and our “onsite - off site - offshore” delivery model. We strive to work in partnership with our customers to build high-performance teams and create business solutions that will last.

What is Zero Trust Architecture?