SlideShare a Scribd company logo
1 of 47
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
EVALUATING STREAMING FRAMEWORK
PERFORMANCE FOR A LARGE-SCALE
AGGREGATION PIPELINE
RON CROCKER
(rcrocker@newrelic.com)
PRINCIPAL ENGINEER & ARCHITECT
INGEST PIPELINE
1
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
4
▪
EVERY MINUTE
requestsaccepts

over 16M
stores

over
analytic

events2M
aggregates

over 800M metrics
3Bqueries

over
data

points
▪
▪
different

services
contains

over 200
maintained/

built by 25+ engineering

teams
▪
2.5more

than
SSD

storage
PETABYTES
Thanks for the pic! https://www.flickr.com/photos/stephenyeargin/7466608166
�����
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
9
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
▪ Double-click to edit▪
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Goals for evaluating streaming systems
• Understand performance characteristics
• Understand operations characteristics
11
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
How New Relic works…
… the cartoon version
12
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
13
A1 An instance of your application running on a host
A2 Another instance of your application running on another host
An More instances of your application running on more hosts
…
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
14
A1
A2
An
▪
▪
▪
New Relic Agent reports data to New Relic
…
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
15
A1
A2
An
▪
▪
▪
…
▪ Agent Token (≈ account ID, agent ID)

▪ Duration (time-period covered)

▪ Timeslices: Each timeslice contains

▪ Metric name

▪ Metric stats

▪ Count, total time, exclusive time, min,
max, sum of squares
HTTP post to <something>.newrelic.com
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
16
▪
▪
▪
▪ ▪
▪
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Timeslice
Resolver
Minute
Aggregator
Minute
Writer
Hour
Aggregator
Hour
Writer
aggregated_minute_timeslices_data
resolved_timeslice_data
aggregated_hourly_timeslices_data
raw_timeslice_data
HTTP
termination
Other
Consumers
17
A1
A1
▪ Agent Token (≈ account ID, agent ID)

▪ Duration (time-period covered)

▪ Timeslices: Each timeslice contains

▪ Metric name

▪ Metric stats

▪ Count, total time, exclusive time, min,
max, sum of squares
▪ Account ID
▪ Agent ID
▪ Start time
▪ Duration (time-period covered)

▪ Timeslices: Each timeslice contains

▪ Metric name

▪ Metric stats

▪ Count, total time, exclusive time, min,
max, sum of squares
▪ Account ID

▪ Agent ID

▪ Application Agent IDs
▪ Start time

▪ Duration (time-period covered)

▪ Timeslices: Each timeslice contains

▪ Metric ID
▪ Metric stats

▪ Count, total time, exclusive time, min,
max, sum of squares
▪ Account ID

▪ Agent ID
▪ Timeslices: Each timeslice contains

▪ Metric ID

▪ Start time
▪ Duration (time-period covered)
▪ Metric stats

▪ Count, total time, exclusive time,
min, max, sum of squares
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
The Experiment
18
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
19
Timeslice
Resolver
Minute
Aggregator
Minute
Writer
Hour
Aggregator
Hour
Writer
aggregated_minute_timeslices_data
resolved_timeslice_data
aggregated_hourly_timeslices_data
raw_timeslice_data
HTTP
termination
Other
Consumers
Why Minute Aggregator?
▪No external dependencies
▪ Performance comparisons solely focused on processing

▪ Repeatable
▪ We can compare across technologies without needing to normalize

▪ Important to our business
▪ ProvIDes aggregation across instances of your application

▪ We could have benchmarked something else, like Yahoo benchmark or
word count, but would it have mattered?
20
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
21
Timeslice
Resolver
Minute
Aggregator
Minute
Writer
Hour
Aggregator
Hour
Writer
aggregated_minute_timeslices_data
resolved_timeslice_data
aggregated_hourly_timeslices_data
raw_timeslice_data
HTTP
termination
Other
Consumers
What about Hour Aggregator?
▪ Similar to Minute Aggregator
▪ No external dependencies, Repeatable, Important to the business
▪ Needs to run for several hours to understand
performance
▪ … and I'm that patient

▪ Extra credit: Integrate into stream implementations
22
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Goals for evaluating streaming systems
• Understand performance characteristics
• Performance at different arrival rates:

• 100%

• 6000%

• To infinity and beyond
• Understand operations characteristics
• No explicit goal
23
Evaluation Framework
24
Datacenter
Staging
Kafka
AWS
Experiment
Kafka
VPC
Baseline
Flink
Spark
Load
driver
AWS Configurations
▪ Kafka + ZK
▪ 3 i2.8xlarge hosts

