SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Automated YCSB Benchmarking
Miroslav Cupák
04/04/2013
Project Presentation
Outline
● Introduction
● YCSB
● Approach
● Design & Implementation
● Future Work
● Related Work
● Conclusion
Introduction
● problem
○ monitoring the results of cloud systems benchmarks
together with the configuration
● motivation
○ recent explosion of cloud data-serving systems
○ real performance vs "sweet spot" performance
○ benchmarking tools don't offer a sufficient level of
automation
○ many experiments on different configurations
○ results interpreted in an ad-hoc way
YCSB
● Yahoo! Cloud Serving Benchmark
● tool for benchmarking of cloud data
management systems
● open source
● easily extensible (systems, workload)
● Cassandra, DynamoDB, HBase, Infinispan,
JDBC, MapKeeper, MongoDB... (12)
● good level of automation
YCSB Benchmarks
● Tier 1: Performance
○ latency of requests when the database is under load
○ focused on measuring latency as we increase
throughput until saturation
● Tier 2: Scalability
○ impact on performance as machines are added
○ scaleup - load servers with data, run the workload,
delete the data, add more servers, load more data,
run the workload again
YCSB Workloads
● workload generator (YCSB client)
○ loads data sets and executes workloads
● workloads
○ update heavy, read mostly, read only, read latest,
short range, read-modify-write
○ read/update ratio, record count, operation count,
data size, record structure, request distribution
YCSB Workloads
● example - update heavy workload
# Application example: Session store
# Records: 1 KB (10 fields, 100 bytes each, plus key)
recordcount=1000
operationcount=1000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.5
updateproportion=0.5
scanproportion=0
insertproportion=0
requestdistribution=zipfian
YCSB Client Execution
Setup
Result Processing
W
o
r
k
e
r
W
o
r
k
e
r
W
o
r
k
e
r
W
o
r
k
e
r
...
YCSB Output
$ ycsb run cassandra-10 -p hosts=127.0.0.1 -P workloada
-p recordcount=100000000 -s -threads 10
10 sec: 1000 operations; 60.61 current ops/sec; [UPDATE AverageLatency
(us)=1055.57] [READ AverageLatency(us)=4200.67] [CLEANUP AverageLatency
(us)=102]
[OVERALL], RunTime(ms), 10183.0
[OVERALL], Throughput(ops/sec), 98.20288716488265
[UPDATE], Operations, 493
[UPDATE], AverageLatency(us), 1246.6247464503042
[UPDATE], MinLatency(us), 525
[UPDATE], MaxLatency(us), 48089
[UPDATE], 95thPercentileLatency(ms), 1
[UPDATE], 99thPercentileLatency(ms), 6
[UPDATE], Return=0, 493
[UPDATE], 0, 268
[UPDATE], 1, 207
Approach
● tasks
○ modify YCSB to store results of experiments in a
database
○ create an application showing results in graphs
○ collect configuration of the client and the system and
associate it with data points in graphs
○ evaluate the approach
Design & Implementation - Saving
● storing results in a DB
Setup
Result Processing
W
o
r
k
e
r
W
o
r
k
e
r
W
o
r
k
e
r
W
o
r
k
e
r
...
Design & Implementation - Saving
● storing results in a DB
○ implementation of MeasurementsExporter
○ requires non-trivial query construction
○ -p exporter=...
Runs
● id
● runtime
● throughput
● time
● system
Workloads
● id
● run
● type
● operations
● avglat
● maxlat
● minlat
● 95lat
● 99lat
● return0
Systems
● id
● name
Operations
● id
● workload
● time
● count
Configurations
● id
● run
● config
Design & Implementation - Graphs
● generating graphs
○ dashboard-like comparison of multiple runs
○ results over the last few runs to see if a configuration
change lead to improvements in performance
○ Java EE 6 web application + Highcharts
○ runtime, throughput, number of operations, latency
(avg/min/max/99%/95%)
● user/group management
○ Cassandra developers see only Cassandra results
Design & Implementation - Graphs
Design & Implementation - Graphs
Design & Implementation - Graphs
Design & Implementation - Graphs
Design & Implementation - Graphs
Design & Implementation - Graphs
● not yet done
Design & Implementation - Config
● config fetched after selecting a run in a graph
● so far only client configuration
com.yahoo.ycsb.Client
-db com.yahoo.ycsb.db.CassandraClient10
-p hosts=127.0.0.1
-P ../workloads/workloada
-p recordcount=100000000
-s
-threads 10
-target 100
-t
...
Setup
Result Processing
W
o
r
k
e
r
W
o
r
k
e
r
W
o
r
k
e
r
W
o
r
k
e
r
...
Future Work
● extend graphs
● polling system configuration over SSH
● run comparison (diff-like view)
● evaluation (Cassandra, HBase)
Related Work
● Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu
Ramakrishnan, Russell Sears: Benchmarking cloud
serving systems with YCSB. SoCC 2010.
● Brian F. Cooper: Yahoo! Cloud Serving Benchmark -
Overview and results. SoCC 2010.
● Tilmann Rabl, Sergio Gómez-Villamor, Mohammad
Sadoghi, Victor Muntés-Mulero, Hans-Arno Jacobsen,
and Serge Mankovskii. 2012. Solving big data
challenges for enterprise application performance
management. Proc. VLDB Endow 2012.
Conclusions
● YCSB modified to store data in a more
suitable form.
● Web application showing the results in graph
form implemented.
● Configuration management in progress.
Thank you! Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
Daeyong Shin
 

