SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Performance,
Stability & Control
Harold Hannon
Sr. Software Architect, SoftLayer
100kservers
24kcustomers
23million domains
13 data centers
16 network POPs
20Gb fiber interconnects
Global Footprint
• Performance
• Stability
• Control
On the agenda today
The 3 V’s
Test Cases
• Small MongoDB Bare Metal Cloud vs Public Cloud
Instance
• Medium MongoDB Bare Metal Cloud vs Public Cloud
Instance
SSD and 15K SAS
• Large MongoDB Bare Metal Cloud vs Public Cloud
Instance
SSD and 15K SAS
Private Network
JMETER
SERVER
JMETER
SERVER
JMETER
SERVER
JMETER
SERVER
RMI
Jmeter Master Client
RDP
Tester’s Local Machine
Test Environment
Beware The “Best Case Test Case”
1 8 5 8 1 7 . 6
1 9 0 5 2 5 . 4
1 8 7 8 8 2 . 2
1 9 1 1 0 1 . 8
1 8 4 4 0 8 . 8
1 8 8 1 3 5 . 4
1 8 7 0 8 0 . 6
1 8 6 3 4 3 . 4
1 9 1 8 9 9 . 6
1 8 7 7 3 6 . 6
1 8 8 9 7 8 . 8
1 8 7 4 4 0
1 8 6 9 5 0 . 4
1 8 7 6 2 3
1 8 7 7 8 3 . 8
1 8 7 7 7 5 . 8
1 9 2 8 0 6 . 8
1 8 6 6 4 3 . 2

