SlideShare a Scribd company logo
Make Browsers CRY
How to make a web app painfully slow
Speaker Name, Title
@name name
This document and the information herein (including any information that may be incorporated by reference) is provided for
informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf of New Relic,
Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature. Any information provided
hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s express written permission.

Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement that is not
a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of future
events is a forward-looking statement. These forward-looking statements can often be identified as such because the context of
the statement will include words such as “believes,” “anticipates,”, “expects” or words of similar import. 

Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of the date
hereof, and are subject to change at any time without notice. Existing and prospective investors, customers and other third parties
transacting business with New Relic are cautioned not to place undue reliance on this forward-looking information. The
achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current
assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in
circumstances that may cause the actual results, performance, or achievements to differ materially from those expressed or
implied in any forward-looking statement. Further information on factors that could affect such forward-looking statements is
included in the filings New Relic makes with the SEC from time to time. Copies of these documents may be obtained by visiting
New Relic’s Investor Relations website at ir.newrelic.com or the SEC’s website at www.sec.gov. 

New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.
About me…
Making 

slow pages
since the
1990s
Once
designed 

a page with
>9 AJAX
requests
that blocked
rendering
Have
incorrectly
implemented
browser
caching
Overused
Webfonts
Used the
blink tag
GOOD NEWS

Have done none of these things at New Relic
TL;DR 