Was ist angesagt? (20)

Postgresql
PostgresqlPostgresql
Postgresql
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
Power-up services with gRPC
Power-up services with gRPCPower-up services with gRPC
Power-up services with gRPC
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 
MongoDB at Baidu
MongoDB at BaiduMongoDB at Baidu
MongoDB at Baidu
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Mongo db workshop # 01
Mongo db workshop # 01Mongo db workshop # 01
Mongo db workshop # 01
 
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
The Impact of Columnar File Formats on SQL-on-Hadoop Engine Performance: A St...
 
PostgreSQL and JDBC: striving for high performance
PostgreSQL and JDBC: striving for high performancePostgreSQL and JDBC: striving for high performance
PostgreSQL and JDBC: striving for high performance
 
NOSQL vs SQL
NOSQL vs SQLNOSQL vs SQL
NOSQL vs SQL
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Ovs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offloadOvs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offload
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Security Best Practices for your Postgres Deployment
Security Best Practices for your Postgres DeploymentSecurity Best Practices for your Postgres Deployment
Security Best Practices for your Postgres Deployment
 
Hadoop HDFS Concepts
Hadoop HDFS ConceptsHadoop HDFS Concepts
Hadoop HDFS Concepts
 
NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015
 
Why we love pgpool-II and why we hate it!
Why we love pgpool-II and why we hate it!Why we love pgpool-II and why we hate it!
Why we love pgpool-II and why we hate it!
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 

Ähnlich wie Automated YCSB Benchmarking

基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括
Louis liu
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
DataStax Academy
 

Ähnlich wie Automated YCSB Benchmarking (20)

Solr Power FTW: Powering NoSQL the World Over
Solr Power FTW: Powering NoSQL the World OverSolr Power FTW: Powering NoSQL the World Over
Solr Power FTW: Powering NoSQL the World Over
 
基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括
 
SamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentationSamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentation
 
Presentation
PresentationPresentation
Presentation
 
Tweaking performance on high-load projects
Tweaking performance on high-load projectsTweaking performance on high-load projects
Tweaking performance on high-load projects
 
Benchx: An XQuery benchmarking web application
Benchx: An XQuery benchmarking web application Benchx: An XQuery benchmarking web application
Benchx: An XQuery benchmarking web application
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
 
SOLR Power FTW: short version
SOLR Power FTW: short versionSOLR Power FTW: short version
SOLR Power FTW: short version
 