Do It Yourself
• Data Set Sizing
• Document/Object Sizes
• Platform
• Controlled client or AFAIC
• Concurrency
• Local or Remote Client
• Read/Write Tests
JS Benchmarking Harness
• Available on 10Gen website
• Baseline performance tool
• benchrun executable
• Create javascript test case
• Run from mongo command
db.foo.drop();
db.foo.insert( { _id : 1 } )
ops = [{op: "findOne", ns: "test.foo", query: {_id: 1}},
{op: "update", ns: "test.foo", query: {_id: 1}, update: {$inc: {x: 1}}}]
for ( var x = 1; x <= 128; x *= 2) {
res = benchRun( {
parallel : x ,
seconds : 5 ,
ops : ops
} );
print( "threads: " + x + "t queries/sec: " + res.query );
}
Quick Example
host
The hostname of the machine mongod is running on (defaults to localhost).
username
The username to use when authenticating to mongod (only use if running with auth).
password
The password to use when authenticating to mongod (only use if running with auth).
db
The database to authenticate to (only necessary if running with auth).
ops
A list of objects describing the operations to run (documented below).
parallel
The number of threads to run (defaults to single thread).
seconds
The amount of time to run the tests for (defaults to one second).
Options
ns
The namespace of the collection you are running the operation on, should be of the form
"db.collection".
op
The type of operation can be "findOne", "insert", "update", "remove", "createIndex",
"dropIndex" or "command".
query
The query object to use when querying or updating documents.
update
The update object (same as 2nd argument of update() function).
doc
The document to insert into the database (only for insert and remove).
safe
boolean specifying whether to use safe writes (only for update and insert).
Options
{ "#RAND_INT" : [ min , max , <multiplier> ] }
[ 0 , 10 , 4 ] would produce random numbers between 0 and 10 and then multiply by 4.
{ "#RAND_STRING" : [ length ] }
[ 3 ] would produce a string of 3 random characters.
var complexDoc3 = { info: "#RAND_STRING": [30] } }
var complexDoc3 = { info: { inner_field: { "#RAND_STRING": [30] } } }
Dynamic Values
Lots of them here:
https://github.com/mongodb/mongo/tree/master/jstests
Example Scripts
Read Only Test
• Random document size < 4k (mostly 1k)
• 6GB Working Data Set Size
• Random read only
• 10 second per query set execution
• Exponentially increasing concurrent clients from 1-128
• 48 Hour Test Run
• RAID10 4 SSD drives
• Local Client
• “Pre-warmed cache”
The Results
Concurrent Clients Avg Read
OPS/Sec
1 38288.527
2 72103.35796
4 127451.8867
8 180798.4396
16 191817.3361
32 186429.4517
64 187011.7824
128 188187.0704
Performance
Small Test
Small MongoDB Server
Single 4-core Intel 1270 CPU
64-bit CentOS
8GB RAM
2 x 500GB SATAII – RAID1
1Gb Network
Virtual Provider Instance
4 Virtual Compute Units
64-bit CentOS
7.5GB RAM
2 x 500GB Network Storage – RAID1
1Gb Network
Tests Performed
Small Data Set (8GB of .5mb
documents)
200 iterations of 6:1 query-to-update
operations
Concurrent client connections
exponentially increased from 1 to 32
Test duration spanned 48 hours
Small Test
Read Operations per Second by Concurrent Client
0
200
400
600
800
1000
1200
1400
1600
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Write Operations per Second by Concurrent Client
Small Test
0
200
400
600
800
1000
1200
1400
1600
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Medium Test
Medium MongoDB Server
Dual 6-core Intel 5670 CPUs
64-bit CentOS
36GB RAM
2 x 64GB SSD – RAID1 (Journal Mount)
4 x 300GB 15K SAS – RAID10 (Data Mount)
1Gb Network – Bonded
Virtual Provider Instance
26 Virtual Compute Units
64-bit CentOS
30GB RAM
2 x 64GB Network Storage – RAID1 (Journal
Mount)
4 x 300GB Network Storage – RAID10 (Data
Mount)
1Gb Network
Tests Performed
Small Data Set (32GB of .5mb
documents)
200 iterations of 6:1 query-to-update
operations
Concurrent client connections
exponentially increased from 1 to 128
Test duration spanned 48 hours
Medium Test 15k SAS
Read Operations per Second by Concurrent Client
0
1000
2000
3000
4000
5000
6000
7000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Medium Test 15k SAS
Write Operations per Second by Concurrent Client
0
1000
2000
3000
4000
5000
6000
7000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Medium Test SSD
Read Operations per Second by Concurrent Client
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Medium Test SSD
Write Operations per Second by Concurrent Client
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Large Test
Large MongoDB Server
Dual 8-core Intel E5-2620 CPUs
64-bit CentOS
128GB RAM
2 x 64GB SSD – RAID1 (Journal Mount)
6 x 600GB 15K SAS – RAID10 (Data Mount)
1Gb Network – Bonded
Virtual Provider Instance
26 Virtual Compute Units
64-bit CentOS
64GB RAM (Maximum available on this
provider)
2 x 64GB Network Storage – RAID1 (Journal
Mount)
6 x 600GB Network Storage – RAID10 (Data
Mount)
1Gb Network
Tests Performed
Small Data Set (64GB of .5mb
documents)
200 iterations of 6:1 query-to-update
operations
Concurrent client connections
exponentially increased from 1 to 128
Test duration spanned 48 hours
Large Test 15k SAS
Read Operations per Second by Concurrent Client
0
1000
2000
3000
4000
5000
6000
7000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Large Test 15k SAS
Write Operations per Second by Concurrent Client
0
1000
2000
3000
4000
5000
6000
7000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Large Test SSD
Read Operations per Second by Concurrent Client
0
1000
2000
3000
4000
5000
6000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Large Test SSD
Write Operations per Second by Concurrent Client
0
1000
2000
3000
4000
5000
6000
1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients
Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
Superior Performance
70%
133%
297%
111%
446%
Small SATA II Medium 15k SAS Medium SSD Large 15k SAS Large SSD
Stability
Small Test
Small Bare Metal Cloud Instance
64-bit CentOS
8GB RAM
2 x 500GB SATAII – RAID1
1Gb Network
Public Cloud Instance
4 Virtual Compute Units
64-bit CentOS
7.5GB RAM
2 x 500GB Network Storage – RAID1
1Gb Network
Tests Performed
Data Set (8GB of .5mb documents)
200 iterations of 6:1 query-to-update
operations
Concurrent client connections
exponentially increased from 1 to 32
Test duration spanned 48 hours
122
193 201 271
480
835
0
200
400
600
800
1000
1200
1400
1 2 4 8 16 32
Ops/Second
Concurrent Clients
Small Public Cloud
237
337
413 524
597
1112
0
200
400
600
800
1000
1200
1400
1600
1 2 4 8 16 32
Ops/Second
Concurrent Clients
Small Bare Metal
Medium Test
Bare Metal Cloud Instance
Dual 6-core Intel 5670 CPUs
64-bit CentOS
36GB RAM
2 x 64GB SSD – RAID1 (Journal Mount)
4 x 300GB 15K SAS – RAID10 (Data Mount)
4 x 400GB SSD– RAID10 (Data Mount)
1Gb Network – Bonded
Public Cloud Instance
26 Virtual Compute Units
64-bit CentOS
30GB RAM
2 x 64GB Network Storage – RAID1 (Journal
Mount)
4 x 300GB Network Storage – RAID10 (Data
Mount)
4 x 400GB Network Storage – RAID10 (Data
Mount)
1Gb Network
Tests Performed
Data Set (32GB of .5mb documents)
200 iterations of 6:1 query-to-update
operations
Concurrent client connections
exponentially increased from 1 to 128
Test duration spanned 48 hours
219 326 477 716
1298
1554
1483
1594
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
1 2 4 8 16 32 64 128
Ops/Second
Concurrent Clients
Medium Public Cloud
542
818 1042 1260
1643
3392
4120
5443
0
1000
2000
3000
4000
5000
6000
7000
8000
1 2 4 8 16 32 64 128
Ops/Second
Concurrent Clients
15k SAS
Medium Bare Metal
1389
2115
2637
2995
3047 3161
3742 3846
0
500
1000
1500
2000
2500
3000
3500
4000
4500
1 2 4 8 16 32 64 128
Ops/Second
Concurrent Clients
SSD
Medium Bare Metal
Large Test
Bare Metal Cloud Instance
Dual 8-core Intel E5-2620 CPUs
64-bit CentOS
128GB RAM
2 x 64GB SSD – RAID1 (Journal Mount)
6 x 600GB 15K SAS – RAID10 (Data Mount)
6 x 400GB SSD – RAID10 (Data Mount)
1Gb Network – Bonded
Public Cloud Instance
26 Virtual Compute Units
64-bit CentOS
64GB RAM (Maximum available on this
provider)
2 x 64GB Network Storage – RAID1 (Journal
Mount)
6 x 400GB Network Storage – RAID10 (Data
Mount)
6 x 600GB Network Storage – RAID10 (Data
Mount)
1Gb Network
Tests Performed
Data Set (64GB of .5mb documents)
200 iterations of 6:1 query-to-update
operations
Concurrent client connections
exponentially increased from 1 to 128
Test duration spanned 48 hours
105
409
943
636
1252
1733
1902
2044
0
1000
2000
3000
4000
5000
6000
1 2 4 8 16 32 64 128
Ops/Second
Concurrent Clients
Large Public Cloud
412
686
946 1123
1373
2353
5097
5572
0
1000
2000
3000
4000
5000
6000
7000
1 2 4 8 16 32 64 128
Ops/Second
Concurrent Clients
15k SAS
Large Bare Metal
1898
2919
3672
4351 3961
3629 3737 3864
0
1000
2000
3000
4000
5000
6000
1 2 4 8 16 32 64 128
Ops/Second
Concurrent Clients
SSD
Large Bare Metal
Consistent Performance
36%
43%
93%
9% 8% 9%
Small Medium Large
Virtual
Instance
Bare Metal
Instances
Control
The Dream
Virtual Instance
Striped Network
Attached Virtual
Volumes
The Reality
Cluster
Virtual Instance
Striped Network
Attached Virtual
Volumes
Virtual Instance
Striped Network
Attached Virtual
Volumes
Virtual Instance
Striped Network
Attached Virtual
Volumes
Deployment Complexity
The Solution Designer
Deployment Serenity
Big Data Solutions
• Bare Metal Servers for Better Performance
Your big data solution can now have the power of bare metal and the ease of the
cloud. Our bare-metal servers are all available in real-time with no downtime via our
portal or API, so you don’t have to sacrifice agility for performance.
• MongoDB Best Practices
The configurations have been optimized based on 10gen and SoftLayer’s
insight, expertise and experience and provide an idea database environment.
• Full Access and Control
You get the total access and control of your complete MongoDB solution, including
total utilization of your hardware, total say in where your servers and replica sets are
deployed, and the ability to further customize it to any specification or requirement.
• Easy Design and Provisioning
Our configuration tool makes it easy to design and deploy complete customized
MongoDB architectures.
“We have over two terabytes of raw event data coming in every day ... Struq has been
able to process over 95 percent of requests in fewer than 30 milliseconds”
- Aaron McKee
CTO, Struq
Customer Feedback
• Bare Metal Cloud can be leveraged to simplify
deployments
• Bare Metal has a significant performance
superiority/consistency over Public Cloud
• Public Cloud is best suited for Dev/POC or when running
data sets in memory only
Summary
www.softlayer.com
blog @ http://sftlyr.com/bdperf
More Information

