SlideShare a Scribd company logo
1 of 46
Download to read offline
A301
From Startup to Enterprise, learn how
performance monitoring can help you
scale your application
Michael Dawson, IBM Runtime Technologies
© 2016 IBM Corporation 2
About Michael Dawson
Senior Software Developer @ IBM
IBM Runtime Technologies Node.js Technical Lead
Node.js collaborator and CTC member
Active in LTS, build, benchmarking , api
and post-mortem working groups
Contact me:
michael_dawson@ca.ibm.com
Twitter: @mhdawson1
https://www.linkedin.com/in/michael-dawson-6051282
© 2016 IBM Corporation 3
About Toby Corbin
Software Developer @ IBM
IBM Runtime Technologies monitoring lead
15 years at IBM
Last 8 working on monitoring solutions for Java and more
recently Node.js
Contact me:
corbint@uk.ibm.com
Twitter: @TobesCorbin
Agenda
• Common scaling problems
• Common problems – what can I do ?
• Applying performance monitoring
• “Classic” deployment environment
• Demo
• ”Cloud” deployment environment
• Collecting data in the cloud
• Demo
• Summary
© 2016 IBM Corporation 4
• Lower than expected throughput in the application
© 2016 IBM Corporation 5
Common Scaling Problems
• Lower than expected throughput in the application
• Poor response time
© 2016 IBM Corporation 6
Common Scaling Problems
• Lower than expected throughput in the application
• Poor response time
• Higher than expected CPU usage for the level of
throughput/load
© 2016 IBM Corporation 7
Common Scaling Problems
• Lower than expected throughput in the application
• Poor response time
• Higher than expected CPU usage for the level of
throughput/load
• Extremely slow progression looking similar to a
hang or becoming unresponsive
© 2016 IBM Corporation 8
Common Scaling Problems
• Essentially single threaded
© 2016 IBM Corporation 9
Common Scaling Problems – Node.js Context
© 2016 IBM Corporation 10
Common Scaling Problems – Node.js Context
• Identify limiting factor
• CPU
• I/O
• Memory
• Synchronization
• Performance monitoring is the tool for the job
© 2016 IBM Corporation
Common Scaling Problems – What can I do ?
11
• CPU
• Faster CPU
• More CPUs (+ more Node.js instances)
• Reduce CPU Usage
• Extract CPU Intensive work
© 2016 IBM Corporation
Common Scaling Problems – What can I do ?
12
• I/O
• Identify which I/O is bottleneck
• Optimize I/O provider (database, file system etc.)
• Optimize requests profile
© 2016 IBM Corporation
Common Scaling Problems – What can I do ?
13
• Memory
• Heap - garbage collector
• Tune heap size
• Optimize allocation profile
• Native memory
• Increase system memory
• Optimize allocation profile
• Node.js
• Default heap ~ 1.5 G
• --max-old-space-size=XXX
© 2016 IBM Corporation
Common Scaling Problems – What can I do ?
14
Investigating - “Classic” Deployments
• “Classic” : desktop development, on premise
deployment
© 2016 IBM Corporation 15
• “Classic” : desktop development, on premise
deployment
© 2016 IBM Corporation
Investigating - “Classic” Deployments
Capture and evaluate
post-mortem
16
• Capture and evaluate post-mortem
• Turn on application logging and send to a file
• Capture verbosegc output
• Generate a heap dump to see where memory is being
used – https://github.com/bnoordhuis/node-heapdump
• nodereport - https://github.com/nodejs/nodereport
© 2016 IBM Corporation
--trace_gc
--trace_gc_nvp
--trace_gc_verbose
Investigating - “Classic” Deployments
17
• “Classic” : desktop development, on premise
deployment
© 2016 IBM Corporation
Investigating - “Classic” Deployments
Live
Monitoring
18
• Understand your applications behavior as it
occurs
• Connect a remote debugger
• Use live performance monitoring tools
© 2016 IBM Corporation
Investigating - “Classic” Deployments
© 2016 IBM Corporation
© 2016 IBM Corporation
Investigating - “Classic” Deployments
• “Classic” : desktop development, on premise
deployment
• Use the same tools for both
20
• “Classic” : desktop development, on premise
deployment
• Use the same tools for both
© 2016 IBM Corporation
Investigating - “Classic” Deployments
21
© 2016 IBM Corporation
Investigating - “Classic” Deployments
• “Classic” : desktop development, on premise
deployment
• Use the same tools for both
22
Live Performance Monitoring
Provides insight into your applications behavior
At runtime, you connect a GUI to your application to
visualize the data
© 2016 IBM Corporation 23
Live monitoring demo
• Demo of Health Center, development monitoring solution
• Free from Eclipse marketplace
• http://marketplace.eclipse.org/content/ibm-monitoring-and-diagnostic-tools-health-center
• http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/
© 2016 IBM Corporation 24
• “Cloud” : desktop development, on cloud
deployment
• Can we use the same tools for both ?
© 2016 IBM Corporation
Investigating - “Cloud” Deployments
25
© 2016 IBM Corporation
Investigating - “Cloud” Deployments
• “Cloud” : desktop development, on cloud
deployment
• Can we use the same tools for both ?
26
• No persistent local file system
• What happens if the container drops and
restarts ?
• Where do you now send your log data ?
© 2016 IBM Corporation
Investigating - “Cloud” Deployments
27
© 2016 IBM Corporation
Investigating - “Cloud” Deployments
• “Cloud” : desktop development, on cloud
deployment
• Can we use the same tools for both ?
28
• Application could be anywhere in the cloud
• Can’t just attach a remote debugger anymore
• Blocked ports
• Multiple instances
• Proxies
• We need a new approach for collecting data in the
© 2016 IBM Corporation
Investigating - “Cloud” Deployments
29
• Elastic Search - https://www.elastic.co/products/elasticsearch
• Logstash - https://www.elastic.co/products/logstash
• Kibana - https://www.elastic.co/products/kibana
© 2016 IBM Corporation
Collecting data in the cloud – ELK (open source)
30
Collecting data in the cloud
• Data now has to be sent somewhere and stored
app
server
app
server
Log data
Log data
© 2016 IBM Corporation 31
• Send data to logstash
app
server
app
server
logstash
Log data
Log data
© 2016 IBM Corporation 32
Collecting data in the cloud
• Elasticsearch can aggregate over this data
app
server
app
server
logstash Elasticsearch
Log data
Log data
© 2016 IBM Corporation 33
Collecting data in the cloud
• Kibana can be used to visualize
app
server
app
server
logstash Elasticsearch
Log data
Log data
© 2016 IBM Corporation 34
Collecting data in the cloud
What about performance monitoring data ?
• ELK + appmetrics
• Build your own
• appmetrics API – capture
• push to elastic search
• appmetrics-elk
• – prebuilt integration
© 2016 IBM Corporation
3
5
Collecting data in the cloud
• Elasticsearch can correlate log and metrics data
app
server
app
server
logstash Elasticsearch
Log data
Log data
Monitored data
Monitored data
© 2016 IBM Corporation 36
Appmetrics-elk demo
• Code walkthrough and demo
• https://github.com/RuntimeTools/appmetrics
• https://github.com/RuntimeTools/appmetrics-elk
37© 2016 IBM Corporation
Appmetrics-elk demo
• Same data, different visualization
© 2016 IBM Corporation 38
Managed monitoring solutions
• Transactions and utilizations vs code
• Products like IBM Application Performance
Management (APM) provide contextual monitoring
software.
• E.g. your transactions are going slow
• Generally focus on high level dash boarding, not
low level detail of the VM
© 2016 IBM Corporation 39
Summary
• Common scaling problems
• Common problems – what can I do ?
• Applying performance monitoring
• “Classic” deployment environment
• Demo
• ”Cloud” deployment environment
• Collecting data in the cloud
• Demo
© 2016 IBM Corporation 40
Summary
• Performance monitoring is key tool for scaling
your applications
• “Classic” and “Cloud” environment may require
different approaches
• The same data can be used in both cases
© 2016 IBM Corporation 41
Michael Dawson
Thank you very much.
IBM
Runtime Technologies
michael_dawson@ca.ibm.com
© 2016 IBM Corporation 42
Toby Corbin
IBM
Runtime Technologies
corbint@uk.ibm.com
Your feedback is valuable
Please complete your session or lab evaluation!
Session number [A301]
Provide your evaluations by:
Evaluation forms:
Fill out a form at the end of each
session
Paper forms are located in each of the
session or lab rooms
Complete the session survey on
Event Connect Portal:
https://portal.ibmeventconnect.com/m
adrid2016
Select Sessions, then Session
Finder, and complete the survey
- Or
-
© 2016 IBM Corporation 43
IBMTA16
Twitter
@IBMCloud | @IBMWebSphere
LinkedIn
IBM Cloud
YouTube
IBM Cloud | IBM WebSphere
Facebook
IBM Cloud
ibmcloud
Facebook Event Page
IBM Techical Academy 2016
websphere
Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission
from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of
initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS
DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE
USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM
products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers
have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in
which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials
and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant
or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and
interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such
laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has
not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other
intellectual property right.
• IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™,
FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on
Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®,
PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling
Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other
companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
• Node.js is an official trademark of Joyent. IBM SDK for Node.js is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
• Java, JavaScript and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.
• npm is a trademark of npm, Inc.