THERE IS NO MAGIC WEB PERF SAUCE.
(but sometimes it's good to know what not to do)
The CLIENT / SERVER

model
HTTP(S)
The CLIENT / SERVER

model
HTTP(S)
C

A

C

H

E
C

D

N
Pages make requests to
an average of
DOMAINS20As of October 2016

Source: httparchive.org/trends.php
The average number 

of requests is now
PER PAGE107As of October 2016

Source: httparchive.org/trends.php
Average total transfer size is
INCREASING


Source: httparchive.org
1,904.58KB
2,218.65KB
2,540.33KB
Sept 2014
Sept 2015
Sept 2016
requests
312 secs render
and it takes
15.4
in the ALEXA TOP 10
one site makes…
A MODEL
FOR FRONTEND DEVS
Infrastructure
My precious code
backend system(s)
"the network"
THE FOCUS
FOR FRONTEND DEVS
My precious code
Infrastructure
"the network"
backend system(s)
IGNORE THIS
AT YOUR OWN PERIL
My precious code
Infrastructure
"the network"
backend system(s)
HOW CAN WE MAKE A
PAGE AS SLOW 

AS POSSIBLE?
1. __________
3. __________
4. __________
2. __________
BROWSER
APP
INFRASTRUCTURE
BROWSER
APP
INFRASTRUCTURE
1. Confuse this
3. Don’t optimize
4. Make bad 

choices here
2. Ignore this
Introducing:

The METER
OF BROKEN
CUSTOMER
EXPERIENCE*
Bad C/X
Good C/X
FROM
SCIENCE!
https://www.nngroup.com/articles/
powers-of-10-time-scales-in-ux/
I'm going for tacos.
That was fast!
Where should I eat lunch?
10000ms
100ms
1000ms
What technical
choices can 

we make to
INCREASE
BAD C/X?
Web Performance Lab
What we're testing with.
▪ Simple web page: 

some images, JS, HTML, 

and CSS

▪ Running on AWS EC2 

(us-west-2) m2-large instance

▪ Powered (and monitored)
using Go
1400 ms
LET'S MAKE
INFRADECISIONS
Confidential ©2008-16 New Relic, Inc. All rights reserved.   23
Infrastructure: What's the cheapest?
▪ The cheapest EC2 instance
money can buy

– t2.nano

– 512 mb memory

– 1 vCPU
t2.nano
INFRASTRUCTURE
Confidential ©2008-16 New Relic, Inc. All rights reserved.   24
1445 ms
What a deal!
"The t2.nano offers the full
performance of a high frequency
Intel CPU core if your workload
utilizes less than 5% of the core
on average over 24 hours."
Source: https://aws.amazon.com/
blogs/aws/ec2-update-t2-nano-
instances-now-available/
INFRASTRUCTURE
I WENT TO
LUNCH.
INFRASTRUCTURE
Confidential ©2008-16 New Relic, Inc. All rights reserved.   26
But came back to this... INFRASTRUCTURE
Confidential ©2008-16 New Relic, Inc. All rights reserved.   27
Page load time went way, way up INFRASTRUCTURE
Confidential ©2008-16 New Relic, Inc. All rights reserved.   28
LESSON: 

T2 INSTANCE 

CPU PERFORMANCE
IS VARIABLE.
INFRASTRUCTURE
LET'S WRITE SOME
SLOW GO CODE
Confidential ©2008-16 New Relic, Inc. All rights reserved.   30
EACH PIXEL IS RANDOMLY
GENERATED
img := image.NewRGBA(image.Rect(0, 0, width, height))
for x := 0; x < width; x++ {
for y := 0; y < height; y++ {
c := color.RGBA{uint8(rand.Intn(255)), uint8(rand.Intn(255)), uint8(rand.Intn(255)), 255}
img.Set(x, y, c)
}
}
Confidential ©2008-16 New Relic, Inc. All rights reserved.   31
Doing this is slow (understandably) APP
Confidential ©2008-16 New Relic, Inc. All rights reserved.   32
But not slow enough... APP
Go sleep
if os.Getenv("SLOW_IMAGE") != "" {
time.Sleep(1000 * time.Millisecond)
}
APP
And Go runtime tweaking...
$ GOGC=10 <app>
APP
Confidential ©2008-16 New Relic, Inc. All rights reserved.   35
5300ms
And then the browser tears up APP
LET'S UNOPTIMIZE
THE NETWORK
Some recent data regarding
NETWORK LATENCY
https://aws.amazon.com/blogs/aws/now-open-aws-us-east-ohio-region/
us-west-1
us-west-2
us-east-2
68ms
52ms
A very fast TCP primer
▪ Opening a new TCP connection is
slow, especially over long distances

▪ Different hosts: 

different connections

▪ Browsers are good at 

reusing existing connections

▪ SSL adds additional RTs
Server Browser
roundtrip
1
2
3
SYN
SYN/ACK
ACK
Data
NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   39
Forcing as many open TCP connections
▪ Connection: close HTTP header

▪ For every connection, force the browser 

to re-establish the connection

▪ Host OS also needs to open a new socket.
Expect slightly more packets
NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   40
Increase the bandwidth!
▪ Disable all gzip compression

▪ Don't minify

▪ Set HTTP headers to prevent any caching at
any intermediate CDNs, proxies, or the browser
HTTP(S)
C

A

C

H

E
NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   41
TCP Connection Close: Infrastructure View
The number of received packets suddenly spikes...
NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   42
TCP Connection Close: App View
Not much to see here
NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   43
% of 0ms connection openings
Connection time measured in Insights from New Relic Synthetics
NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   44
Results: Opening all the connections
2040ms
NETWORK
Let's increase network latency the easy way
Make the distance between
these really far.
NETWORK
Let's increase network latency the easy way
8,561 miles
San FranciscoAWS in Mumbai
NETWORK
Page load gets (slightly) faster in Japan
ap-south-1
NETWORK
And in Singapore, too NETWORK
Confidential ©2008-16 New Relic, Inc. All rights reserved.   49
Where the bits come from is really important
2460ms
NETWORK
LET'S CONFUSE
THE BROWSER
Confidential ©2008-16 New Relic, Inc. All rights reserved.   51
Delay getting CSS to the client
▪ CSS blocks rendering, delay it for more pain.

▪ Put it in the <body>

▪ Add @imports for good measure.

▪ Make CSS extra-complex, uncachable, and
far away from the user.
BROWSER
Confidential ©2008-16 New Relic, Inc. All rights reserved.   52
Block with JavaScript as much as possible
▪ Put a lot of libraries in the <head> tag

▪ Make that JavaScript do a lot of unnecessary work

▪ Avoid the async script attribute
BROWSER
5DIFFERENT FONTS...
FROM CHINA
LETS USE
Why not? BROWSER
Why not?
ALLTHE JAVASCRIPT
FRAMEWORKS!
LETS USE
BROWSER
Confidential ©2008-16 New Relic, Inc. All rights reserved.   55
BROWSER
BROWSER
+3400 ms
+500 ms
+19000 ms
+1000 ms
BROWSER
APP
INFRASTRUCTURE
All these decisions can
happen in real life for
good reasons.
Confidential ©2008-16 New Relic, Inc. All rights reserved.   59
∞ms 800 ms
Aggressively

Unoptimized
Aggressively

Optimized
Fixing it: solutions
Use a 

Content
Delivery
Network
Multiple
availability
zones, DNS-
based routing
Caching
correctly
implemented
JS, HTML, 

and CSS
optimized for
not-blocking
Creating 

a fast app 

is more 

than using
______________.
BROWSER
APP
INFRASTRUCTURE
Creating 

a fast app 

is more 

than using
______________.
BROWSER
APP
INFRASTRUCTURE
fast ec2 hosts
Creating 

a fast app 

is more 

than using
______________.
BROWSER
APP
INFRASTRUCTURE
Go
Creating 

a fast app 

is more 

than using
______________.
BROWSER
APP
INFRASTRUCTURE
HTTP/2
Creating 

a fast app 

is more 

than using
______________.
BROWSER
APP
INFRASTRUCTURE
React
BROWSER
NETWORK
APP
INFRASTRUCTURE
Clay Smith

Developer Advocate
Thank you.

More Related Content

What's hot

Lew Cirne, FS16 Keynote [FutureStack16]
Lew Cirne, FS16 Keynote [FutureStack16] Lew Cirne, FS16 Keynote [FutureStack16]
Lew Cirne, FS16 Keynote [FutureStack16] New Relic
 
Cloud Expo - Flying Two Mistakes High
Cloud Expo - Flying Two Mistakes HighCloud Expo - Flying Two Mistakes High
Cloud Expo - Flying Two Mistakes HighLee Atchison
 
Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...
Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...
Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...New Relic
 
Monitoring is Not Just for Production!
Monitoring is Not Just for Production!Monitoring is Not Just for Production!
Monitoring is Not Just for Production!New Relic
 
New Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWSNew Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWSNew Relic
 
Host for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost OptimizationHost for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost OptimizationNew Relic
 
DevOps without Measurement is a Fail
DevOps without Measurement is a FailDevOps without Measurement is a Fail
DevOps without Measurement is a FailNew Relic
 
SRE-iously! Reliability!
SRE-iously! Reliability!SRE-iously! Reliability!
SRE-iously! Reliability!New Relic
 
Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic	Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic New Relic
 
Ground Rules for Code Reviews
Ground Rules for Code ReviewsGround Rules for Code Reviews
Ground Rules for Code ReviewsNew Relic
 
FS18 Chicago Keynote
FS18 Chicago Keynote FS18 Chicago Keynote
FS18 Chicago Keynote New Relic
 
Keeping Modern Applications Performing
Keeping Modern Applications PerformingKeeping Modern Applications Performing
Keeping Modern Applications PerformingNew Relic
 
re:Thinking the Cloud
re:Thinking the Cloudre:Thinking the Cloud
re:Thinking the CloudNew Relic
 
Automating the Elastic Stack
Automating the Elastic StackAutomating the Elastic Stack
Automating the Elastic StackElasticsearch
 
Faster business decisions and collaboration with Elastic Workplace Search
Faster business decisions and collaboration with Elastic Workplace SearchFaster business decisions and collaboration with Elastic Workplace Search
Faster business decisions and collaboration with Elastic Workplace SearchElasticsearch
 
Get involved with the security community at Elastic
Get involved with the security community at ElasticGet involved with the security community at Elastic
Get involved with the security community at ElasticElasticsearch
 
Faster business decisions and collaboration with Workplace Search
Faster business decisions and collaboration with Workplace SearchFaster business decisions and collaboration with Workplace Search
Faster business decisions and collaboration with Workplace SearchElasticsearch
 

What's hot (19)

Lew Cirne, FS16 Keynote [FutureStack16]
Lew Cirne, FS16 Keynote [FutureStack16] Lew Cirne, FS16 Keynote [FutureStack16]
Lew Cirne, FS16 Keynote [FutureStack16]
 
Cloud Expo - Flying Two Mistakes High
Cloud Expo - Flying Two Mistakes HighCloud Expo - Flying Two Mistakes High
Cloud Expo - Flying Two Mistakes High
 
Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...
Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...
Thinking About the Full Stack to Create Great Mobile Experiences, New Relic [...
 
Monitoring is Not Just for Production!
Monitoring is Not Just for Production!Monitoring is Not Just for Production!
Monitoring is Not Just for Production!
 
New Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWSNew Relic Infrastructure in the Real World: AWS
New Relic Infrastructure in the Real World: AWS
 
Host for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost OptimizationHost for the Most: Cloud Cost Optimization
Host for the Most: Cloud Cost Optimization
 
DevOps without Measurement is a Fail
DevOps without Measurement is a FailDevOps without Measurement is a Fail
DevOps without Measurement is a Fail
 
SRE-iously! Reliability!
SRE-iously! Reliability!SRE-iously! Reliability!
SRE-iously! Reliability!
 
SRE-iously
SRE-iouslySRE-iously
SRE-iously
 
Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic	Monitor all your Kubernetes and EKS stack with New Relic
Monitor all your Kubernetes and EKS stack with New Relic
 
Fail Better
Fail BetterFail Better
Fail Better
 
Ground Rules for Code Reviews
Ground Rules for Code ReviewsGround Rules for Code Reviews
Ground Rules for Code Reviews
 
FS18 Chicago Keynote
FS18 Chicago Keynote FS18 Chicago Keynote
FS18 Chicago Keynote
 
Keeping Modern Applications Performing
Keeping Modern Applications PerformingKeeping Modern Applications Performing
Keeping Modern Applications Performing
 
re:Thinking the Cloud
re:Thinking the Cloudre:Thinking the Cloud
re:Thinking the Cloud
 
Automating the Elastic Stack
Automating the Elastic StackAutomating the Elastic Stack
Automating the Elastic Stack
 
Faster business decisions and collaboration with Elastic Workplace Search
Faster business decisions and collaboration with Elastic Workplace SearchFaster business decisions and collaboration with Elastic Workplace Search
Faster business decisions and collaboration with Elastic Workplace Search
 
Get involved with the security community at Elastic
Get involved with the security community at ElasticGet involved with the security community at Elastic
Get involved with the security community at Elastic
 
Faster business decisions and collaboration with Workplace Search
Faster business decisions and collaboration with Workplace SearchFaster business decisions and collaboration with Workplace Search
Faster business decisions and collaboration with Workplace Search
 

Similar to Make Browsers Cry: How to Make a Modern Web App Painfully Slow [FutureStack16]

Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...Amazon Web Services
 
stackArmor Security MicroSummit - AWS Security with Splunk
stackArmor Security MicroSummit - AWS Security with SplunkstackArmor Security MicroSummit - AWS Security with Splunk
stackArmor Security MicroSummit - AWS Security with SplunkGaurav "GP" Pal
 
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...Amazon Web Services
 
Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...
Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...
Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...New Relic
 
AWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic Cloud
AWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic CloudAWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic Cloud
AWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic CloudLee Atchison
 
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...Amazon Web Services
 
Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]
Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]
Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]New Relic
 