Weitere ähnliche Inhalte

Was ist angesagt?

Am I reading GC logs Correctly?
Am I reading GC logs Correctly?Am I reading GC logs Correctly?
Am I reading GC logs Correctly?
Tier1 App
 

Was ist angesagt? (20)

Tweaking performance on high-load projects
Tweaking performance on high-load projectsTweaking performance on high-load projects
Tweaking performance on high-load projects
 
Gnocchi Profiling 2.1.x
Gnocchi Profiling 2.1.xGnocchi Profiling 2.1.x
Gnocchi Profiling 2.1.x
 
Gnocchi v4 (preview)
Gnocchi v4 (preview)Gnocchi v4 (preview)
Gnocchi v4 (preview)
 
Building the Right Platform Architecture for Hadoop
Building the Right Platform Architecture for HadoopBuilding the Right Platform Architecture for Hadoop
Building the Right Platform Architecture for Hadoop
 
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
The Proto-Burst Buffer: Experience with the flash-based file system on SDSC's...
 
ELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log systemELK: Moose-ively scaling your log system
ELK: Moose-ively scaling your log system
 
(SDD409) Amazon RDS for PostgreSQL Deep Dive | AWS re:Invent 2014
(SDD409) Amazon RDS for PostgreSQL Deep Dive | AWS re:Invent 2014(SDD409) Amazon RDS for PostgreSQL Deep Dive | AWS re:Invent 2014
(SDD409) Amazon RDS for PostgreSQL Deep Dive | AWS re:Invent 2014
 