More Related Content

What's hot

Choosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshareChoosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshareJohn Mathon
 
Microservices Architecture for MEAN Applications using Serverless AWS
Microservices Architecture for MEAN Applications using Serverless AWSMicroservices Architecture for MEAN Applications using Serverless AWS
Microservices Architecture for MEAN Applications using Serverless AWSMitoc Group
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoAmazon Web Services
 
Practical PaaS presentation
Practical PaaS presentationPractical PaaS presentation
Practical PaaS presentationhmalphettes
 
Operations and Monitoring with Spring
Operations and Monitoring with SpringOperations and Monitoring with Spring
Operations and Monitoring with SpringEberhard Wolff
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015gjuljo
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetupragss
 
Comparison of Several PaaS Cloud Computing Platforms
Comparison of Several PaaS Cloud Computing PlatformsComparison of Several PaaS Cloud Computing Platforms
Comparison of Several PaaS Cloud Computing Platformsijsrd.com
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...Nick Dellamaggiore
 
2012 05 confess_camel_cloud_integration
2012 05 confess_camel_cloud_integration2012 05 confess_camel_cloud_integration
2012 05 confess_camel_cloud_integrationKai Wähner
 
Out of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix DevelopmentOut of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix DevelopmentOliver Busse
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
QCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentQCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentChris Bailey
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Eberhard Wolff
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemBruno Borges
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Alfresco - Floating on the cloud
Alfresco - Floating on the cloudAlfresco - Floating on the cloud
Alfresco - Floating on the cloudPaul Hampton
 