Test strategies for data processing pipelines
Test strategies for data processing pipelinesTest strategies for data processing pipelines
Test strategies for data processing pipelines
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
Velocity 2018 preetha appan final
Velocity 2018   preetha appan finalVelocity 2018   preetha appan final
Velocity 2018 preetha appan final
 
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
 
On-boarding with JanusGraph Performance
On-boarding with JanusGraph PerformanceOn-boarding with JanusGraph Performance
On-boarding with JanusGraph Performance
 
Serverless in-action
Serverless in-actionServerless in-action
Serverless in-action
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
 
Tweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский ДмитрийTweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский Дмитрий
 
les07.pdf
les07.pdfles07.pdf
les07.pdf
 
Square Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Square Peg Round Hole: Serverless Solutions For Non-Serverless ProblemsSquare Peg Round Hole: Serverless Solutions For Non-Serverless Problems
Square Peg Round Hole: Serverless Solutions For Non-Serverless Problems
 

Mehr von Miro Cupak

Mehr von Miro Cupak (20)

Exploring the latest and greatest from Java 14
Exploring the latest and greatest from Java 14Exploring the latest and greatest from Java 14
Exploring the latest and greatest from Java 14
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
Exploring the last year of Java
Exploring the last year of JavaExploring the last year of Java
Exploring the last year of Java
 
Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Local variable type inference - Will it compile?
Local variable type inference - Will it compile?
 
The Good, the Bad and the Ugly of Java API design
The Good, the Bad and the Ugly of Java API designThe Good, the Bad and the Ugly of Java API design
The Good, the Bad and the Ugly of Java API design
 
Local variable type inference - Will it compile?
Local variable type inference - Will it compile?Local variable type inference - Will it compile?
Local variable type inference - Will it compile?
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Master class in modern Java
Master class in modern JavaMaster class in modern Java
Master class in modern Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Writing clean code with modern Java
Writing clean code with modern JavaWriting clean code with modern Java
Writing clean code with modern Java
 
The good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API designThe good, the bad, and the ugly of Java API design
The good, the bad, and the ugly of Java API design
 
Master class in modern Java
Master class in modern JavaMaster class in modern Java
Master class in modern Java
 
Exploring reactive programming in Java
Exploring reactive programming in JavaExploring reactive programming in Java
Exploring reactive programming in Java
 
Writing clean code with modern Java
Writing clean code with modern JavaWriting clean code with modern Java
Writing clean code with modern Java
 
Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11 (and 12)Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11 (and 12)
 
Exploring what's new in Java 10 and 11
Exploring what's new in Java 10 and 11Exploring what's new in Java 10 and 11
Exploring what's new in Java 10 and 11
 
Exploring what's new in Java in 2018
Exploring what's new in Java in 2018Exploring what's new in Java in 2018
Exploring what's new in Java in 2018
 

