partner webinar: mongodb and softlayer on bare metal: stability, performance, and control

54
Performance, Stability & Control Harold Hannon Sr. Software Architect, SoftLayer

Upload: mongodb

Post on 06-May-2015

863 views

Category:

Technology


1 download

DESCRIPTION

There are no shortage of options when it comes to infrastructure and where someone deploys a MongoDB based application. We will discuss the advantages of deploying MongoDB on bare metal, presenting actual performance tests of MongoDB on SoftLayer’s on-demand dedicated server cloud infrastructure. We’ll address common concerns like the time investment of deploying complex MongoDB environments, and demonstrate the ease and control provided by the SoftLayer MongoDB Solution Designer.

TRANSCRIPT

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

Performance, Stability & ControlHarold HannonSr. Software Architect, SoftLayer

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

100k servers

24k customers

23 million domains

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

13 data centers16 network POPs20Gb fiber interconnects

Global Footprint

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

• Performance

• Stability

• Control

On the agenda today

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

The 3 V’s

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

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

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

Private Network

JMETER SERVER

JMETER SERVER

JMETER SERVER

JMETER SERVER

RMI

Jmeter Master Client

RDP

Tester’s Local Machine

Test Environment

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

Beware The “Best Case Test Case”

185817.6 190525.4 187882.2 191101.8 184408.8 188135.4 187080.6 186343.4 191899.6 187736.6 188978.8 187440 186950.4 187623 187783.8 187775.8 192806.8 186643.2

192,806.8 Read Ops/Sec

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

Do It Yourself

• Data Set Sizing• Document/Object Sizes• Platform• Controlled client or AFAIC• Concurrency• Local or Remote Client• Read/Write Tests

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

JS Benchmarking Harness

• Available on 10Gen website• Baseline performance tool• benchrun executable• Create javascript test case• Run from mongo command

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

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

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

hostThe hostname of the machine mongod is running on (defaults to localhost).usernameThe username to use when authenticating to mongod (only use if running with auth).passwordThe password to use when authenticating to mongod (only use if running with auth).dbThe database to authenticate to (only necessary if running with auth).opsA list of objects describing the operations to run (documented below).parallelThe number of threads to run (defaults to single thread).secondsThe amount of time to run the tests for (defaults to one second).

Options

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

nsThe namespace of the collection you are running the operation on, should be of the form "db.collection".opThe type of operation can be "findOne", "insert", "update", "remove", "createIndex", "dropIndex" or "command".queryThe query object to use when querying or updating documents.updateThe update object (same as 2nd argument of update() function).docThe document to insert into the database (only for insert and remove).safeboolean specifying whether to use safe writes (only for update and insert).

Options

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