The Twelve-Factor App
The Twelve-Factor AppThe Twelve-Factor App
The Twelve-Factor AppSimon Vocella
 
Writing less code with Serverless on AWS at FrOSCon 2021
Writing less code with Serverless on AWS at FrOSCon 2021Writing less code with Serverless on AWS at FrOSCon 2021
Writing less code with Serverless on AWS at FrOSCon 2021Vadym Kazulkin
 

What's hot (20)

Cascon intro
Cascon introCascon intro
Cascon intro
 
Choosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshareChoosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshare
 
Microservices Architecture for MEAN Applications using Serverless AWS
Microservices Architecture for MEAN Applications using Serverless AWSMicroservices Architecture for MEAN Applications using Serverless AWS
Microservices Architecture for MEAN Applications using Serverless AWS
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
 
Practical PaaS presentation
Practical PaaS presentationPractical PaaS presentation
Practical PaaS presentation
 
Operations and Monitoring with Spring
Operations and Monitoring with SpringOperations and Monitoring with Spring
Operations and Monitoring with Spring
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
 
Comparison of Several PaaS Cloud Computing Platforms
Comparison of Several PaaS Cloud Computing PlatformsComparison of Several PaaS Cloud Computing Platforms
Comparison of Several PaaS Cloud Computing Platforms
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
 
2012 05 confess_camel_cloud_integration
2012 05 confess_camel_cloud_integration2012 05 confess_camel_cloud_integration
2012 05 confess_camel_cloud_integration
 
Out of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix DevelopmentOut of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix Development
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
QCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentQCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application Development
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Alfresco - Floating on the cloud
Alfresco - Floating on the cloudAlfresco - Floating on the cloud
Alfresco - Floating on the cloud
 
The Twelve-Factor App
The Twelve-Factor AppThe Twelve-Factor App
The Twelve-Factor App
 