JVM performance options. How it works
JVM performance options. How it worksJVM performance options. How it works
JVM performance options. How it works
 
Integrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationsIntegrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applications
 
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
 
Move Over, Rsync
Move Over, RsyncMove Over, Rsync
Move Over, Rsync
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMX
 
HeroLympics Eng V03 Henk Vd Valk
HeroLympics  Eng V03 Henk Vd ValkHeroLympics  Eng V03 Henk Vd Valk
HeroLympics Eng V03 Henk Vd Valk
 
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
 
Базы данных. HDFS
Базы данных. HDFSБазы данных. HDFS
Базы данных. HDFS
 
Don't dump thread dumps
Don't dump thread dumpsDon't dump thread dumps
Don't dump thread dumps
 
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWSCassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
 
Am I reading GC logs Correctly?
Am I reading GC logs Correctly?Am I reading GC logs Correctly?
Am I reading GC logs Correctly?
 
Hot Cloud'16: An Experiment on Bare-Metal BigData Provisioning
Hot Cloud'16: An Experiment on Bare-Metal BigData ProvisioningHot Cloud'16: An Experiment on Bare-Metal BigData Provisioning
Hot Cloud'16: An Experiment on Bare-Metal BigData Provisioning
 
C* Summit 2013: Cassandra at Instagram by Rick Branson
C* Summit 2013: Cassandra at Instagram by Rick BransonC* Summit 2013: Cassandra at Instagram by Rick Branson
C* Summit 2013: Cassandra at Instagram by Rick Branson
 

Andere mochten auch

Andere mochten auch (7)

SoftLayer Storage Services Overview (for Interop Las Vegas 2015)
SoftLayer Storage Services Overview (for Interop Las Vegas 2015)SoftLayer Storage Services Overview (for Interop Las Vegas 2015)
SoftLayer Storage Services Overview (for Interop Las Vegas 2015)
 
Cohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
Cohesive Networks Support Docs: VNS3 Configuration for IBM SoftlayerCohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
Cohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
 
Achieving Scalability and speed with IBM Solutions - IaaS Softlayer
Achieving Scalability and speed with IBM Solutions -  IaaS SoftlayerAchieving Scalability and speed with IBM Solutions -  IaaS Softlayer
Achieving Scalability and speed with IBM Solutions - IaaS Softlayer
 
Introducing IBM Cloud via Telstra
Introducing IBM Cloud via TelstraIntroducing IBM Cloud via Telstra
Introducing IBM Cloud via Telstra
 
SoftLayer Storage Services Overview
SoftLayer Storage Services OverviewSoftLayer Storage Services Overview
SoftLayer Storage Services Overview
 
SoftLayer Object Storage Overview
SoftLayer Object Storage OverviewSoftLayer Object Storage Overview
SoftLayer Object Storage Overview
 
SoftLayer API 12032015
SoftLayer API  12032015SoftLayer API  12032015
SoftLayer API 12032015
 

Ähnlich wie Partner Webinar: MongoDB and Softlayer on Bare Metal: Stability, Performance, and Control

Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Vigyan Jain
 