{ "#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

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

Lots of them here:

https://github.com/mongodb/mongo/tree/master/jstests

Example Scripts

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

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”

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

The ResultsConcurrent Clients Avg Read

OPS/Sec

1 38288.5272 72103.357964 127451.88678 180798.439616 191817.336132 186429.451764 187011.7824128 188187.0704

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

Performance

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

Small Test

Small MongoDB ServerSingle 4-core Intel 1270 CPU64-bit CentOS8GB RAM2 x 500GB SATAII – RAID11Gb Network

Virtual Provider Instance4 Virtual Compute Units64-bit CentOS7.5GB RAM2 x 500GB Network Storage – RAID11Gb Network

Tests PerformedSmall Data Set (8GB of .5mb documents)200 iterations of 6:1 query-to-update operationsConcurrent client connections exponentially increased from 1 to 32Test duration spanned 48 hours

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

Small Test

Read Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients0

200

400

600

800

1000

1200

1400

1600

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Write Operations per Second by Concurrent Client

Small Test

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients0

200

400

600

800

1000

1200

1400

1600

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Medium Test

Medium MongoDB ServerDual 6-core Intel 5670 CPUs64-bit CentOS36GB RAM2 x 64GB SSD – RAID1 (Journal Mount)4 x 300GB 15K SAS – RAID10 (Data Mount)1Gb Network – Bonded

Virtual Provider Instance26 Virtual Compute Units64-bit CentOS30GB RAM2 x 64GB Network Storage – RAID1 (Journal Mount)4 x 300GB Network Storage – RAID10 (Data Mount)1Gb Network

Tests PerformedSmall Data Set (32GB of .5mb documents)200 iterations of 6:1 query-to-update operationsConcurrent client connections exponentially increased from 1 to 128Test duration spanned 48 hours

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

Medium Test 15k SAS

Read Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

1000

2000

3000

4000

5000

6000

7000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Medium Test 15k SAS

Write Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

1000

2000

3000

4000

5000

6000

7000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Medium Test SSD

Read Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Medium Test SSD

Write Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Large Test

Large MongoDB ServerDual 8-core Intel E5-2620 CPUs64-bit CentOS128GB RAM2 x 64GB SSD – RAID1 (Journal Mount)6 x 600GB 15K SAS – RAID10 (Data Mount)1Gb Network – Bonded

Virtual Provider Instance26 Virtual Compute Units64-bit CentOS64GB 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 PerformedSmall Data Set (64GB of .5mb documents)200 iterations of 6:1 query-to-update operationsConcurrent client connections exponentially increased from 1 to 128Test duration spanned 48 hours

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

Large Test 15k SAS

Read Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

1000

2000

3000

4000

5000

6000

7000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Large Test 15k SAS

Write Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

1000

2000

3000

4000

5000

6000

7000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Large Test SSD

Read Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

1000

2000

3000

4000

5000

6000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Large Test SSD

Write Operations per Second by Concurrent Client

1 Client 2 Clients 4 Clients 8 Clients 16 Clients 32 Clients 64 Clients 128 Clients0

1000

2000

3000

4000

5000

6000

Virtual Provider AVG SoftLayer AVG Virtual Provider Peak SoftLayer Peak

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

Superior Performance

Small SATA II Medium 15k SAS Medium SSD Large 15k SAS Large SSD

70%

133%

297%

111%

446%

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

Stability

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

Small Test

Small Bare Metal Cloud Instance64-bit CentOS8GB RAM2 x 500GB SATAII – RAID11Gb Network

Public Cloud Instance4 Virtual Compute Units64-bit CentOS7.5GB RAM2 x 500GB Network Storage – RAID11Gb Network

Tests PerformedData Set (8GB of .5mb documents)200 iterations of 6:1 query-to-update operationsConcurrent client connections exponentially increased from 1 to 32Test duration spanned 48 hours

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

1 2 4 8 16 320

200

400

600

800

1000

1200

1400

Concurrent Clients

Op

s/S

eco

nd

Small Public Cloud

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

1 2 4 8 16 320

200

400

600

800

1000

1200

1400

1600

Concurrent Clients

Op

s/S

eco

nd

Small Bare Metal

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

Medium TestBare Metal Cloud InstanceDual 6-core Intel 5670 CPUs64-bit CentOS36GB RAM2 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 Instance26 Virtual Compute Units64-bit CentOS30GB RAM2 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 PerformedData Set (32GB of .5mb documents)200 iterations of 6:1 query-to-update operationsConcurrent client connections exponentially increased from 1 to 128Test duration spanned 48 hours

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

1 2 4 8 16 32 64 1280

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Concurrent Clients

Op

s/S

eco

nd

Medium Public Cloud

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

1 2 4 8 16 32 64 1280

1000

2000

3000

4000

5000

6000

7000

8000

Concurrent Clients

Op

s/S

eco

nd

15k SAS

Medium Bare Metal

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

1 2 4 8 16 32 64 1280

500

1000

1500

2000

2500

3000

3500

4000

4500

Concurrent Clients

Op

s/S

eco

nd

SSD

Medium Bare Metal

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

Large TestBare Metal Cloud InstanceDual 8-core Intel E5-2620 CPUs64-bit CentOS128GB RAM2 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 Instance26 Virtual Compute Units64-bit CentOS64GB 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 PerformedData Set (64GB of .5mb documents)200 iterations of 6:1 query-to-update operationsConcurrent client connections exponentially increased from 1 to 128Test duration spanned 48 hours

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

1 2 4 8 16 32 64 1280

1000

2000

3000

4000

5000

6000

Concurrent Clients

Op

s/S

eco

nd

Large Public Cloud

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

1 2 4 8 16 32 64 1280

1000

2000

3000

4000

5000

6000

7000

Concurrent Clients

Op

s/S

eco

nd

15k SAS

Large Bare Metal

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

1 2 4 8 16 32 64 1280

1000

2000

3000

4000

5000

6000

SSD

Concurrent Clients

Op

s/S

eco

nd

Large Bare Metal

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

Consistent Performance

Small Medium Large

36%

43%

93%

9% 8% 9%

Virtual Instance

Bare Metal Instances

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

Control

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

The Dream

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

Virtual Instance

Striped Network Attached Virtual Volumes

The Reality

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

Cluster

Virtual Instance

Striped Network Attached Virtual Volumes

Virtual Instance

Striped Network Attached Virtual Volumes

Virtual Instance

Striped Network Attached Virtual Volumes

Deployment Complexity

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

The Solution Designer

Deployment Serenity

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

Big Data Solutions

• Bare Metal Servers for Better PerformanceYour 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 PracticesThe configurations have been optimized based on 10gen and SoftLayer’s insight, expertise and experience and provide an idea database environment.

• Full Access and ControlYou 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 ProvisioningOur configuration tool makes it easy to design and deploy complete customized MongoDB architectures.

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

“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

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

• 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

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

www.softlayer.comblog @ http://sftlyr.com/bdperf

More Information