Writing less code with Serverless on AWS at FrOSCon 2021
Writing less code with Serverless on AWS at FrOSCon 2021Writing less code with Serverless on AWS at FrOSCon 2021
Writing less code with Serverless on AWS at FrOSCon 2021
 

Viewers also liked

10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App TodayChris Love
 
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...
Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...Gear6
 
Best Practices for Large-Scale Web Sites
Best Practices for Large-Scale Web SitesBest Practices for Large-Scale Web Sites
Best Practices for Large-Scale Web SitesCraig Dickson
 
Zingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPZingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPChau Thanh
 
Deep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersDeep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersAmazon Web Services
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web appsDirecti Group
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web ApplicationsDavid Mitzenmacher
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 
10 Best Practices of a Best Company to Work For
10 Best Practices of a Best Company to Work For10 Best Practices of a Best Company to Work For
10 Best Practices of a Best Company to Work ForO.C. Tanner
 

Viewers also liked (11)

10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Scaling your website
Scaling your websiteScaling your website
Scaling your website
 
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...
Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...
 
Best Practices for Large-Scale Web Sites
Best Practices for Large-Scale Web SitesBest Practices for Large-Scale Web Sites
Best Practices for Large-Scale Web Sites
 
Zingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPZingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHP
 
Deep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersDeep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million Users
 
IoC and Mapper in C#
IoC and Mapper in C#IoC and Mapper in C#
IoC and Mapper in C#
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
 
7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications7 Stages of Scaling Web Applications
7 Stages of Scaling Web Applications
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 
10 Best Practices of a Best Company to Work For
10 Best Practices of a Best Company to Work For10 Best Practices of a Best Company to Work For
10 Best Practices of a Best Company to Work For
 

Similar to A301 ctu madrid2016-monitoring

IBM i at the eart of cognitive solutions
IBM i at the eart of cognitive solutionsIBM i at the eart of cognitive solutions
IBM i at the eart of cognitive solutionsDavid Spurway
 
A294 fips support in node
A294  fips support in nodeA294  fips support in node
A294 fips support in nodeMichael Dawson
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...IBM France Lab
 
Ibm cloud private and icp for data
Ibm cloud private and icp for dataIbm cloud private and icp for data
Ibm cloud private and icp for dataModusOptimum
 
IBM Power Systems Update 1Q17
IBM Power Systems Update 1Q17IBM Power Systems Update 1Q17
IBM Power Systems Update 1Q17David Spurway
 
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...Cynthia Saracco
 
Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2lisanl
 
From Apollo 13 to Google SRE
From Apollo 13 to Google SREFrom Apollo 13 to Google SRE
From Apollo 13 to Google SRESanjeev Sharma
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best PracticesMichael Elder
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Michael Elder
 
Experiences in Delivering Spark as a Service
Experiences in Delivering Spark as a ServiceExperiences in Delivering Spark as a Service
Experiences in Delivering Spark as a ServiceKhalid Ahmed
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterpriseSanjeev Sharma
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryBob Sokol
 
Urban code - DevOps - cost reduction
Urban code - DevOps - cost reductionUrban code - DevOps - cost reduction
Urban code - DevOps - cost reductionChris Sparshott
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016AdobeMarketingCloud
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingChris Bailey
 
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform InnovationHow to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform InnovationClaudia Ring
 
Breaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insightsBreaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insightsDevOps.com
 
Breaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insights Breaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insights Deborah Schalm
 

Similar to A301 ctu madrid2016-monitoring (20)

IBM i at the eart of cognitive solutions
IBM i at the eart of cognitive solutionsIBM i at the eart of cognitive solutions
IBM i at the eart of cognitive solutions
 
A294 fips support in node
A294  fips support in nodeA294  fips support in node
A294 fips support in node
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA - Serverless & Open...
 
Ibm cloud private and icp for data
Ibm cloud private and icp for dataIbm cloud private and icp for data
Ibm cloud private and icp for data
 
IBM Power Systems Update 1Q17
IBM Power Systems Update 1Q17IBM Power Systems Update 1Q17
IBM Power Systems Update 1Q17
 
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
Big Data: Introducing BigInsights, IBM's Hadoop- and Spark-based analytical p...
 
Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2Toolkits Overview for IBM Streams V4.2
Toolkits Overview for IBM Streams V4.2
 