Kürzlich hochgeladen

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Kürzlich hochgeladen (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 

Automated YCSB Benchmarking

  • 1. Automated YCSB Benchmarking Miroslav Cupák 04/04/2013 Project Presentation
  • 2. Outline ● Introduction ● YCSB ● Approach ● Design & Implementation ● Future Work ● Related Work ● Conclusion
  • 3. Introduction ● problem ○ monitoring the results of cloud systems benchmarks together with the configuration ● motivation ○ recent explosion of cloud data-serving systems ○ real performance vs "sweet spot" performance ○ benchmarking tools don't offer a sufficient level of automation ○ many experiments on different configurations ○ results interpreted in an ad-hoc way
  • 4. YCSB ● Yahoo! Cloud Serving Benchmark ● tool for benchmarking of cloud data management systems ● open source ● easily extensible (systems, workload) ● Cassandra, DynamoDB, HBase, Infinispan, JDBC, MapKeeper, MongoDB... (12) ● good level of automation
  • 5. YCSB Benchmarks ● Tier 1: Performance ○ latency of requests when the database is under load ○ focused on measuring latency as we increase throughput until saturation ● Tier 2: Scalability ○ impact on performance as machines are added ○ scaleup - load servers with data, run the workload, delete the data, add more servers, load more data, run the workload again
  • 6. YCSB Workloads ● workload generator (YCSB client) ○ loads data sets and executes workloads ● workloads ○ update heavy, read mostly, read only, read latest, short range, read-modify-write ○ read/update ratio, record count, operation count, data size, record structure, request distribution
  • 7. YCSB Workloads ● example - update heavy workload # Application example: Session store # Records: 1 KB (10 fields, 100 bytes each, plus key) recordcount=1000 operationcount=1000 workload=com.yahoo.ycsb.workloads.CoreWorkload readallfields=true readproportion=0.5 updateproportion=0.5 scanproportion=0 insertproportion=0 requestdistribution=zipfian
  • 8. YCSB Client Execution Setup Result Processing W o r k e r W o r k e r W o r k e r W o r k e r ...
  • 9. YCSB Output $ ycsb run cassandra-10 -p hosts=127.0.0.1 -P workloada -p recordcount=100000000 -s -threads 10 10 sec: 1000 operations; 60.61 current ops/sec; [UPDATE AverageLatency (us)=1055.57] [READ AverageLatency(us)=4200.67] [CLEANUP AverageLatency (us)=102] [OVERALL], RunTime(ms), 10183.0 [OVERALL], Throughput(ops/sec), 98.20288716488265 [UPDATE], Operations, 493 [UPDATE], AverageLatency(us), 1246.6247464503042 [UPDATE], MinLatency(us), 525 [UPDATE], MaxLatency(us), 48089 [UPDATE], 95thPercentileLatency(ms), 1 [UPDATE], 99thPercentileLatency(ms), 6 [UPDATE], Return=0, 493 [UPDATE], 0, 268 [UPDATE], 1, 207
  • 10. Approach ● tasks ○ modify YCSB to store results of experiments in a database ○ create an application showing results in graphs ○ collect configuration of the client and the system and associate it with data points in graphs ○ evaluate the approach
  • 11. Design & Implementation - Saving ● storing results in a DB Setup Result Processing W o r k e r W o r k e r W o r k e r W o r k e r ...
  • 12. Design & Implementation - Saving ● storing results in a DB ○ implementation of MeasurementsExporter ○ requires non-trivial query construction ○ -p exporter=... Runs ● id ● runtime ● throughput ● time ● system Workloads ● id ● run ● type ● operations ● avglat ● maxlat ● minlat ● 95lat ● 99lat ● return0 Systems ● id ● name Operations ● id ● workload ● time ● count Configurations ● id ● run ● config
  • 13. Design & Implementation - Graphs ● generating graphs ○ dashboard-like comparison of multiple runs ○ results over the last few runs to see if a configuration change lead to improvements in performance ○ Java EE 6 web application + Highcharts ○ runtime, throughput, number of operations, latency (avg/min/max/99%/95%) ● user/group management ○ Cassandra developers see only Cassandra results
  • 19. Design & Implementation - Graphs ● not yet done
  • 20. Design & Implementation - Config ● config fetched after selecting a run in a graph ● so far only client configuration com.yahoo.ycsb.Client -db com.yahoo.ycsb.db.CassandraClient10 -p hosts=127.0.0.1 -P ../workloads/workloada -p recordcount=100000000 -s -threads 10 -target 100 -t ... Setup Result Processing W o r k e r W o r k e r W o r k e r W o r k e r ...
  • 21. Future Work ● extend graphs ● polling system configuration over SSH ● run comparison (diff-like view) ● evaluation (Cassandra, HBase)
  • 22. Related Work ● Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, Russell Sears: Benchmarking cloud serving systems with YCSB. SoCC 2010. ● Brian F. Cooper: Yahoo! Cloud Serving Benchmark - Overview and results. SoCC 2010. ● Tilmann Rabl, Sergio Gómez-Villamor, Mohammad Sadoghi, Victor Muntés-Mulero, Hans-Arno Jacobsen, and Serge Mankovskii. 2012. Solving big data challenges for enterprise application performance management. Proc. VLDB Endow 2012.
  • 23. Conclusions ● YCSB modified to store data in a more suitable form. ● Web application showing the results in graph form implemented. ● Configuration management in progress.