Handling 20 billion requests a month
Handling 20 billion requests a monthHandling 20 billion requests a month
Handling 20 billion requests a month
Dmitriy Dumanskiy
 
My Sql Performance On Ec2
My Sql Performance On Ec2My Sql Performance On Ec2
My Sql Performance On Ec2
MySQLConference
 
stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4
Gaurav "GP" Pal
 

Ähnlich wie Partner Webinar: MongoDB and Softlayer on Bare Metal: Stability, Performance, and Control (20)

Ceph Day New York 2014: Ceph, a physical perspective
Ceph Day New York 2014: Ceph, a physical perspective Ceph Day New York 2014: Ceph, a physical perspective
Ceph Day New York 2014: Ceph, a physical perspective
 
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
 
Cloud Performance Benchmarking
Cloud Performance BenchmarkingCloud Performance Benchmarking
Cloud Performance Benchmarking
 
My Sql Performance In A Cloud
My Sql Performance In A CloudMy Sql Performance In A Cloud
My Sql Performance In A Cloud
 
Tweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский ДмитрийTweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский Дмитрий
 
Using BigBench to compare Hive and Spark (short version)
Using BigBench to compare Hive and Spark (short version)Using BigBench to compare Hive and Spark (short version)
Using BigBench to compare Hive and Spark (short version)
 
Handling 20 billion requests a month
Handling 20 billion requests a monthHandling 20 billion requests a month
Handling 20 billion requests a month
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
 
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
(DAT402) Amazon RDS PostgreSQL:Lessons Learned & New Features
 
Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)
 
Machbase_Edge_Edition_v2.pdf
Machbase_Edge_Edition_v2.pdfMachbase_Edge_Edition_v2.pdf
Machbase_Edge_Edition_v2.pdf
 
RedisConf17 - Doing More With Redis - Ofer Bengal and Yiftach Shoolman
RedisConf17 - Doing More With Redis - Ofer Bengal and Yiftach ShoolmanRedisConf17 - Doing More With Redis - Ofer Bengal and Yiftach Shoolman
RedisConf17 - Doing More With Redis - Ofer Bengal and Yiftach Shoolman
 
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
 
My Sql Performance On Ec2
My Sql Performance On Ec2My Sql Performance On Ec2
My Sql Performance On Ec2
 
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and ChefDevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
 
stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
 
Adventures in RDS Load Testing
Adventures in RDS Load TestingAdventures in RDS Load Testing
Adventures in RDS Load Testing
 
Agility and Scalability with MongoDB
Agility and Scalability with MongoDBAgility and Scalability with MongoDB
Agility and Scalability with MongoDB
 

Mehr von MongoDB

