Computer Measurement Group, India 1 1 www.cmgindia.org Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,

Slides:



Advertisements
Similar presentations
QA practitioners viewpoint
Advertisements

The Top 10 Reasons Why Federated Can’t Succeed And Why it Will Anyway.
Capacity Planning and Predicting Growth for Vista Amy Edwards, Ezra Freeloe and George Hernandez University System of Georgia 2007.
Server-Side vs. Client-Side Scripting Languages
Chapter 3 Database Management
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Distributed Database Management Systems
Overview Distributed vs. decentralized Why distributed databases
Beyond data modeling Model must be normalised – purpose ? Outcome is a set of tables = logical design Then, design can be warped until it meets the realistic.
Chapter 12 Distributed Database Management Systems
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Definition of terms Definition of terms Explain business conditions driving distributed databases Explain business conditions driving distributed databases.
DISTRIBUTED DATABASE MANAGEMENT SYSTEM CHAPTER 07.
IST346:  Web Services. Today’s Agenda  Learn the basics of how the Web works  Understand various web service architectures  Address scaling, security,
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Platform as a Service (PaaS)
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Prof. Dr. Nizamettin AYDIN
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Selecting and Implementing An Embedded Database System Presented by Jeff Webb March 2005 Article written by Michael Olson IEEE Software, 2000.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Database Design for DNN Developers Sebastian Leupold.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Database Design – Lecture 16
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
Performance Concepts Mark A. Magumba. Introduction Research done on 1058 correspondents in 2006 found that 75% OF them would not return to a website that.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
M1G Introduction to Database Development 6. Building Applications.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
NoSQL Databases Oracle - Berkeley DB. Content A brief intro to NoSQL About Berkeley Db About our application.
IMDGs An essential part of your architecture. About me
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Session-8 Data Management for Decision Support
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 12 Distributed Database Management Systems.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Search Engine using Web Mining COMS E Web Enhanced Information Mgmt Prof. Gail Kaiser Presented By: Rupal Shah (UNI: rrs2146)
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Web Technologies Lecture 6 State preservation. Motivation How to keep user data while navigating on a website? – Authenticate only once – Store wish list.
Accelerating PHP Applications Ilia Alshanetsky O’Reilly Open Source Convention August 3rd, 2005.
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Web Programming Language
Platform as a Service.
Server Concepts Dr. Charles W. Kann.
AJAX.
PHP / MySQL Introduction
Software Architecture in Practice
Database Driven Websites
Architecture of the web
Web Servers (IIS and Apache)
Web Application Development Using PHP
Presentation transcript:

Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy, Infosys Maheshgopinath Mariappan, Infosys Indranil Dharap, Infosys

Computer Measurement Group, India 2 Introduction Design is the key in Software Engineering Methodology Design errors are difficult to address and will be very expensive to fix at a later stage

Computer Measurement Group, India 3 Programming Language

Computer Measurement Group, India 4 Selection of Database Big Data/No SQL will not solve all the data problems Problems faced due to wrong DB selection - Querying becomes complex - Query execution time will be very high and it results in slow responses to the user Case study – Trouble ticket application RDBMS for systems having relation among data and involves frequent reads NoSql for voluminous data without relation and less reads O R A C L E

Computer Measurement Group, India 5 Replication strategies Synchronous Frequent updates Slow response Asynchronous Less updates Faster response

Computer Measurement Group, India 6 Caching Store only static data in the cache Implement proper cache eviction policies Use in-memory cache than secondary cache

Computer Measurement Group, India 7 Garbage collection Garbage collection is a way of doing automatic memory management Case study – Queuing application dropping requests - No issues in the system logs but application was dropping customer requests - Root cause analysis identified the issue related to bad garbage collection configuration

Computer Measurement Group, India 8 Session management Session management is more like managing a transaction Every session started should be closed properly Case study – Ecommerce site not able to handle transactions - Lot of unmanaged customer session in memory - Session data is huge and consuming lot of system resources - Optimized configurations like, closing sessions once client is disconnected, timeout the session based on the application requirement, move data to temporary journal helps to address this issue

Computer Measurement Group, India 9 Client side computing vs Server side computing Implemented using Javascript, Ajax, Flash Implemented using PHP, ASP.net, JSP, Python, Ruby on rails Interactive web applicationsQuick business rules computation Less Network bandwidthEfficient caching implementation Quicker initial load timeBetter data security Preferred for dynamic loading of content, animations Preferred for validating user preferences Data storage in local temporary storageTo develop structured web applications

Computer Measurement Group, India 10 Computer Measurement Group, India Retry Mechanism Retry mechanism is used to enhance user experience It will be employed through Database calls and third party calls to cover the failures Case study – Real time communication project - No sql database is used in the project - When the database went down due to system issues, all the Clients were retrying indefinitely and brought down the entire infrastructure - By configuring optimum number of retries the application works without issues keeping the infrastructure issues away 1 st Attempt- No response 2 nd Attempt- No response 3 rd Attempt- No response No further attempts unless the protocol is followed

Computer Measurement Group, India 11 Computer Measurement Group, India Choice of Design patterns Currently more than 200 design patterns exist in the market Design pattern Intent ontology is one of the method to identify the suitable design pattern. Design pattern wizard tool helps to select the appropriate design pattern

Computer Measurement Group, India 12 Computer Measurement Group, India Parallelism Identify the tasks that can be executed independently Break down large transaction into smaller tasks High throughput & better performance Map Reduce is the best example

Computer Measurement Group, India 13 Computer Measurement Group, India Choice of data structures Used by computers to store and retrieve data internallyCommonly used data types - List, Map, Set and QueueList to retrieve items in the input orderMap for retrieving items based on the keySet to store only unique set of data itemsQueue to implement worker thread modelIf possible override the default size of the data structure

Computer Measurement Group, India 14 Computer Measurement Group, India Async transactions Determine the transactions that can be done in asynchronous manner Helps to reuse expensive resources effectively Items that can be done asynchronously Database read or write IO intensive operations Calls to third party systems Enable NIO connections in the application servers

Computer Measurement Group, India 15 Computer Measurement Group, India Avoid lot of hops X

Computer Measurement Group, India 16 Computer Measurement Group, India Thank You