Agenda Overall Enterprise Application Performance Factors Enterprise Application Best Practice for generic Enterprise Application Performance Factors Best Practice for 3-tiers Enterprise Application Hardware Load Balancer Basic Unix Tuning Performance Tuning Tools Throughwave Infrastructure Engineer Certification Course Level I Current form of Enterprise Factors to Application Performance Applications Console Based Application Running Platform 2 Tiers Application (Client-Server Model) Architecture of Hardware Platform 3 Tiers Application (Web Application, Application Architecture of Operating System Server Model) Operating System Architecture Application Parameters
Hardware Architecture Software Parameters Operating System Architecture Memory Bus Normally Application dictated which platform we will run our application on. I/O Bandwidth to slot Tuned Operating System always faster than default installation. Windows or Unix does not make different much after I/O Bus tuned However.. Storage Bandwidth Application Parameter Four Things to remember Tuned Application always faster than default CPU Performance is not everything installation. Memory Bandwidth I/O Bandwidth Storage Bandwidth Hardware Selection Network Performance Problem Memory Bus Memory Bus I/O Bus I/O Bandwidth to slot Do: Select the right network I/O Pick the most balance CPU architecture possible What is the Application bandwidth requirement Multiple CPUs, Multiple Memory Buses Is the network controller fast enough? Pick server with fastest I/O Bus possible Does it plug into the fastest bus available on the hardware platform? PCI-Express >> PCI-X >> PCI Does application bandwidth need Jumbo Frame? PCI-Express is serial bus, PCI-EX x16 bus is faster than PCI-EX x 2 bus. DNS problem is the most common performance problem when Pick the most suitable memory speed for involving network application each CPU Use enough memory to satisfy swapping Routing Setup space allocation for target Operating System Upstream Switch Capacity
Disk Block Size Platter Block size = I/O size unit for that particular disk. Track Every disk transfer combined from control and data transmission. Sector Large block I/O means less overhead for storage Cylinder command. Spindle Track The large the block I/O size, the faster the storage bus Sector How to get to data? 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 9 Minimize Seek Time Storage Selection The larger the disk block, the less the seek Multi Path Fibre Channel time. (less block to request) Outside cylinder are faster, disk Do: Controller Card from server must be the same bus type as the fastest bus on that server rearrange/compact usually move data to SAS << U320 SCSI << SATA << IDE outside cylinder. 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 Database Application 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
Solid State Data Block Conversion Problem Fast but expensive How fast? 240 MB avg read time AppB1 AppB2 180 MB avg write time Raw Disk Memory Application Compare to Block (OS Page Size) I/O Block 30 MB avg read time 15-20 MB avg write time Data move from application to storage system in block fashioned How expensive? Performance could degrade if the system has block conversion overhead Where would we using it? block size. Caching tier The rule is force by common dominator from OS page size common 4KB, OS Swap space 8KB on system like Dec Alpha, Sun UltraSPARC Database transaction store (Database Log) Step 1: Server Building Block Foundation Tuning Analyze first, if the Application performance could be I/O bound or CPU bound. Basic Tuning Strategy (Best Pick the right component for each server building block Select the right storage set up for application type Practices) Internal/External Raid Level Storage cache size Match Application 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: Application Parameter Step 3: Clustering Tuning In 2-Tier, 3-Tier or N-Tier application Adhere to recommendation from Application Vendors. model, clustering is the last strategy we Basic Rules: use to overcome hardware performance Separate Application Tier from Database Tier to minimize impact limitation. on Database 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 Database Log and Database Data I/O to different physical storage. How to improve N-Tier How many Tiers can we have? Performance Two-Tiers Presentation separate from Business Logic Load Business Logic and Database Logic still integrated together balance Hardware Ex: Classical Client-Server system Internet Three-Tiers Presentation separate from Business Logic, and Backend Tier Web usually Database Logic Database Application Tier Tier Ex: Web Application Server with external database Tier N-Tiers Clustering Database Tier to help distribute database Multiple factoring of business logic and presentation logic, most transaction load Tier interconnected with middleware logic Ex: Distributed Database Application Clustering Application server Tier
Database Clustering Facts Database look easy to cluster, since all operations are atomic What we need to know before However, to do database clustering, we doing any Application Clustering must make sure that all database updates are applied to all database nodes Application Clustering Facts Request Level Failure if current node crashes midway, the subsequent requests must be handled on different node Clustering Strategy 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 Approaches Load Balancing Database Clustering Approaches Database Use shared file system and clustering software together to achieve Server Hardware Load database virtualization, or Balance Database Use database replication feature to eliminate shared file system Server Use load balance to distribute load among database cluster nodes. Application Application Clustering Approaches Server Application Replicate application logic to all nodes Server Use load balance to distribute load among application cluster nodes Application Replicate session information to all application nodes Server Memory-to-Memory Replication Load Balancing helps distribute load among cluster nodes Use centralized shared file system for session replication Basic Round Robin Use database tier to save session information. Weighted Round Robin Shortest Response Time Load Balancing Alternatives Global Server Load Balance 4.5 TB NAS Appliance Disaster Recovery Site Database Software Load Balance Server 4 x 1 GB Advantages: Load Balance Inexpensive Load Balance Firewall Database Firewall DR operation Server Simple DR operation Disadvantages: Single Application One point of failure Sign-on AAA Server Limited concurrent connections. Application Disaster Recovery Single Server Hardware Load Balance Server map to Primary Sign-on AAA Site Advantages: Application Server Automatically handle of session with Web Application Virtual IP eliminate one point of failure Proposed Built hardware can handle much higher load of concurrent connections GSLB can fulfill promises of Disaster Recovery Ability to do other Application Acceleration features like Compression, SSL acceleration, Link Disaster Recovery needs replication of application and data at the Load Balancing same time. Better ROI in long term Disadvantages: GSLB can help automate request to backup site automatically. Higher startup cost compare to software load balance solution. GSLB can also do active/active load balance between site.
Recommend
More recommend