Mehr von MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Partner Webinar: MongoDB and Softlayer on Bare Metal: Stability, Performance, and Control

  • 1. Performance, Stability & Control Harold Hannon Sr. Software Architect, SoftLayer
  • 3. 13 data centers 16 network POPs 20Gb fiber interconnects Global Footprint
  • 4. • Performance • Stability • Control On the agenda today
  • 6. Test Cases • Small MongoDB Bare Metal Cloud vs Public Cloud Instance • Medium MongoDB Bare Metal Cloud vs Public Cloud Instance SSD and 15K SAS • Large MongoDB Bare Metal Cloud vs Public Cloud Instance SSD and 15K SAS
  • 8. Beware The “Best Case Test Case” 1 8 5 8 1 7 . 6 1 9 0 5 2 5 . 4 1 8 7 8 8 2 . 2 1 9 1 1 0 1 . 8 1 8 4 4 0 8 . 8 1 8 8 1 3 5 . 4 1 8 7 0 8 0 . 6 1 8 6 3 4 3 . 4 1 9 1 8 9 9 . 6 1 8 7 7 3 6 . 6 1 8 8 9 7 8 . 8 1 8 7 4 4 0 1 8 6 9 5 0 . 4 1 8 7 6 2 3 1 8 7 7 8 3 . 8 1 8 7 7 7 5 . 8 1 9 2 8 0 6 . 8 1 8 6 6 4 3 . 2 
  • 9. Do It Yourself • Data Set Sizing • Document/Object Sizes • Platform • Controlled client or AFAIC • Concurrency • Local or Remote Client • Read/Write Tests
  • 10. JS Benchmarking Harness • Available on 10Gen website • Baseline performance tool • benchrun executable • Create javascript test case • Run from mongo command
  • 11. db.foo.drop(); db.foo.insert( { _id : 1 } ) ops = [{op: "findOne", ns: "test.foo", query: {_id: 1}}, {op: "update", ns: "test.foo", query: {_id: 1}, update: {$inc: {x: 1}}}] for ( var x = 1; x <= 128; x *= 2) { res = benchRun( { parallel : x , seconds : 5 , ops : ops } ); print( "threads: " + x + "t queries/sec: " + res.query ); } Quick Example
  • 12. host The hostname of the machine mongod is running on (defaults to localhost). username The username to use when authenticating to mongod (only use if running with auth). password The password to use when authenticating to mongod (only use if running with auth). db The database to authenticate to (only necessary if running with auth). ops A list of objects describing the operations to run (documented below). parallel The number of threads to run (defaults to single thread). seconds The amount of time to run the tests for (defaults to one second). Options
  • 13. ns The namespace of the collection you are running the operation on, should be of the form "db.collection". op The type of operation can be "findOne", "insert", "update", "remove", "createIndex", "dropIndex" or "command". query The query object to use when querying or updating documents. update The update object (same as 2nd argument of update() function). doc The document to insert into the database (only for insert and remove). safe boolean specifying whether to use safe writes (only for update and insert). Options
  • 14. { "#RAND_INT" : [ min , max , <multiplier> ] } [ 0 , 10 , 4 ] would produce random numbers between 0 and 10 and then multiply by 4. { "#RAND_STRING" : [ length ] } [ 3 ] would produce a string of 3 random characters. var complexDoc3 = { info: "#RAND_STRING": [30] } } var complexDoc3 = { info: { inner_field: { "#RAND_STRING": [30] } } } Dynamic Values
  • 15. Lots of them here: https://github.com/mongodb/mongo/tree/master/jstests Example Scripts
  • 16. Read Only Test • Random document size < 4k (mostly 1k) • 6GB Working Data Set Size • Random read only • 10 second per query set execution • Exponentially increasing concurrent clients from 1-128 • 48 Hour Test Run • RAID10 4 SSD drives • Local Client • “Pre-warmed cache”
  • 17. The Results Concurrent Clients Avg Read OPS/Sec 1 38288.527 2 72103.35796 4 127451.8867 8 180798.4396 16 191817.3361 32 186429.4517 64 187011.7824 128 188187.0704
  • 19. Small Test Small MongoDB Server Single 4-core Intel 1270 CPU 64-bit CentOS 8GB RAM 2 x 500GB SATAII – RAID1 1Gb Network Virtual Provider Instance 4 Virtual Compute Units 64-bit CentOS 7.5GB RAM 2 x 500GB Network Storage – RAID1 1Gb Network Tests Performed Small Data Set (8GB of .5mb documents) 200 iterations of 6:1 query-to-update operations Concurrent client connections exponentially increased from 1 to 32 Test duration spanned 48 hours
  • 20. Small Test Read Operations per Second by Concurrent Client 0 200 400 600 800 1000 1200 1400 1600 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 21. Write Operations per Second by Concurrent Client Small Test 0 200 400 600 800 1000 1200 1400 1600 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 22. Medium Test Medium MongoDB Server Dual 6-core Intel 5670 CPUs 64-bit CentOS 36GB RAM 2 x 64GB SSD – RAID1 (Journal Mount) 4 x 300GB 15K SAS – RAID10 (Data Mount) 1Gb Network – Bonded Virtual Provider Instance 26 Virtual Compute Units 64-bit CentOS 30GB RAM 2 x 64GB Network Storage – RAID1 (Journal Mount) 4 x 300GB Network Storage – RAID10 (Data Mount) 1Gb Network Tests Performed Small Data Set (32GB of .5mb documents) 200 iterations of 6:1 query-to-update operations Concurrent client connections exponentially increased from 1 to 128 Test duration spanned 48 hours
  • 23. Medium Test 15k SAS Read Operations per Second by Concurrent Client 0 1000 2000 3000 4000 5000 6000 7000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 24. Medium Test 15k SAS Write Operations per Second by Concurrent Client 0 1000 2000 3000 4000 5000 6000 7000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 25. Medium Test SSD Read Operations per Second by Concurrent Client 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 26. Medium Test SSD Write Operations per Second by Concurrent Client 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 27. Large Test Large MongoDB Server Dual 8-core Intel E5-2620 CPUs 64-bit CentOS 128GB RAM 2 x 64GB SSD – RAID1 (Journal Mount) 6 x 600GB 15K SAS – RAID10 (Data Mount) 1Gb Network – Bonded Virtual Provider Instance 26 Virtual Compute Units 64-bit CentOS 64GB RAM (Maximum available on this provider) 2 x 64GB Network Storage – RAID1 (Journal Mount) 6 x 600GB Network Storage – RAID10 (Data Mount) 1Gb Network Tests Performed Small Data Set (64GB of .5mb documents) 200 iterations of 6:1 query-to-update operations Concurrent client connections exponentially increased from 1 to 128 Test duration spanned 48 hours
  • 28. Large Test 15k SAS Read Operations per Second by Concurrent Client 0 1000 2000 3000 4000 5000 6000 7000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 29. Large Test 15k SAS Write Operations per Second by Concurrent Client 0 1000 2000 3000 4000 5000 6000 7000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 30. Large Test SSD Read Operations per Second by Concurrent Client 0 1000 2000 3000 4000 5000 6000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 31. Large Test SSD Write Operations per Second by Concurrent Client 0 1000 2000 3000 4000 5000 6000 1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak
  • 32. Superior Performance 70% 133% 297% 111% 446% Small SATA II Medium 15k SAS Medium SSD Large 15k SAS Large SSD
  • 34. Small Test Small Bare Metal Cloud Instance 64-bit CentOS 8GB RAM 2 x 500GB SATAII – RAID1 1Gb Network Public Cloud Instance 4 Virtual Compute Units 64-bit CentOS 7.5GB RAM 2 x 500GB Network Storage – RAID1 1Gb Network Tests Performed Data Set (8GB of .5mb documents) 200 iterations of 6:1 query-to-update operations Concurrent client connections exponentially increased from 1 to 32 Test duration spanned 48 hours
  • 35. 122 193 201 271 480 835 0 200 400 600 800 1000 1200 1400 1 2 4 8 16 32 Ops/Second Concurrent Clients Small Public Cloud
  • 36. 237 337 413 524 597 1112 0 200 400 600 800 1000 1200 1400 1600 1 2 4 8 16 32 Ops/Second Concurrent Clients Small Bare Metal
  • 37. Medium Test Bare Metal Cloud Instance Dual 6-core Intel 5670 CPUs 64-bit CentOS 36GB RAM 2 x 64GB SSD – RAID1 (Journal Mount) 4 x 300GB 15K SAS – RAID10 (Data Mount) 4 x 400GB SSD– RAID10 (Data Mount) 1Gb Network – Bonded Public Cloud Instance 26 Virtual Compute Units 64-bit CentOS 30GB RAM 2 x 64GB Network Storage – RAID1 (Journal Mount) 4 x 300GB Network Storage – RAID10 (Data Mount) 4 x 400GB Network Storage – RAID10 (Data Mount) 1Gb Network Tests Performed Data Set (32GB of .5mb documents) 200 iterations of 6:1 query-to-update operations Concurrent client connections exponentially increased from 1 to 128 Test duration spanned 48 hours
  • 38. 219 326 477 716 1298 1554 1483 1594 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1 2 4 8 16 32 64 128 Ops/Second Concurrent Clients Medium Public Cloud
  • 39. 542 818 1042 1260 1643 3392 4120 5443 0 1000 2000 3000 4000 5000 6000 7000 8000 1 2 4 8 16 32 64 128 Ops/Second Concurrent Clients 15k SAS Medium Bare Metal
  • 40. 1389 2115 2637 2995 3047 3161 3742 3846 0 500 1000 1500 2000 2500 3000 3500 4000 4500 1 2 4 8 16 32 64 128 Ops/Second Concurrent Clients SSD Medium Bare Metal
  • 41. Large Test Bare Metal Cloud Instance Dual 8-core Intel E5-2620 CPUs 64-bit CentOS 128GB RAM 2 x 64GB SSD – RAID1 (Journal Mount) 6 x 600GB 15K SAS – RAID10 (Data Mount) 6 x 400GB SSD – RAID10 (Data Mount) 1Gb Network – Bonded Public Cloud Instance 26 Virtual Compute Units 64-bit CentOS 64GB RAM (Maximum available on this provider) 2 x 64GB Network Storage – RAID1 (Journal Mount) 6 x 400GB Network Storage – RAID10 (Data Mount) 6 x 600GB Network Storage – RAID10 (Data Mount) 1Gb Network Tests Performed Data Set (64GB of .5mb documents) 200 iterations of 6:1 query-to-update operations Concurrent client connections exponentially increased from 1 to 128 Test duration spanned 48 hours
  • 42. 105 409 943 636 1252 1733 1902 2044 0 1000 2000 3000 4000 5000 6000 1 2 4 8 16 32 64 128 Ops/Second Concurrent Clients Large Public Cloud
  • 43. 412 686 946 1123 1373 2353 5097 5572 0 1000 2000 3000 4000 5000 6000 7000 1 2 4 8 16 32 64 128 Ops/Second Concurrent Clients 15k SAS Large Bare Metal
  • 44. 1898 2919 3672 4351 3961 3629 3737 3864 0 1000 2000 3000 4000 5000 6000 1 2 4 8 16 32 64 128 Ops/Second Concurrent Clients SSD Large Bare Metal
  • 45. Consistent Performance 36% 43% 93% 9% 8% 9% Small Medium Large Virtual Instance Bare Metal Instances
  • 48. Virtual Instance Striped Network Attached Virtual Volumes The Reality
  • 49. Cluster Virtual Instance Striped Network Attached Virtual Volumes Virtual Instance Striped Network Attached Virtual Volumes Virtual Instance Striped Network Attached Virtual Volumes Deployment Complexity
  • 51. Big Data Solutions • Bare Metal Servers for Better Performance Your big data solution can now have the power of bare metal and the ease of the cloud. Our bare-metal servers are all available in real-time with no downtime via our portal or API, so you don’t have to sacrifice agility for performance. • MongoDB Best Practices The configurations have been optimized based on 10gen and SoftLayer’s insight, expertise and experience and provide an idea database environment. • Full Access and Control You get the total access and control of your complete MongoDB solution, including total utilization of your hardware, total say in where your servers and replica sets are deployed, and the ability to further customize it to any specification or requirement. • Easy Design and Provisioning Our configuration tool makes it easy to design and deploy complete customized MongoDB architectures.
  • 52. “We have over two terabytes of raw event data coming in every day ... Struq has been able to process over 95 percent of requests in fewer than 30 milliseconds” - Aaron McKee CTO, Struq Customer Feedback
  • 53. • Bare Metal Cloud can be leveraged to simplify deployments • Bare Metal has a significant performance superiority/consistency over Public Cloud • Public Cloud is best suited for Dev/POC or when running data sets in memory only Summary