From Apollo 13 to Google SRE
From Apollo 13 to Google SREFrom Apollo 13 to Google SRE
From Apollo 13 to Google SRE
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best Practices
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
Experiences in Delivering Spark as a Service
Experiences in Delivering Spark as a ServiceExperiences in Delivering Spark as a Service
Experiences in Delivering Spark as a Service
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterprise
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud Foundry
 
Machine Learning with Apache Spark
Machine Learning with Apache SparkMachine Learning with Apache Spark
Machine Learning with Apache Spark
 
Urban code - DevOps - cost reduction
Urban code - DevOps - cost reductionUrban code - DevOps - cost reduction
Urban code - DevOps - cost reduction
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance Troubleshooting
 
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform InnovationHow to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
 
Breaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insightsBreaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insights
 
Breaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insights Breaking down barriers empowering developers with service management insights
Breaking down barriers empowering developers with service management insights
 

More from Michael Dawson

Index 2018 talk to your code
Index 2018   talk to your codeIndex 2018   talk to your code
Index 2018 talk to your codeMichael Dawson
 
Index 2018 node.js what's next
Index 2018   node.js what's nextIndex 2018   node.js what's next
Index 2018 node.js what's nextMichael Dawson
 
N api - node interactive 2017
N api - node interactive 2017N api - node interactive 2017
N api - node interactive 2017Michael Dawson
 
N api-node summit-2017-final
N api-node summit-2017-finalN api-node summit-2017-final
N api-node summit-2017-finalMichael Dawson
 
Accelerate your digital transformation
Accelerate your digital transformationAccelerate your digital transformation
Accelerate your digital transformationMichael Dawson
 
Node.js Community Benchmarking WG update
Node.js Community  Benchmarking WG updateNode.js Community  Benchmarking WG update
Node.js Community Benchmarking WG updateMichael Dawson
 
Post mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EUPost mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EUMichael Dawson
 
Update from-build-workgroup
Update from-build-workgroupUpdate from-build-workgroup
Update from-build-workgroupMichael Dawson
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMichael Dawson
 
Node liveboston welcome
Node liveboston welcomeNode liveboston welcome
Node liveboston welcomeMichael Dawson
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTTMichael Dawson
 

More from Michael Dawson (15)

Index 2018 talk to your code
Index 2018   talk to your codeIndex 2018   talk to your code
Index 2018 talk to your code
 
Index 2018 node.js what's next
Index 2018   node.js what's nextIndex 2018   node.js what's next
Index 2018 node.js what's next
 
N api - node interactive 2017
N api - node interactive 2017N api - node interactive 2017
N api - node interactive 2017
 
N api-node summit-2017-final
N api-node summit-2017-finalN api-node summit-2017-final
N api-node summit-2017-final
 
Accelerate your digital transformation
Accelerate your digital transformationAccelerate your digital transformation
Accelerate your digital transformation
 
Ask us anything v9
Ask us anything v9Ask us anything v9
Ask us anything v9
 
Node.js Community Benchmarking WG update
Node.js Community  Benchmarking WG updateNode.js Community  Benchmarking WG update
Node.js Community Benchmarking WG update
 
Post mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EUPost mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EU
 
Update from-build-workgroup
Update from-build-workgroupUpdate from-build-workgroup
Update from-build-workgroup
 
Node fips
Node fipsNode fips
Node fips
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 
Node liveboston welcome
Node liveboston welcomeNode liveboston welcome
Node liveboston welcome
 
Micro app-framework
Micro app-frameworkMicro app-framework
Micro app-framework
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTT
 
Java one 2015 - v1
Java one   2015 - v1Java one   2015 - v1
Java one 2015 - v1
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