Future Stack NY - Monitoring the Dynamic Nature of the Cloud
Future Stack NY - Monitoring the Dynamic Nature of the CloudFuture Stack NY - Monitoring the Dynamic Nature of the Cloud
Future Stack NY - Monitoring the Dynamic Nature of the CloudLee Atchison
 
AWS Summit Sydney: Life’s Too Short...for Cloud without Analytics
AWS Summit Sydney: Life’s Too Short...for Cloud without AnalyticsAWS Summit Sydney: Life’s Too Short...for Cloud without Analytics
AWS Summit Sydney: Life’s Too Short...for Cloud without AnalyticsLee Atchison
 
Balance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudBalance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudKent Graziano
 
Scaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization JourneyScaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization JourneyTori Wieldt
 
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...Amazon Web Services
 
Mike MacCana - Deploying your JS app in 2018
Mike MacCana - Deploying your JS app in 2018 Mike MacCana - Deploying your JS app in 2018
Mike MacCana - Deploying your JS app in 2018 OdessaJS Conf
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less timeAbhinav Gupta
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackDataStax Academy
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Salesforce Developers
 
Securing web applications
Securing web applicationsSecuring web applications
Securing web applicationsSupreme O
 
You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?cornelia davis
 

Similar to Make Browsers Cry: How to Make a Modern Web App Painfully Slow [FutureStack16] (20)

Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
Monitoring Performance of Enterprise Applications on AWS: Understanding the D...
 