▪ Baseline
▪ 3 m4.4xlarge hosts

▪ Flink
▪ 4 m4.4xlarge hosts

▪ Spark
▪ EMR - 1 master , 3 workers, all m4.4xlarge
25
AWS
Configuration
i2.8xlarge m4.4xlarge
Cores 32 16
RAM 244GB 64GB
Network
Bandwidth
10Gbps 2Gbps
Experimental Kafka system
▪ Kafka 0.8.2.2
▪ NR fork, includes back ports of some 0.9 features

▪ # partitions: 16
▪ It's possible that this is too few partitions for the Baseline system
26
Load Driver
▪ Generates simple synthetic load based on real traffic
▪ Real traffic = output of Timeslice Resolver
▪ Load generated based on repeated messages
▪ Synthesizing interesting load is challenging:
▪ Un-bundle timeslices

▪ Generate re-bundled with new IDs - Agent, Account and/or Metrics

▪ Repeat as necessary to get to load point
27
Kafka
Baseline system - Our incumbent Minute Aggregator
28
▪
▪ Consume
Aggregate

Agent
Aggregate

Applications
▪ Consume
Aggregate

Agent
Aggregate

Applications
▪
Produce
Construct
Minute
Bundles
▪Kafka ▪
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
29
▪
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
30
Distributions are not friendly…
31
Average # timeslices: 279
Geometric Mean # timeslices: 64
Median # timeslices: 44
Long tail…
▪
Flink configuration
Job Manager
Task Manager
(16 slots)
Task Manager
(16 slots)
Task Manager
(16 slots)
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
33
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
34
AWS EMR
Spark configuration
Master
Slave Slave Slave
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
36
But the Spark Streaming solution generates WRONG results
▪ … because there is no Event Time windowing
▪ … leading to me abandoning Spark Streaming
37
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Results
38
Results
39
Technology 100 % 500 % 4000 % 6000 % more…
Baseline
Flink
Spark
X Flat throughput with Kafka lag
X Flat throughput 

without Kafka lag
X Wrong answers…
Opportunities to improve the experiment
▪ MORE BANDWIDTH
▪ I don't know the limit of the Flink implementation

▪ Key space domain expansion [All]
▪ Scaling in rate domain only, with the same set of keys

▪ This is too easy on the key-based systems [Flink, Spark]
▪ This may be hard on the baseline system as well
▪ Inclusion of Database sinks [Flink, Spark]
▪ Kafka sinks are still needed for downstream functions
40
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Thank you
41
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Extra credit
42
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
43
Timeslice
Resolver
Minute
Aggregator
Minute
Writer
Hour
Aggregator
Hour
Writer
aggregated_minute_timeslices_data
resolved_timeslice_data
aggregated_hourly_timeslices_data
raw_timeslice_data
HTTP
termination
Other
Consumers
▪
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
44
▪
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
45
Confidential ©2008-15 New Relic, Inc. All rights reserved.  
Thank you
46
Ron Crocker - Evaluating Streaming Framework Performance for a Large-Scale Aggregation Pipeline

More Related Content

Viewers also liked

Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...
Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...
Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...
Flink Forward
 

Viewers also liked (20)

Ted Dunning - Keynote: How Can We Take Flink Forward?
Ted Dunning -  Keynote: How Can We Take Flink Forward?Ted Dunning -  Keynote: How Can We Take Flink Forward?
Ted Dunning - Keynote: How Can We Take Flink Forward?
 
Sanjar Akhmedov - Joining Infinity – Windowless Stream Processing with Flink
Sanjar Akhmedov - Joining Infinity – Windowless Stream Processing with FlinkSanjar Akhmedov - Joining Infinity – Windowless Stream Processing with Flink
Sanjar Akhmedov - Joining Infinity – Windowless Stream Processing with Flink
 
Eron Wright - Flink Security Enhancements
Eron Wright - Flink Security EnhancementsEron Wright - Flink Security Enhancements
Eron Wright - Flink Security Enhancements
 
Aljoscha Krettek - The Future of Apache Flink
Aljoscha Krettek - The Future of Apache FlinkAljoscha Krettek - The Future of Apache Flink
Aljoscha Krettek - The Future of Apache Flink
 
