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



Similar documents
File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

Overview of I/O Performance and RAID in an RDBMS Environment. By: Edward Whalen Performance Tuning Corporation

Distribution One Server Requirements

Windows Server Performance Monitoring

Cloud Based Application Architectures using Smart Computing

DELL RAID PRIMER DELL PERC RAID CONTROLLERS. Joe H. Trickey III. Dell Storage RAID Product Marketing. John Seward. Dell Storage RAID Engineering

SAN Conceptual and Design Basics

PERFORMANCE TUNING ORACLE RAC ON LINUX

RAID HARDWARE. On board SATA RAID controller. RAID drive caddy (hot swappable) SATA RAID controller card. Anne Watson 1

VMware vsphere-6.0 Administration Training

Using Multipathing Technology to Achieve a High Availability Solution

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

VTrak SATA RAID Storage System

The Methodology Behind the Dell SQL Server Advisor Tool

Chapter Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig I/O devices can be characterized by. I/O bus connections

DELL TM PowerEdge TM T Mailbox Resiliency Exchange 2010 Storage Solution

Chapter 10: Mass-Storage Systems

Chapter 12: Mass-Storage Systems

Oracle Database Deployments with EMC CLARiiON AX4 Storage Systems

Optimizing Large Arrays with StoneFly Storage Concentrators

RAID. RAID 0 No redundancy ( AID?) Just stripe data over multiple disks But it does improve performance. Chapter 6 Storage and Other I/O Topics 29

Quantum StorNext. Product Brief: Distributed LAN Client

Virtualised MikroTik

Maximizing SQL Server Virtualization Performance

Price/performance Modern Memory Hierarchy

Performance characterization report for Microsoft Hyper-V R2 on HP StorageWorks P4500 SAN storage

Optimizing LTO Backup Performance

WHITEPAPER: Understanding Pillar Axiom Data Protection Options

STORAGE CENTER. The Industry s Only SAN with Automated Tiered Storage STORAGE CENTER

Configuration Maximums VMware Infrastructure 3

PARALLELS CLOUD STORAGE

Performance Analysis of RAIDs in Storage Area Network

Q & A From Hitachi Data Systems WebTech Presentation:

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Software-defined Storage Architecture for Analytics Computing

Oracle Database 10g: Performance Tuning 12-1

Virtual server management: Top tips on managing storage in virtual server environments

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

VERITAS Storage Foundation 4.3 for Windows

1 Storage Devices Summary

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers

EqualLogic PS Series Load Balancers and Tiering, a Look Under the Covers. Keith Swindell Dell Storage Product Planning Manager

Understanding Disk Storage in Tivoli Storage Manager

Nimble Storage for VMware View VDI

IBM ^ xseries ServeRAID Technology

M.Sc. IT Semester III VIRTUALIZATION QUESTION BANK Unit 1 1. What is virtualization? Explain the five stage virtualization process. 2.

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Deploying and Optimizing SQL Server for Virtual Machines

SAN TECHNICAL - DETAILS/ SPECIFICATIONS

FlexArray Virtualization

OPTIMIZING EXCHANGE SERVER IN A TIERED STORAGE ENVIRONMENT WHITE PAPER NOVEMBER 2006

Best Practices for Data Sharing in a Grid Distributed SAS Environment. Updated July 2010

DELL s Oracle Database Advisor

Introduction to Gluster. Versions 3.0.x

DB2 Database Layout and Configuration for SAP NetWeaver based Systems

Staying afloat in today s Storage Pools. Bob Trotter IGeLU 2009 Conference September 7-9, 2009 Helsinki, Finland

EMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage

Virtualizing Microsoft SQL Server 2008 on the Hitachi Adaptable Modular Storage 2000 Family Using Microsoft Hyper-V

Chapter 13 Selected Storage Systems and Interface

Tushar Joshi Turtle Networks Ltd

2009 Oracle Corporation 1

Audit & Tune Deliverables

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

High Performance Tier Implementation Guideline

Ultimate Guide to Oracle Storage

Geospatial Server Performance Colin Bertram UK User Group Meeting 23-Sep-2014

SQL Server Virtualization

Network Attached Storage. Jinfeng Yang Oct/19/2015

ARCHITECTING COST-EFFECTIVE, SCALABLE ORACLE DATA WAREHOUSES

Capacity planning for IBM Power Systems using LPAR2RRD.

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

The IntelliMagic White Paper on: Storage Performance Analysis for an IBM San Volume Controller (SVC) (IBM V7000)

my forecasted needs. The constraint of asymmetrical processing was offset two ways. The first was by configuring the SAN and all hosts to utilize

High Availability Databases based on Oracle 10g RAC on Linux

ISPS & WEBHOSTS SETUP REQUIREMENTS & SIGNUP FORM LOCAL CLOUD

Taking Linux File and Storage Systems into the Future. Ric Wheeler Director Kernel File and Storage Team Red Hat, Incorporated

Configuring Apache Derby for Performance and Durability Olav Sandstå

Configuration Maximums

Technology Insight Series

Virtual Server and Storage Provisioning Service. Service Description