stackArmor Security MicroSummit - AWS Security with Splunk
stackArmor Security MicroSummit - AWS Security with SplunkstackArmor Security MicroSummit - AWS Security with Splunk
stackArmor Security MicroSummit - AWS Security with Splunk
 
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
 
Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...
Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...
Storms Ahead - How Your Monitoring Can Keep Pace in the Dynamic Cloud {Future...
 
AWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic Cloud
AWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic CloudAWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic Cloud
AWS Summit - Chicago 2016 - New Relic - Monitoring the Dynamic Cloud
 
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
 
Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]
Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]
Monitoring the Dynamic Nature of the Cloud [FutureStack16 NYC]
 
Future Stack NY - Monitoring the Dynamic Nature of the Cloud
Future Stack NY - Monitoring the Dynamic Nature of the CloudFuture Stack NY - Monitoring the Dynamic Nature of the Cloud
Future Stack NY - Monitoring the Dynamic Nature of the Cloud
 
AWS Summit Sydney: Life’s Too Short...for Cloud without Analytics
AWS Summit Sydney: Life’s Too Short...for Cloud without AnalyticsAWS Summit Sydney: Life’s Too Short...for Cloud without Analytics
AWS Summit Sydney: Life’s Too Short...for Cloud without Analytics
 
Balance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudBalance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data Cloud
 
Scaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization JourneyScaling with Docker: New Relic’s Containerization Journey
Scaling with Docker: New Relic’s Containerization Journey
 
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
 
Mike MacCana - Deploying your JS app in 2018
Mike MacCana - Deploying your JS app in 2018 Mike MacCana - Deploying your JS app in 2018
Mike MacCana - Deploying your JS app in 2018
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2
 
DevOps and Cloud Native
DevOps and Cloud NativeDevOps and Cloud Native
DevOps and Cloud Native
 
Securing web applications
Securing web applicationsSecuring web applications
Securing web applications
 
You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?
 

More from New Relic

7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at ScaleNew Relic
 
7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at ScaleNew Relic
 
New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019New Relic
 
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...New Relic
 
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...New Relic
 
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖をFutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖をNew Relic
 
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...New Relic
 
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏New Relic
 
Three Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid ThemThree Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid ThemNew Relic
 
Intro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes MonitoringIntro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes MonitoringNew Relic
 
10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock You10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock YouNew Relic
 
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...New Relic
 
Best Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code PipelineBest Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code PipelineNew Relic
 
Top Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with MonitoringTop Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with MonitoringNew Relic
 
Kubernetes in the Wild: Best Practices for Monitoring
Kubernetes in the Wild: Best Practices for MonitoringKubernetes in the Wild: Best Practices for Monitoring
Kubernetes in the Wild: Best Practices for MonitoringNew Relic
 
Our Evolution to GraphQL: Unifying our API Strategy
Our Evolution to GraphQL: Unifying our API StrategyOur Evolution to GraphQL: Unifying our API Strategy
Our Evolution to GraphQL: Unifying our API StrategyNew Relic
 
Kick Ass Data Exploration through Dashboards
Kick Ass Data Exploration through DashboardsKick Ass Data Exploration through Dashboards
Kick Ass Data Exploration through DashboardsNew Relic
 
Ground Rules for Code Reviews: Improving development velocity and team commun...
Ground Rules for Code Reviews: Improving development velocity and team commun...Ground Rules for Code Reviews: Improving development velocity and team commun...
Ground Rules for Code Reviews: Improving development velocity and team commun...New Relic
 

More from New Relic (18)

7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale
 
7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale7 Tips & Tricks to Having Happy Customers at Scale
7 Tips & Tricks to Having Happy Customers at Scale
 
New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019New Relic University at Future Stack Tokyo 2019
New Relic University at Future Stack Tokyo 2019
 
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
FutureStack Tokyo 19 -[事例講演]株式会社リクルートライフスタイル:年間9300万件以上のサロン予約を支えるホットペッパービューティ...
 
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...FutureStack  Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
FutureStack Tokyo 19 -[New Relic テクニカル講演]モニタリングと可視化がデジタルトランスフォーメーションを救う! - サ...
 
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖をFutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
FutureStack Tokyo 19 -[特別講演]システム開発によろこびと驚きの連鎖を
 
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
 
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
FutureStack Tokyo 19_インサイトとデータを組織の力にする_株式会社ドワンゴ 池田 明啓 氏
 
Three Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid ThemThree Monitoring Mistakes and How to Avoid Them
Three Monitoring Mistakes and How to Avoid Them
 
Intro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes MonitoringIntro to Multidimensional Kubernetes Monitoring
Intro to Multidimensional Kubernetes Monitoring
 
10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock You10 Things You Can Do With New Relic - Number 9 Will Shock You
10 Things You Can Do With New Relic - Number 9 Will Shock You
 
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
Understanding Microservice Latency for DevOps Teams: An Introduction to New R...
 
Best Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code PipelineBest Practices for Measuring your Code Pipeline
Best Practices for Measuring your Code Pipeline
 
Top Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with MonitoringTop Three Mistakes People Make with Monitoring
Top Three Mistakes People Make with Monitoring
 
Kubernetes in the Wild: Best Practices for Monitoring
Kubernetes in the Wild: Best Practices for MonitoringKubernetes in the Wild: Best Practices for Monitoring
Kubernetes in the Wild: Best Practices for Monitoring
 
Our Evolution to GraphQL: Unifying our API Strategy
Our Evolution to GraphQL: Unifying our API StrategyOur Evolution to GraphQL: Unifying our API Strategy
Our Evolution to GraphQL: Unifying our API Strategy
 