A301 ctu madrid2016-monitoring

  • 1. A301 From Startup to Enterprise, learn how performance monitoring can help you scale your application Michael Dawson, IBM Runtime Technologies
  • 2. © 2016 IBM Corporation 2 About Michael Dawson Senior Software Developer @ IBM IBM Runtime Technologies Node.js Technical Lead Node.js collaborator and CTC member Active in LTS, build, benchmarking , api and post-mortem working groups Contact me: michael_dawson@ca.ibm.com Twitter: @mhdawson1 https://www.linkedin.com/in/michael-dawson-6051282
  • 3. © 2016 IBM Corporation 3 About Toby Corbin Software Developer @ IBM IBM Runtime Technologies monitoring lead 15 years at IBM Last 8 working on monitoring solutions for Java and more recently Node.js Contact me: corbint@uk.ibm.com Twitter: @TobesCorbin
  • 4. Agenda • Common scaling problems • Common problems – what can I do ? • Applying performance monitoring • “Classic” deployment environment • Demo • ”Cloud” deployment environment • Collecting data in the cloud • Demo • Summary © 2016 IBM Corporation 4
  • 5. • Lower than expected throughput in the application © 2016 IBM Corporation 5 Common Scaling Problems
  • 6. • Lower than expected throughput in the application • Poor response time © 2016 IBM Corporation 6 Common Scaling Problems
  • 7. • Lower than expected throughput in the application • Poor response time • Higher than expected CPU usage for the level of throughput/load © 2016 IBM Corporation 7 Common Scaling Problems
  • 8. • Lower than expected throughput in the application • Poor response time • Higher than expected CPU usage for the level of throughput/load • Extremely slow progression looking similar to a hang or becoming unresponsive © 2016 IBM Corporation 8 Common Scaling Problems
  • 9. • Essentially single threaded © 2016 IBM Corporation 9 Common Scaling Problems – Node.js Context
  • 10. © 2016 IBM Corporation 10 Common Scaling Problems – Node.js Context
  • 11. • Identify limiting factor • CPU • I/O • Memory • Synchronization • Performance monitoring is the tool for the job © 2016 IBM Corporation Common Scaling Problems – What can I do ? 11
  • 12. • CPU • Faster CPU • More CPUs (+ more Node.js instances) • Reduce CPU Usage • Extract CPU Intensive work © 2016 IBM Corporation Common Scaling Problems – What can I do ? 12
  • 13. • I/O • Identify which I/O is bottleneck • Optimize I/O provider (database, file system etc.) • Optimize requests profile © 2016 IBM Corporation Common Scaling Problems – What can I do ? 13
  • 14. • Memory • Heap - garbage collector • Tune heap size • Optimize allocation profile • Native memory • Increase system memory • Optimize allocation profile • Node.js • Default heap ~ 1.5 G • --max-old-space-size=XXX © 2016 IBM Corporation Common Scaling Problems – What can I do ? 14
  • 15. Investigating - “Classic” Deployments • “Classic” : desktop development, on premise deployment © 2016 IBM Corporation 15
  • 16. • “Classic” : desktop development, on premise deployment © 2016 IBM Corporation Investigating - “Classic” Deployments Capture and evaluate post-mortem 16
  • 17. • Capture and evaluate post-mortem • Turn on application logging and send to a file • Capture verbosegc output • Generate a heap dump to see where memory is being used – https://github.com/bnoordhuis/node-heapdump • nodereport - https://github.com/nodejs/nodereport © 2016 IBM Corporation --trace_gc --trace_gc_nvp --trace_gc_verbose Investigating - “Classic” Deployments 17
  • 18. • “Classic” : desktop development, on premise deployment © 2016 IBM Corporation Investigating - “Classic” Deployments Live Monitoring 18
  • 19. • Understand your applications behavior as it occurs • Connect a remote debugger • Use live performance monitoring tools © 2016 IBM Corporation Investigating - “Classic” Deployments © 2016 IBM Corporation
  • 20. © 2016 IBM Corporation Investigating - “Classic” Deployments • “Classic” : desktop development, on premise deployment • Use the same tools for both 20
  • 21. • “Classic” : desktop development, on premise deployment • Use the same tools for both © 2016 IBM Corporation Investigating - “Classic” Deployments 21
  • 22. © 2016 IBM Corporation Investigating - “Classic” Deployments • “Classic” : desktop development, on premise deployment • Use the same tools for both 22
  • 23. Live Performance Monitoring Provides insight into your applications behavior At runtime, you connect a GUI to your application to visualize the data © 2016 IBM Corporation 23
  • 24. Live monitoring demo • Demo of Health Center, development monitoring solution • Free from Eclipse marketplace • http://marketplace.eclipse.org/content/ibm-monitoring-and-diagnostic-tools-health-center • http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/ © 2016 IBM Corporation 24
  • 25. • “Cloud” : desktop development, on cloud deployment • Can we use the same tools for both ? © 2016 IBM Corporation Investigating - “Cloud” Deployments 25
  • 26. © 2016 IBM Corporation Investigating - “Cloud” Deployments • “Cloud” : desktop development, on cloud deployment • Can we use the same tools for both ? 26
  • 27. • No persistent local file system • What happens if the container drops and restarts ? • Where do you now send your log data ? © 2016 IBM Corporation Investigating - “Cloud” Deployments 27
  • 28. © 2016 IBM Corporation Investigating - “Cloud” Deployments • “Cloud” : desktop development, on cloud deployment • Can we use the same tools for both ? 28
  • 29. • Application could be anywhere in the cloud • Can’t just attach a remote debugger anymore • Blocked ports • Multiple instances • Proxies • We need a new approach for collecting data in the © 2016 IBM Corporation Investigating - “Cloud” Deployments 29
  • 30. • Elastic Search - https://www.elastic.co/products/elasticsearch • Logstash - https://www.elastic.co/products/logstash • Kibana - https://www.elastic.co/products/kibana © 2016 IBM Corporation Collecting data in the cloud – ELK (open source) 30
  • 31. Collecting data in the cloud • Data now has to be sent somewhere and stored app server app server Log data Log data © 2016 IBM Corporation 31
  • 32. • Send data to logstash app server app server logstash Log data Log data © 2016 IBM Corporation 32 Collecting data in the cloud
  • 33. • Elasticsearch can aggregate over this data app server app server logstash Elasticsearch Log data Log data © 2016 IBM Corporation 33 Collecting data in the cloud
  • 34. • Kibana can be used to visualize app server app server logstash Elasticsearch Log data Log data © 2016 IBM Corporation 34 Collecting data in the cloud
  • 35. What about performance monitoring data ? • ELK + appmetrics • Build your own • appmetrics API – capture • push to elastic search • appmetrics-elk • – prebuilt integration © 2016 IBM Corporation 3 5
  • 36. Collecting data in the cloud • Elasticsearch can correlate log and metrics data app server app server logstash Elasticsearch Log data Log data Monitored data Monitored data © 2016 IBM Corporation 36
  • 37. Appmetrics-elk demo • Code walkthrough and demo • https://github.com/RuntimeTools/appmetrics • https://github.com/RuntimeTools/appmetrics-elk 37© 2016 IBM Corporation
  • 38. Appmetrics-elk demo • Same data, different visualization © 2016 IBM Corporation 38
  • 39. Managed monitoring solutions • Transactions and utilizations vs code • Products like IBM Application Performance Management (APM) provide contextual monitoring software. • E.g. your transactions are going slow • Generally focus on high level dash boarding, not low level detail of the VM © 2016 IBM Corporation 39
  • 40. Summary • Common scaling problems • Common problems – what can I do ? • Applying performance monitoring • “Classic” deployment environment • Demo • ”Cloud” deployment environment • Collecting data in the cloud • Demo © 2016 IBM Corporation 40
  • 41. Summary • Performance monitoring is key tool for scaling your applications • “Classic” and “Cloud” environment may require different approaches • The same data can be used in both cases © 2016 IBM Corporation 41
  • 42. Michael Dawson Thank you very much. IBM Runtime Technologies michael_dawson@ca.ibm.com © 2016 IBM Corporation 42 Toby Corbin IBM Runtime Technologies corbint@uk.ibm.com
  • 43. Your feedback is valuable Please complete your session or lab evaluation! Session number [A301] Provide your evaluations by: Evaluation forms: Fill out a form at the end of each session Paper forms are located in each of the session or lab rooms Complete the session survey on Event Connect Portal: https://portal.ibmeventconnect.com/m adrid2016 Select Sessions, then Session Finder, and complete the survey - Or - © 2016 IBM Corporation 43
  • 44. IBMTA16 Twitter @IBMCloud | @IBMWebSphere LinkedIn IBM Cloud YouTube IBM Cloud | IBM WebSphere Facebook IBM Cloud ibmcloud Facebook Event Page IBM Techical Academy 2016 websphere
  • 45. Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 46. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. • IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml. • Node.js is an official trademark of Joyent. IBM SDK for Node.js is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. • Java, JavaScript and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. • npm is a trademark of npm, Inc.