E4 UNIFIED STORAGE powered by Syneto

Recommended hardware system configurations for ANSYS users

Storage Solutions Overview. Benefits of iscsi Implementation. Abstract

HP Z Turbo Drive PCIe SSD

CommuniGate Pro White Paper. Dynamic Clustering Solution. For Reliable and Scalable. Messaging

Delivering Quality in Software Performance and Scalability Testing

OVERVIEW. CEP Cluster Server is Ideal For: First-time users who want to make applications highly available

BlueArc unified network storage systems 7th TF-Storage Meeting. Scale Bigger, Store Smarter, Accelerate Everything

Big Fast Data Hadoop acceleration with Flash. June 2013

Merge Healthcare Virtualization

SCALABILITY AND AVAILABILITY

Storage and SQL Server capacity planning and configuration (SharePoint...

Running a Workflow on a PowerCenter Grid

WHITE PAPER. How To Build a SAN. The Essential Guide for Turning Your Windows Server Into Shared Storage on Your IP Network

Configuring Apache Derby for Performance and Durability Olav Sandstå

Virtual SAN Design and Deployment Guide

A Virtual Tape Library Architecture & Its Benefits

PSAM, NEC PCIe SSD Appliance for Microsoft SQL Server (Reference Architecture) September 11 th, 2014 NEC Corporation

Introduction to I/O and Disk Management

Using VMware VMotion with Oracle Database and EMC CLARiiON Storage Systems

Transcription:

Agenda Enterprise Performance Factors Overall Enterprise Performance Factors Best Practice for generic Enterprise Best Practice for 3-tiers Enterprise Hardware Load Balancer Basic Unix Tuning Performance Tuning Tools Throughwave Infrastructure Engineer Certification Course Level I Current form of Enterprise s Console Based 2 Tiers (Client- Model) 3 Tiers (Web, Model) Factors to Performance Running Platform Architecture of Hardware Platform Architecture of Operating System Operating System Architecture Parameters

Hardware Architecture I/O Bandwidth to slot Memory Bus I/O Bus Four Things to remember CPU Performance is not everything Memory Bandwidth I/O Bandwidth Storage Bandwidth Storage Bandwidth Software Parameters Operating System Architecture Normally dictated which platform we will run our application on. Tuned Operating System always faster than default installation. Windows or Unix does not make different much after tuned However.. Parameter Tuned always faster than default installation. Hardware Selection Network Performance Problem Memory Bus Memory Bus I/O Bus I/O Bandwidth to slot Do: Pick the most balance CPU architecture possible Multiple CPUs, Multiple Memory Buses Pick server with fastest I/O Bus possible PCI-Express >> PCI-X >> PCI PCI-Express is serial bus, PCI-EX x16 bus is faster than PCI-EX x 2 bus. Pick the most suitable memory speed for each CPU Use enough memory to satisfy swapping space allocation for target Operating System Select the right network I/O What is the bandwidth requirement Is the network controller fast enough? Does it plug into the fastest bus available on the hardware platform? Does application bandwidth need Jumbo Frame? DNS problem is the most common performance problem when involving network application Routing Setup Upstream Switch Capacity

Disk Block Size Platter Track Sector Cylinder Spindle How to get to data? Track Sector 9 Block size = I/O size unit for that particular disk. Every disk transfer combined from control and data transmission. Large block I/O means less overhead for storage command. The large the block I/O size, the faster the storage bus get saturate Sequential access pattern need large block size, but also need to be careful on bus saturation status Random access pattern For every access, disk must seek before I/O operation so we must minimize seek time instead Minimize Seek Time The larger the disk block, the less the seek time. (less block to request) Outside cylinder are faster, disk rearrange/compact usually move data to outside cylinder. Do: Storage Selection Controller Card from server must be the same bus type as the fastest bus on that server SAS << U320 SCSI << SATA << IDE Multi Path Fibre Channel SAN: Fibre Channel, SAS Choose the correct RAID level for application Use RAID 5 for application that read more than write, archiving, data that can get back from backup Graphic for web application RAID-1 is more than suffice. Critical always using RAID-10 Raid-6 is the next storage Raid level survive two disks failure striping to the max. The more disk in RAID set, the faster your application would be. Do not use NAS for critical database application (Exception is Parallel NAS system). Do not use RAID 5 for critical application Do not use iscsi for critical application

Fast but expensive How fast? 240 MB avg read time 180 MB avg write time Compare to 30 MB avg read time 15-20 MB avg write time How expensive? Solid State Where would we using it? Caching tier OS Swap space transaction store ( Log) Data Block Conversion Problem AppB1 AppB2 I/O Block Memory (OS Page Size) Raw Disk Block Data move from application to storage system in block fashioned Performance could degrade if the system has block conversion overhead block size. The rule is force by common dominator from OS page size 8KB on system like Dec Alpha, Sun UltraSPARC common 4KB, Basic Tuning Strategy (Best Practices) Step 1: Building Block Foundation Tuning Analyze first, if the performance could be I/O bound or CPU bound. Pick the right component for each server building block Select the right storage set up for application type Internal/External Raid Level Storage cache size Match I/O block size, OS paging size, and real storage block size Define storage block size with average largest block I/O size Tune virtual memory usage model of Operating System

Step 2: Parameter Tuning Adhere to recommendation from Vendors. Basic Rules: Separate Tier from Tier to minimize impact on access model and to allow us to expand with clustering For small size database or embedded application, keeping database tier around always faster than separate it out. For database, try to separate Log and Data I/O to different physical storage. Step 3: Clustering In 2-Tier, 3-Tier or N-Tier application model, clustering is the last strategy we use to overcome hardware performance limitation. How many Tiers can we have? Two-Tiers Presentation separate from Business Logic Business Logic and Logic still integrated together Ex: Classical Client- system Three-Tiers Presentation separate from Business Logic, and Backend Tier usually Logic Ex: Web with external database Tier N-Tiers Multiple factoring of business logic and presentation logic, most Tier interconnected with middleware logic Ex: Distributed Internet How to improve N-Tier Performance Load balance Hardware Web Tier Clustering Tier to help distribute database transaction load Clustering server Tier Tier

What we need to know before doing any Clustering Clustering Facts look easy to cluster, since all operations are atomic However, to do database clustering, we must make sure that all database updates are applied to all database nodes Clustering Facts Request Level Failure if current node crashes midway, the subsequent requests must be handled on different node automatically Session Level Failure if current node crashes midway, the users that currently login must be able to continue their sessions without losing session states. Clustering Strategy

Clustering Approaches Load Balancing Clustering Approaches Use shared file system and clustering software together to achieve database virtualization, or Use database replication feature to eliminate shared file system Use load balance to distribute load among database cluster nodes. Clustering Approaches Replicate application logic to all nodes Use load balance to distribute load among application cluster nodes Replicate session information to all application nodes Memory-to-Memory Replication Use centralized shared file system for session replication Use database tier to save session information. Hardware Load Balance Load Balancing helps distribute load among cluster nodes Basic Round Robin Weighted Round Robin Shortest Response Time Global Load Balance Load Balancing Alternatives 4.5 TB NAS Appliance Disaster Recovery map to Primary Site Disaster Recovery Site 4 x 1 GB Load Balance Firewall DR operation Single Sign-on AAA Load Balance Firewall DR operation Single Sign-on AAA GSLB can fulfill promises of Disaster Recovery Disaster Recovery needs replication of application and data at the same time. GSLB can help automate request to backup site automatically. GSLB can also do active/active load balance between site. Software Load Balance Advantages: Inexpensive Simple Disadvantages: One point of failure Limited concurrent connections. Hardware Load Balance Advantages: Automatically handle of session with Web Virtual IP eliminate one point of failure Proposed Built hardware can handle much higher load of concurrent connections Ability to do other Acceleration features like Compression, SSL acceleration, Link Load Balancing Better ROI in long term Disadvantages: Higher startup cost compare to software load balance solution.

Disk Pattern Basic Unix Tuning Partitioning is bad Too many hotspot move from one partition to other partition on same disk mean issue extra seek command Instead of direct serving data, disk subsystem busy serving seek requests. If you can not avoid partitioning (one disk system) Partition/Slice creation have order from outside cylinder to inside. (Mean first partition is the fastest) /root, /swap, /var, /home, /usr sound like something easily optimum. Memory Tuning Questions that need answer? Free list pages in Main Memory Free list Holding Kernel Data structure Scan page reference Page Fault Requested memory Block Malloc req Stole Page Back from /Kernel Or force swapping Paging Scan Mechanism Four states of OS memory usage Sufficient memory is available, optimum performance Memory is constrained Paging scan start attempt to stole page back from process System is short of memory system start swapping -- interactive process response time suffer Memory is running out Swapping/Paging activity reach saturation Increase limit of paging I/O per second to match with I/O bandwidth to paging device (SWAP space) Put swap on dedicated fastest I/O if possible multiple striping disks with hardware controller sound like a good idea. Swap space sizing? The most optimum need to measure on target machine under stress. Trigger tuning at half of current swap space. Put swap on the fastest slice as possible (except for /root partition) Configure multiple raw swap space per system (on different physical disk to create stripe effect for swap space What is the I/O access pattern? Is the hardware suitable to applications? I/O bottleneck? Memory access pattern is optimum? Processor overload? Is processing time in kernel space more than user space? Is the contention come from multi-thread blocking/locking?

If the cpu load never increase? Basic Tuning Load too little? Generate more load and see the relationship of CPU usage is I/O bound and bottle-neck Check iostat to see what happenning there. Externally bound to other services ex: network file system, database Profile the code to see where time was spent? Lock contention Profile the code to see where time was spent? Do we use exclusive lock in our code? If so try to see if we can use read/write lock or atomic variable instead Identify data flow pattern Keep minimum memory footprint, avoid creating too many objects in the system. Object pooling is difficult to make it right, and consume extra overhead for housekeeping and locking shared object in pool retest our code to compare no object pooling with object pooling enable. With hotspot technology in Java 1.5 up, create new Minimize logging Console operation is always expensive, minimize logging for our own good. Or check all logging code to allow enable/disable facility at will.