Kick Ass Data Exploration through Dashboards
Kick Ass Data Exploration through DashboardsKick Ass Data Exploration through Dashboards
Kick Ass Data Exploration through Dashboards
 
Ground Rules for Code Reviews: Improving development velocity and team commun...
Ground Rules for Code Reviews: Improving development velocity and team commun...Ground Rules for Code Reviews: Improving development velocity and team commun...
Ground Rules for Code Reviews: Improving development velocity and team commun...
 

Recently uploaded

Supply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictSupply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictJack Cole
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单yhkoc
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .NABLAS株式会社
 
How can I successfully sell my pi coins in Philippines?
How can I successfully sell my pi coins in Philippines?How can I successfully sell my pi coins in Philippines?
How can I successfully sell my pi coins in Philippines?DOT TECH
 
Webinar One View, Multiple Systems No-Code Integration of Salesforce and ERPs
Webinar One View, Multiple Systems No-Code Integration of Salesforce and ERPsWebinar One View, Multiple Systems No-Code Integration of Salesforce and ERPs
Webinar One View, Multiple Systems No-Code Integration of Salesforce and ERPsCEPTES Software Inc
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundOppotus
 
2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...
2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...
2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...elinavihriala
 
Investigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesInvestigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesStarCompliance.io
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单enxupq
 
Using PDB Relocation to Move a Single PDB to Another Existing CDB
Using PDB Relocation to Move a Single PDB to Another Existing CDBUsing PDB Relocation to Move a Single PDB to Another Existing CDB
Using PDB Relocation to Move a Single PDB to Another Existing CDBAlireza Kamrani
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIAlejandraGmez176757
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay
 
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...correoyaya
 
Exploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptxExploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptxDilipVasan
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsalex933524
 
Computer Presentation.pptx ecommerce advantage s
Computer Presentation.pptx ecommerce advantage sComputer Presentation.pptx ecommerce advantage s
Computer Presentation.pptx ecommerce advantage sMAQIB18
 
Pre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxPre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxStephen266013
 
Jpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJames Polillo
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单ewymefz
 

Recently uploaded (20)

Supply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictSupply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflict
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
 
How can I successfully sell my pi coins in Philippines?
How can I successfully sell my pi coins in Philippines?How can I successfully sell my pi coins in Philippines?
How can I successfully sell my pi coins in Philippines?
 
Webinar One View, Multiple Systems No-Code Integration of Salesforce and ERPs
Webinar One View, Multiple Systems No-Code Integration of Salesforce and ERPsWebinar One View, Multiple Systems No-Code Integration of Salesforce and ERPs
Webinar One View, Multiple Systems No-Code Integration of Salesforce and ERPs
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...
2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...
2024-05-14 - Tableau User Group - TC24 Hot Topics - Tableau Pulse and Einstei...
 
Investigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_CrimesInvestigate & Recover / StarCompliance.io / Crypto_Crimes
Investigate & Recover / StarCompliance.io / Crypto_Crimes
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
Using PDB Relocation to Move a Single PDB to Another Existing CDB
Using PDB Relocation to Move a Single PDB to Another Existing CDBUsing PDB Relocation to Move a Single PDB to Another Existing CDB
Using PDB Relocation to Move a Single PDB to Another Existing CDB
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
 
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
Innovative Methods in Media and Communication Research by Sebastian Kubitschk...
 
Exploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptxExploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptx
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
 
Computer Presentation.pptx ecommerce advantage s
Computer Presentation.pptx ecommerce advantage sComputer Presentation.pptx ecommerce advantage s
Computer Presentation.pptx ecommerce advantage s
 
Pre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxPre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptx
 
Slip-and-fall Injuries: Top Workers' Comp Claims
Slip-and-fall Injuries: Top Workers' Comp ClaimsSlip-and-fall Injuries: Top Workers' Comp Claims
Slip-and-fall Injuries: Top Workers' Comp Claims
 
Jpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization Sample
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 

