Top Banner
51

Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Mar 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 2: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Netflix Data Benchmark (NDBench)

Page 3: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Circa end of 2015 AD

Page 4: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 5: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 6: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 7: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Netflix Data Benchmark (NDBench)

Page 8: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Vinay ChellaIoannis PapapanagiotouArchitectsCloud Database Engineering @ Netflix

Page 9: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 10: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Databases and Caches

Page 11: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

● Tens of petabytes of data

● Trillions of ops / day

● Tens of Millions of replications / sec

● Tens of Thousands of servers

● Hundreds of microservice clients

Netflix Data Scale

Page 12: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Agenda

●●●●●

Page 13: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 14: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Our Needs● Single benchmark framework for all data

stores/services● Dynamic configuration while the test is running.● Test a platform along with production microservices● Integrate with other platform cloud services● Pluggable patterns and loads● Auto tunable framework● Run infinite horizon tests

Page 15: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

What is NDBench?

Page 16: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

●●

NDBench allows

Page 17: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

NDBench Features

Page 18: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Side-by-Side comparison

Page 19: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Varying Data Models

Page 20: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Different instance types

Page 21: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Heterogeneous service comparison

Page 22: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Workload Patterns and Loads

Page 23: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Different Client APIs

Page 24: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Cloud Ecosystem integration

Cloud Discovery Properties Metrics

Page 25: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Agenda

●●●●●

Page 26: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Architecture

● Plugin: Adding Client drivers

● Core: Workload generator● Web: UI and the servlets

Page 27: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

What is Pluggable?

Page 28: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Load Patterns

Page 29: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Configuring a cluster

Page 30: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Continuous Delivery Integration

Page 31: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 32: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 33: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 34: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 35: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 36: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

NDBench exemplar uses

Page 37: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

C*

Page 38: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

C* 7 to 8 (reads)

Page 39: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

i2 vs i3 instance type

Page 40: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

SSD Tuning

Page 41: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

CMS vs G1GC for Cassandra

Page 42: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

AMI Certification Process

Page 43: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Throughput Scalability

Page 44: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Latency

Page 45: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

•Benchmarking Tool

• Integration Tests

•Deployment Validation

NDBench @ Netflix as ...

Page 46: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Auto-tuning

● Find the appropriate capacity that the cluster can sustain

○ RPS/WPS ○ Number of documents

indexed/sec ● After X% of SLA violations,

NDBench stops stepping up the load

○ Exponential backoff

Page 47: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Github: https://github.com/netflix/ndbenchTalk to us: https://gitter.im/Netflix/ndbench

Page 48: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Take away

Page 49: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Q & A

Vinay Chella - @vinaykchellaIoannis Papapanagiotou - @ipapapa

Page 50: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform
Page 51: Netflix Data Benchmark (NDBench) · 2018-01-11 · Our Needs Single benchmark framework for all data stores/services Dynamic configuration while the test is running. Test a platform

Architecture

● Core: Workload generator

● API: Adding plugins● Web: UI and the

servlets