Jamie Grier - Robust Stream Processing with Apache Flink
Jamie Grier - Robust Stream Processing with Apache FlinkJamie Grier - Robust Stream Processing with Apache Flink
Jamie Grier - Robust Stream Processing with Apache Flink
 
Kostas Tzoumas_Stephan Ewen - Keynote -The maturing data streaming ecosystem ...
Kostas Tzoumas_Stephan Ewen - Keynote -The maturing data streaming ecosystem ...Kostas Tzoumas_Stephan Ewen - Keynote -The maturing data streaming ecosystem ...
Kostas Tzoumas_Stephan Ewen - Keynote -The maturing data streaming ecosystem ...
 
Malo Denielou - No shard left behind: Dynamic work rebalancing in Apache Beam
Malo Denielou - No shard left behind: Dynamic work rebalancing in Apache BeamMalo Denielou - No shard left behind: Dynamic work rebalancing in Apache Beam
Malo Denielou - No shard left behind: Dynamic work rebalancing in Apache Beam
 
Fabian Hueske_Till Rohrmann - Declarative stream processing with StreamSQL an...
Fabian Hueske_Till Rohrmann - Declarative stream processing with StreamSQL an...Fabian Hueske_Till Rohrmann - Declarative stream processing with StreamSQL an...
Fabian Hueske_Till Rohrmann - Declarative stream processing with StreamSQL an...
 
Stephan Ewen - Running Flink Everywhere
Stephan Ewen - Running Flink EverywhereStephan Ewen - Running Flink Everywhere
Stephan Ewen - Running Flink Everywhere
 
Robert Metzger - Connecting Apache Flink to the World - Reviewing the streami...
Robert Metzger - Connecting Apache Flink to the World - Reviewing the streami...Robert Metzger - Connecting Apache Flink to the World - Reviewing the streami...
Robert Metzger - Connecting Apache Flink to the World - Reviewing the streami...
 
Márton Balassi Streaming ML with Flink-
Márton Balassi Streaming ML with Flink- Márton Balassi Streaming ML with Flink-
Márton Balassi Streaming ML with Flink-
 
Stephan Ewen - Scaling to large State
Stephan Ewen - Scaling to large StateStephan Ewen - Scaling to large State
Stephan Ewen - Scaling to large State
 
Flink Case Study: Amadeus
Flink Case Study: AmadeusFlink Case Study: Amadeus
Flink Case Study: Amadeus
 
Gábor Horváth - Code Generation in Serializers and Comparators of Apache Flink
Gábor Horváth - Code Generation in Serializers and Comparators of Apache FlinkGábor Horváth - Code Generation in Serializers and Comparators of Apache Flink
Gábor Horváth - Code Generation in Serializers and Comparators of Apache Flink
 
Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...
Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...
Javier Lopez_Mihail Vieru - Flink in Zalando's World of Microservices - Flink...
 
Matthias Kricke_Martin Grimmer_Michael Schmeißer - Building a real time Tweet...
Matthias Kricke_Martin Grimmer_Michael Schmeißer - Building a real time Tweet...Matthias Kricke_Martin Grimmer_Michael Schmeißer - Building a real time Tweet...
Matthias Kricke_Martin Grimmer_Michael Schmeißer - Building a real time Tweet...
 
Gyula Fóra - RBEA- Scalable Real-Time Analytics at King
Gyula Fóra - RBEA- Scalable Real-Time Analytics at KingGyula Fóra - RBEA- Scalable Real-Time Analytics at King
Gyula Fóra - RBEA- Scalable Real-Time Analytics at King
 
Automatic Detection of Web Trackers by Vasia Kalavri
Automatic Detection of Web Trackers by Vasia KalavriAutomatic Detection of Web Trackers by Vasia Kalavri
Automatic Detection of Web Trackers by Vasia Kalavri
 
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIsFabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
 
Eron Wright - Introducing Flink on Mesos
Eron Wright - Introducing Flink on MesosEron Wright - Introducing Flink on Mesos
Eron Wright - Introducing Flink on Mesos
 

More from Flink Forward

More from Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 

Recently uploaded

Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
amitlee9823
 
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
gajnagarg
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
amitlee9823
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
amitlee9823
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
amitlee9823
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
amitlee9823
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
gajnagarg
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
amitlee9823
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 

Recently uploaded (20)

Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
Just Call Vip call girls Palakkad Escorts ☎️9352988975 Two shot with one girl...
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
 
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men  🔝mahisagar🔝   Esc...
➥🔝 7737669865 🔝▻ mahisagar Call-girls in Women Seeking Men 🔝mahisagar🔝 Esc...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 