Make Browsers Cry: How to Make a Modern Web App Painfully Slow [FutureStack16]

  • 1. Make Browsers CRY How to make a web app painfully slow Speaker Name, Title @name name
  • 2. This document and the information herein (including any information that may be incorporated by reference) is provided for informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf of New Relic, Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature. Any information provided hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s express written permission. Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement that is not a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of future events is a forward-looking statement. These forward-looking statements can often be identified as such because the context of the statement will include words such as “believes,” “anticipates,”, “expects” or words of similar import. Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of the date hereof, and are subject to change at any time without notice. Existing and prospective investors, customers and other third parties transacting business with New Relic are cautioned not to place undue reliance on this forward-looking information. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause the actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect such forward-looking statements is included in the filings New Relic makes with the SEC from time to time. Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at ir.newrelic.com or the SEC’s website at www.sec.gov. New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law. New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.
  • 3. About me… Making 
 slow pages since the 1990s Once designed 
 a page with >9 AJAX requests that blocked rendering Have incorrectly implemented browser caching Overused Webfonts Used the blink tag GOOD NEWS
 Have done none of these things at New Relic
  • 4. TL;DR 
 THERE IS NO MAGIC WEB PERF SAUCE. (but sometimes it's good to know what not to do)
  • 5. The CLIENT / SERVER
 model HTTP(S)
  • 6. The CLIENT / SERVER
 model HTTP(S) C
 A
 C
 H
 E C
 D
 N
  • 7. Pages make requests to an average of DOMAINS20As of October 2016
 Source: httparchive.org/trends.php
  • 8. The average number 
 of requests is now PER PAGE107As of October 2016
 Source: httparchive.org/trends.php
  • 9. Average total transfer size is INCREASING 
 Source: httparchive.org 1,904.58KB 2,218.65KB 2,540.33KB Sept 2014 Sept 2015 Sept 2016
  • 10. requests 312 secs render and it takes 15.4 in the ALEXA TOP 10 one site makes…
  • 11. A MODEL FOR FRONTEND DEVS Infrastructure My precious code backend system(s) "the network"
  • 12. THE FOCUS FOR FRONTEND DEVS My precious code Infrastructure "the network" backend system(s)
  • 13. IGNORE THIS AT YOUR OWN PERIL My precious code Infrastructure "the network" backend system(s)
  • 14. HOW CAN WE MAKE A PAGE AS SLOW 
 AS POSSIBLE?
  • 15. 1. __________ 3. __________ 4. __________ 2. __________ BROWSER APP INFRASTRUCTURE
  • 16. BROWSER APP INFRASTRUCTURE 1. Confuse this 3. Don’t optimize 4. Make bad 
 choices here 2. Ignore this
  • 18. FROM SCIENCE! https://www.nngroup.com/articles/ powers-of-10-time-scales-in-ux/ I'm going for tacos. That was fast! Where should I eat lunch? 10000ms 100ms 1000ms
  • 19. What technical choices can 
 we make to INCREASE BAD C/X?
  • 21. What we're testing with. ▪ Simple web page: 
 some images, JS, HTML, 
 and CSS ▪ Running on AWS EC2 
 (us-west-2) m2-large instance ▪ Powered (and monitored) using Go 1400 ms
  • 23. Confidential ©2008-16 New Relic, Inc. All rights reserved.   23 Infrastructure: What's the cheapest? ▪ The cheapest EC2 instance money can buy – t2.nano – 512 mb memory – 1 vCPU t2.nano INFRASTRUCTURE
  • 24. Confidential ©2008-16 New Relic, Inc. All rights reserved.   24 1445 ms What a deal! "The t2.nano offers the full performance of a high frequency Intel CPU core if your workload utilizes less than 5% of the core on average over 24 hours." Source: https://aws.amazon.com/ blogs/aws/ec2-update-t2-nano- instances-now-available/ INFRASTRUCTURE
  • 26. Confidential ©2008-16 New Relic, Inc. All rights reserved.   26 But came back to this... INFRASTRUCTURE
  • 27. Confidential ©2008-16 New Relic, Inc. All rights reserved.   27 Page load time went way, way up INFRASTRUCTURE
  • 28. Confidential ©2008-16 New Relic, Inc. All rights reserved.   28 LESSON: 
 T2 INSTANCE 
 CPU PERFORMANCE IS VARIABLE. INFRASTRUCTURE
  • 30. Confidential ©2008-16 New Relic, Inc. All rights reserved.   30 EACH PIXEL IS RANDOMLY GENERATED img := image.NewRGBA(image.Rect(0, 0, width, height)) for x := 0; x < width; x++ { for y := 0; y < height; y++ { c := color.RGBA{uint8(rand.Intn(255)), uint8(rand.Intn(255)), uint8(rand.Intn(255)), 255} img.Set(x, y, c) } }
  • 31. Confidential ©2008-16 New Relic, Inc. All rights reserved.   31 Doing this is slow (understandably) APP
  • 32. Confidential ©2008-16 New Relic, Inc. All rights reserved.   32 But not slow enough... APP
  • 33. Go sleep if os.Getenv("SLOW_IMAGE") != "" { time.Sleep(1000 * time.Millisecond) } APP
  • 34. And Go runtime tweaking... $ GOGC=10 <app> APP
  • 35. Confidential ©2008-16 New Relic, Inc. All rights reserved.   35 5300ms And then the browser tears up APP
  • 37. Some recent data regarding NETWORK LATENCY https://aws.amazon.com/blogs/aws/now-open-aws-us-east-ohio-region/ us-west-1 us-west-2 us-east-2 68ms 52ms
  • 38. A very fast TCP primer ▪ Opening a new TCP connection is slow, especially over long distances ▪ Different hosts: 
 different connections ▪ Browsers are good at 
 reusing existing connections ▪ SSL adds additional RTs Server Browser roundtrip 1 2 3 SYN SYN/ACK ACK Data NETWORK
  • 39. Confidential ©2008-16 New Relic, Inc. All rights reserved.   39 Forcing as many open TCP connections ▪ Connection: close HTTP header ▪ For every connection, force the browser 
 to re-establish the connection ▪ Host OS also needs to open a new socket. Expect slightly more packets NETWORK
  • 40. Confidential ©2008-16 New Relic, Inc. All rights reserved.   40 Increase the bandwidth! ▪ Disable all gzip compression ▪ Don't minify ▪ Set HTTP headers to prevent any caching at any intermediate CDNs, proxies, or the browser HTTP(S) C
 A
 C
 H
 E NETWORK
  • 41. Confidential ©2008-16 New Relic, Inc. All rights reserved.   41 TCP Connection Close: Infrastructure View The number of received packets suddenly spikes... NETWORK
  • 42. Confidential ©2008-16 New Relic, Inc. All rights reserved.   42 TCP Connection Close: App View Not much to see here NETWORK
  • 43. Confidential ©2008-16 New Relic, Inc. All rights reserved.   43 % of 0ms connection openings Connection time measured in Insights from New Relic Synthetics NETWORK
  • 44. Confidential ©2008-16 New Relic, Inc. All rights reserved.   44 Results: Opening all the connections 2040ms NETWORK
  • 45. Let's increase network latency the easy way Make the distance between these really far. NETWORK
  • 46. Let's increase network latency the easy way 8,561 miles San FranciscoAWS in Mumbai NETWORK
  • 47. Page load gets (slightly) faster in Japan ap-south-1 NETWORK
  • 48. And in Singapore, too NETWORK
  • 49. Confidential ©2008-16 New Relic, Inc. All rights reserved.   49 Where the bits come from is really important 2460ms NETWORK
  • 51. Confidential ©2008-16 New Relic, Inc. All rights reserved.   51 Delay getting CSS to the client ▪ CSS blocks rendering, delay it for more pain. ▪ Put it in the <body> ▪ Add @imports for good measure. ▪ Make CSS extra-complex, uncachable, and far away from the user. BROWSER
  • 52. Confidential ©2008-16 New Relic, Inc. All rights reserved.   52 Block with JavaScript as much as possible ▪ Put a lot of libraries in the <head> tag ▪ Make that JavaScript do a lot of unnecessary work ▪ Avoid the async script attribute BROWSER
  • 53. 5DIFFERENT FONTS... FROM CHINA LETS USE Why not? BROWSER
  • 55. Confidential ©2008-16 New Relic, Inc. All rights reserved.   55 BROWSER
  • 57. +3400 ms +500 ms +19000 ms +1000 ms BROWSER APP INFRASTRUCTURE
  • 58. All these decisions can happen in real life for good reasons.
  • 59. Confidential ©2008-16 New Relic, Inc. All rights reserved.   59 ∞ms 800 ms Aggressively
 Unoptimized Aggressively
 Optimized
  • 60. Fixing it: solutions Use a 
 Content Delivery Network Multiple availability zones, DNS- based routing Caching correctly implemented JS, HTML, 
 and CSS optimized for not-blocking
  • 61. Creating 
 a fast app 
 is more 
 than using ______________. BROWSER APP INFRASTRUCTURE
  • 62. Creating 
 a fast app 
 is more 
 than using ______________. BROWSER APP INFRASTRUCTURE fast ec2 hosts
  • 63. Creating 
 a fast app 
 is more 
 than using ______________. BROWSER APP INFRASTRUCTURE Go
  • 64. Creating 
 a fast app 
 is more 
 than using ______________. BROWSER APP INFRASTRUCTURE HTTP/2
  • 65. Creating 
 a fast app 
 is more 
 than using ______________. BROWSER APP INFRASTRUCTURE React