Implementing a Well- Performing and Reliable Portal



From this document you will learn the answers to the following questions:

What settings do the uportal study use?

What did Sun use to help uportal?

What did Sun work with Unicon clients to implement uportal?

Similar documents
JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

Performance Testing Process A Whitepaper

University of Southern California Shibboleth High Availability with Terracotta

How To Test A Web Server

High Availability CAS

MID-TIER DEPLOYMENT KB

Performance Testing of Java Enterprise Systems

Performance Analysis of Web based Applications on Single and Multi Core Servers

Performance Testing and Optimization in Web-Service Based Applications

Advanced Liferay Architecture: Clustering and High Availability

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Performance Best Practices for Oracle Enterprise Service Bus and Advanced Queueing

Blackboard Learn TM, Release 9 Technology Architecture. John Fontaine

NetIQ Access Manager 4.1

Performance Testing Percy Pari Salas

Noelle A. Stimely Senior Performance Test Engineer. University of California, San Francisco

Web Application Testing. Web Performance Testing

Best Practices for Web Application Load Testing

How To Test For Performance

Identifying Performance Bottleneck using JRockit. - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies

Performance brief for IBM WebSphere Application Server 7.0 with VMware ESX 4.0 on HP ProLiant DL380 G6 server

Java Garbage Collection Basics

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

JVM Garbage Collector settings investigation

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

Tomcat Tuning. Mark Thomas April 2009

AgencyPortal v5.1 Performance Test Summary Table of Contents

WEBLOGIC ADMINISTRATION

Configuration Management of Massively Scalable Systems

Comparative Study of Load Testing Tools

Using jvmstat and visualgc to Solve Memory Management Problems

RTI v3.3 Lightweight Deep Diagnostics for LoadRunner

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

SOLUTION BRIEF: SLCM R12.8 PERFORMANCE TEST RESULTS JANUARY, Submit and Approval Phase Results

Bringing Value to the Organization with Performance Testing

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

Scaling Progress OpenEdge Appservers. Syed Irfan Pasha Principal QA Engineer Progress Software

Microsoft Web Application Stress Tool

Tools for Testing Software Architectures. Learning Objectives. Context

Performance Testing Process

SOLUTION BRIEF: SLCM R12.7 PERFORMANCE TEST RESULTS JANUARY, Load Test Results for Submit and Approval Phases of Request Life Cycle

Application Performance Testing Basics

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Neelesh Kamkolkar, Product Manager. A Guide to Scaling Tableau Server for Self-Service Analytics

A Middleware Strategy to Survive Compute Peak Loads in Cloud

Agility Database Scalability Testing

High-Availability and Scalability

Load/Stress Test Plan

Propalms TSE Enterprise Deployment Server Sizing

Tuning Tableau Server for High Performance

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Enterprise Performance Testing. Karuna Karnati and Ajay Kumar. Accenture Delivery Center for Technology in India

A Talk ForApacheCon Europe 2008

Hardware Recommendations

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

Apache Tomcat Tuning for Production

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Throughput Capacity Planning and Application Saturation

3 Examples of Reliability Testing. Dan Downing, VP Testing Services MENTORA GROUP

Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

Oracle Corporation Proprietary and Confidential

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010

Glassfish Architecture.

Using Oracle Real Application Clusters (RAC)

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Open Source and Commercial Performance Testing Tools

THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING

Web Application s Performance Testing

High-Availability. Configurations for Liferay Portal. James Min. Senior Consultant / Sales Engineer, Liferay, Inc.

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

How to Configure a Stress Test Project for Microsoft Office SharePoint Server 2007 using Visual Studio Team Suite 2008.

High Availability with Elixir

WebSphere Performance Monitoring & Tuning For Webtop Version 5.3 on WebSphere 5.1.x

Using Tomcat with CA Clarity PPM

Performing Load Capacity Test for Web Applications

XpoLog Center Suite Data Sheet

Business white paper. HP Process Automation. Version 7.0. Server performance

1 How to Monitor Performance

SAP BusinessObjects BI4 Sizing What You Need to Know

How to create a load testing environment for your web apps using open source tools by Sukrit Dhandhania

Enterprise Manager Performance Tips

Case Study: Load Testing and Tuning to Improve SharePoint Website Performance

E-commerce: Load Testing and the Advantages of Open Source Model

We turn 10! Performance Testing. The Magazine for Professional Testers. June 2010

Ground up Introduction to In-Memory Data (Grids)

Delivering Quality in Software Performance and Scalability Testing

Chapter 1 - Web Server Management and Cluster Topology

Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer

High Availability of the Polarion Server

Muse Server Sizing. 18 June Document Version Muse

Agenda. Tomcat Versions Troubleshooting management Tomcat Connectors HTTP Protocal and Performance Log Tuning JVM Tuning Load balancing Tomcat

Running a Workflow on a PowerCenter Grid

Bernie Velivis President, Performax Inc

Using DataDirect Connect for JDBC with Oracle Real Application Clusters (RAC)

Remote Network Accelerator

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Transcription:

Implementing a Well- Performing and Reliable Portal Adam Rybicki arybicki@unicon.net

Agenda I. Introduction II. Tools Needed III. Capacity Planning IV. Load Testing V. Automatic Failover VI. Performance Monitoring VII. Performance Tuning