Hinweis der Redaktion

  1. Softlayer?
  2. So here is our one and only obligatory analyst slide I promiseThink in terms of the 3 V’s Gartner definedThere are lots of 4th V’s (Value, Veracity, etc.) But really these apply to all data right? These 3 are at the coreAlso for our discussion today we are mostly going to be focused on Volume and Velocity (Variety is a given for us)These are important to consider when we start talking about how we want to deploy our solutionHow much and How fast is our data going to come at us?
  3. Numbers with no context are not very useful
  4. This is the ACTUAL test for that crazy number from before. Notice it has been heavily designed to produce a falsely high number. Not very useful.
  5. These were the results
  6. Numbers speak for themselvesYou take the overall average consistent performance + the consistencyCoupled with the ease of deployment
  7. The numbers are average read operations per second with writes occurring as well. The vertical white lines represent variance in that data. This slide and the other public cloud ones show that the variance in the data is HUGE. This means the platform is unstable under load and cannot give you a reliable predictable deployment
  8. Numbers speak for themselvesYou take the overall average consistent performance + the consistencyCoupled with the ease of deployment
  9. When we talk about a public cloud deployment everyone has this dream of just right clicking and “adding new” and everything is perfect
  10. Although at first things seem simple scaling on multi tenant (especially with NAS) gets trickyIn this case this is a SINGLE instance of a Mongo Node (This is one node, most deployments are going to have 3 or more of these)In order to achieve desired performance you have to raid network volumes and attach them to virtual instancesThis still doesn’t solve shared I/O deviation issues it just smears them so they may not spike as drastically
  11. It gets even crazier when you do highly available deploymentsStriped volumes (sometimes up to 10) attachedSo you can see that as you scale on a NAS Virtual environment You start to see when you look at this picture that your simple Virtualized environment has suddenly started to get very complexIf you are an engineer that believes in keeping things simple to avoid issues, this sort of thing keeps you up at nightBoth complexity and cost can start to spiral beyond what you may have anticipated
  12. The goal is to capture the ease of virtual deploymentConfigure complex cluster environmentsAllow for rapid deployment
  13. Highlight the 95% as further evidence of our extreme superiority in consistent performance.
  14. Thank you for your time, I hope you found this helpful QuestionsBlog