Ron Crocker - Evaluating Streaming Framework Performance for a Large-Scale Aggregation Pipeline

  • 1. Confidential ©2008-15 New Relic, Inc. All rights reserved.   EVALUATING STREAMING FRAMEWORK PERFORMANCE FOR A LARGE-SCALE AGGREGATION PIPELINE RON CROCKER (rcrocker@newrelic.com) PRINCIPAL ENGINEER & ARCHITECT INGEST PIPELINE 1
  • 2. Confidential ©2008-15 New Relic, Inc. All rights reserved.  
  • 3.
  • 4. Confidential ©2008-15 New Relic, Inc. All rights reserved.   4 ▪
  • 6.
  • 7. different
 services contains
 over 200 maintained/
 built by 25+ engineering
 teams ▪ 2.5more
 than SSD
 storage PETABYTES
  • 8. Thanks for the pic! https://www.flickr.com/photos/stephenyeargin/7466608166 �����
  • 9. Confidential ©2008-15 New Relic, Inc. All rights reserved.   9
  • 10. Confidential ©2008-15 New Relic, Inc. All rights reserved.   ▪ Double-click to edit▪
  • 11. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Goals for evaluating streaming systems • Understand performance characteristics • Understand operations characteristics 11
  • 12. Confidential ©2008-15 New Relic, Inc. All rights reserved.   How New Relic works… … the cartoon version 12
  • 13. Confidential ©2008-15 New Relic, Inc. All rights reserved.   13 A1 An instance of your application running on a host A2 Another instance of your application running on another host An More instances of your application running on more hosts …
  • 14. Confidential ©2008-15 New Relic, Inc. All rights reserved.   14 A1 A2 An ▪ ▪ ▪ New Relic Agent reports data to New Relic …
  • 15. Confidential ©2008-15 New Relic, Inc. All rights reserved.   15 A1 A2 An ▪ ▪ ▪ … ▪ Agent Token (≈ account ID, agent ID) ▪ Duration (time-period covered) ▪ Timeslices: Each timeslice contains ▪ Metric name ▪ Metric stats ▪ Count, total time, exclusive time, min, max, sum of squares HTTP post to <something>.newrelic.com
  • 16. Confidential ©2008-15 New Relic, Inc. All rights reserved.   16 ▪ ▪ ▪ ▪ ▪ ▪
  • 17. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Timeslice Resolver Minute Aggregator Minute Writer Hour Aggregator Hour Writer aggregated_minute_timeslices_data resolved_timeslice_data aggregated_hourly_timeslices_data raw_timeslice_data HTTP termination Other Consumers 17 A1 A1 ▪ Agent Token (≈ account ID, agent ID) ▪ Duration (time-period covered) ▪ Timeslices: Each timeslice contains ▪ Metric name ▪ Metric stats ▪ Count, total time, exclusive time, min, max, sum of squares ▪ Account ID ▪ Agent ID ▪ Start time ▪ Duration (time-period covered) ▪ Timeslices: Each timeslice contains ▪ Metric name ▪ Metric stats ▪ Count, total time, exclusive time, min, max, sum of squares ▪ Account ID ▪ Agent ID ▪ Application Agent IDs ▪ Start time ▪ Duration (time-period covered) ▪ Timeslices: Each timeslice contains ▪ Metric ID ▪ Metric stats ▪ Count, total time, exclusive time, min, max, sum of squares ▪ Account ID ▪ Agent ID ▪ Timeslices: Each timeslice contains ▪ Metric ID ▪ Start time ▪ Duration (time-period covered) ▪ Metric stats ▪ Count, total time, exclusive time, min, max, sum of squares
  • 18. Confidential ©2008-15 New Relic, Inc. All rights reserved.   The Experiment 18
  • 19. Confidential ©2008-15 New Relic, Inc. All rights reserved.   19 Timeslice Resolver Minute Aggregator Minute Writer Hour Aggregator Hour Writer aggregated_minute_timeslices_data resolved_timeslice_data aggregated_hourly_timeslices_data raw_timeslice_data HTTP termination Other Consumers
  • 20. Why Minute Aggregator? ▪No external dependencies ▪ Performance comparisons solely focused on processing ▪ Repeatable ▪ We can compare across technologies without needing to normalize ▪ Important to our business ▪ ProvIDes aggregation across instances of your application ▪ We could have benchmarked something else, like Yahoo benchmark or word count, but would it have mattered? 20
  • 21. Confidential ©2008-15 New Relic, Inc. All rights reserved.   21 Timeslice Resolver Minute Aggregator Minute Writer Hour Aggregator Hour Writer aggregated_minute_timeslices_data resolved_timeslice_data aggregated_hourly_timeslices_data raw_timeslice_data HTTP termination Other Consumers
  • 22. What about Hour Aggregator? ▪ Similar to Minute Aggregator ▪ No external dependencies, Repeatable, Important to the business ▪ Needs to run for several hours to understand performance ▪ … and I'm that patient ▪ Extra credit: Integrate into stream implementations 22
  • 23. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Goals for evaluating streaming systems • Understand performance characteristics • Performance at different arrival rates: • 100% • 6000% • To infinity and beyond • Understand operations characteristics • No explicit goal 23
  • 25. AWS Configurations ▪ Kafka + ZK ▪ 3 i2.8xlarge hosts ▪ Baseline ▪ 3 m4.4xlarge hosts ▪ Flink ▪ 4 m4.4xlarge hosts ▪ Spark ▪ EMR - 1 master , 3 workers, all m4.4xlarge 25 AWS Configuration i2.8xlarge m4.4xlarge Cores 32 16 RAM 244GB 64GB Network Bandwidth 10Gbps 2Gbps
  • 26. Experimental Kafka system ▪ Kafka 0.8.2.2 ▪ NR fork, includes back ports of some 0.9 features ▪ # partitions: 16 ▪ It's possible that this is too few partitions for the Baseline system 26
  • 27. Load Driver ▪ Generates simple synthetic load based on real traffic ▪ Real traffic = output of Timeslice Resolver ▪ Load generated based on repeated messages ▪ Synthesizing interesting load is challenging: ▪ Un-bundle timeslices ▪ Generate re-bundled with new IDs - Agent, Account and/or Metrics ▪ Repeat as necessary to get to load point 27
  • 28. Kafka Baseline system - Our incumbent Minute Aggregator 28 ▪ ▪ Consume Aggregate
 Agent Aggregate
 Applications ▪ Consume Aggregate
 Agent Aggregate
 Applications ▪ Produce Construct Minute Bundles ▪Kafka ▪
  • 29. Confidential ©2008-15 New Relic, Inc. All rights reserved.   29 ▪
  • 30. Confidential ©2008-15 New Relic, Inc. All rights reserved.   30
  • 31. Distributions are not friendly… 31 Average # timeslices: 279 Geometric Mean # timeslices: 64 Median # timeslices: 44 Long tail… ▪
  • 32. Flink configuration Job Manager Task Manager (16 slots) Task Manager (16 slots) Task Manager (16 slots)
  • 33. Confidential ©2008-15 New Relic, Inc. All rights reserved.   33
  • 34. Confidential ©2008-15 New Relic, Inc. All rights reserved.   34
  • 36. Confidential ©2008-15 New Relic, Inc. All rights reserved.   36
  • 37. But the Spark Streaming solution generates WRONG results ▪ … because there is no Event Time windowing ▪ … leading to me abandoning Spark Streaming 37
  • 38. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Results 38
  • 39. Results 39 Technology 100 % 500 % 4000 % 6000 % more… Baseline Flink Spark X Flat throughput with Kafka lag X Flat throughput 
 without Kafka lag X Wrong answers…
  • 40. Opportunities to improve the experiment ▪ MORE BANDWIDTH ▪ I don't know the limit of the Flink implementation ▪ Key space domain expansion [All] ▪ Scaling in rate domain only, with the same set of keys ▪ This is too easy on the key-based systems [Flink, Spark] ▪ This may be hard on the baseline system as well ▪ Inclusion of Database sinks [Flink, Spark] ▪ Kafka sinks are still needed for downstream functions 40
  • 41. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Thank you 41
  • 42. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Extra credit 42
  • 43. Confidential ©2008-15 New Relic, Inc. All rights reserved.   43 Timeslice Resolver Minute Aggregator Minute Writer Hour Aggregator Hour Writer aggregated_minute_timeslices_data resolved_timeslice_data aggregated_hourly_timeslices_data raw_timeslice_data HTTP termination Other Consumers ▪
  • 44. Confidential ©2008-15 New Relic, Inc. All rights reserved.   44 ▪
  • 45. Confidential ©2008-15 New Relic, Inc. All rights reserved.   45
  • 46. Confidential ©2008-15 New Relic, Inc. All rights reserved.   Thank you 46