Introduction What qualifies me to speak about this? Have been working with uportal since the beginning Performed uportal scalability study with Sun Presented the study s results at the Winter, 2002 JA- SIG conference Co-authored a white paper with Sun titled JA-SIG uportal Sizing Study (http://www.sun.com/products-nsolutions/edu/whitepapers/pdf/uportalatiforce.pdf) Worked with many Unicon clients implementing uportal to help them load-test uportal

Introduction Database Load-balancer Other Backend Systems Tomcat/uPortal

Definitions Scalability property of a system, a network or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged¹ Performance largely a function of the frequency and nature of intercomponent communication, in addition to the performance characteristics of the components themselves, and hence can be predicted by studying the architecture of a system² ¹ wikipedia.org ² P.C. Clements Coming Attractions in Software Architecture, No.CMU/SEI-96-TR-003, Software Engineering Institute, Carnegie Mellon University,February 1996.

Definitions uportal Translations: Performance response time to an individual HTTP request Scalability an ability of the system to handle many individual HTTP requests while keeping the response time acceptably low

Definitions Vertical Scalability To scale vertically or scale up means to add resources to a single node in a system, such as adding memory or a faster hard drive to a computer. Horizontal Scalability To scale horizontally or scale out means to add more nodes to a system, such as adding a new computer to a clustered software application. Source: wikipedia.org

Tools Needed Load-generation Used to simulate many simultaneous Web users. Options: Free*: Apache JMeter OpenSTA Commercial: RadView WebLOAD Empirix e-load Mercury LoadRunner * Nothing here is really free. The investment required to master the use of these tools will be significant.

Tools Needed Performance Monitoring Used in this context to obtain and optimize the servers memory and other resources usage. Options: Free: Sun s jconsole (from JDK 5) CPU / Network / Memory utilization tools (usually supplied with the OS) uportal s Stats Recorder interface CRuntimeData uportal channel ORCA (http://www.orcaware.com/orca/) Others? Commercial: Quest Software s JProbe Borland s Optimizeit YourKit Java Profiler* * Free licenses available to test open source code.

Tools Needed Load-balancing Used to distribute the load among multiple servers, detect failed servers, and optionally encrypt HTTP traffic. Options: Free: Apache JK 1.2.x Apache HTTP Server 2.x with mod_proxy Pound Others? Commercial: Zeus (both software and hardware) CISCO (hardware) F5 Networks Big IP (hardware)

Capacity Planning Determine the acceptable response time Develop simulation scripts: Record Edit Add random user generation Add random delays Deploy load-generation drones Ramp up the load to avoid server overload Run the simulation on a single server Make sure that the server is well utilized before you decide what s the number of peak concurrent users per server Graph the results to visualize the server s response to increasing load Analyze the results

Capacity Planning Demo Start HSQL Start Tomcat Start jconsole Log on to uportal and select every tab to prime the server Run JMeter Wait for the average page time to stabilize Switch to production JVM settings Restart Tomcat Re-connect jconsole Prime the server Reset and re-run JMeter Unless there are other external performance factors, the response time should improve

Capacity Planning 25 20 15 10 5 0 10 60 110 160 210 260 310 360 410 460 510 560 610 660 710 760 810 860 910 Page Time Hits Per Second Load Size 140 120 100 80 60 40 20 0

Capacity Planning This exercise assumes that the back end systems (RDBMS, LDAP, SIS, etc.) will scale to meet portal s demand Estimate the peak load (maximum number of concurrent users) Usually 5-10% of total user population Your number will depend on how peak-usage-prone your portal applications are (class registration, grade report, etc) Never plan to operate at or near peak capacity Arrange your server farm so that you can re-purpose your QA servers to production during peak times.

Load Testing Get a representative sampling of the target population Enhance the test scripts to randomly select users Consider using load-generation drone computers If practical, use the load-generation computers from different locations Monitor the load on all servers, including the back-end databases, directories, e-mail, etc. Detect bottlenecks, eliminate or improve, retest Repeat load testing with every significant new application added to the portal

Performance Monitoring Page time (the load-generation tool will do that) Memory usage (jconsole from the JDK) If memory leaks are suspected, one of the commercial profilers may be needed External tools may not be able to pinpoint performance bottlenecks Utilize uportal s Stats Recorder facility to gather perportlet stats Performance monitoring tools may also be used to detect failed servers Some load-balancing solutions can monitor systems performance to distribute the load according to actual load rather than the number of sessions

Performance Monitoring Many universities have developed custom Web pages to report their servers cumulative statistics on one page Should some of this work be contributed back and included in the framework? Preserving historical stats essential for reports

Memory Leaks Memory leaks lead to performance degradation Over time this degradation will result in server failure uportal framework has been extensively tested for resource leaks Some leaks may be caused by libraries uportal uses

Living With Memory Leaks With enough memory the system s performance may remain good for a while Server restarts: Scheduled downtime Detect server failures and restart automatically Load balancer should automatically pause sending clients to downed servers

JVM Tuning Many universities have tuned their JVM settings to optimize their portals performance (http://www.ja-sig.org/wiki/display/upc/jvm+configurations) Sun s GC tuning page reads like a dissertation (http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html) Since no two portal implementations are the same, start simple and add more options only when necessary

Sun s Garbage Collectors Copying Default Parallel copying -XX:+UseParNewGC Multi-processor Parallel scavenging -XX:+UseParallelGC Multi-processor Lots of memory (GBs) Incremental -Xincgc Single processor Concurrent -XX:+UseConMarkSweepGC Single processor Lots of memory (GBs)

A Pragmatic Start Use a smart garbage collector setting - XX:+AggressiveHeap Inspects machine resources (memory, processors) Attempts to set various parameters to be optimal for longrunning, memory allocation-intensive jobs Adapts the sizes of the young generation and tenured generation based on the application's behavior Picks the best garbage collector for the server based on the number of CPUs and amount of memory Grabs up to ½ of system s memory Add the server option -Xverify:none can improve the startup time

Questions and Answers Adam Rybicki arybicki@unicon.net info@unicon.net www.unicon.net