You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: "Benchmark MongoDB 8.0 on Arm with Yahoo Cloud Serving Benchmark (YCSB)"
3
+
title: "Benchmark MongoDB on Arm with Yahoo Cloud Serving Benchmark (YCSB)"
4
4
5
5
weight: 4# (intro is 1), 2 is first, 3 is second, etc.
6
6
7
7
# Do not modify these elements
8
8
layout: "learningpathall"
9
9
---
10
-
To further measure the performance of MongoDB, you will run the [Yahoo Cloud Serving Benchmark](http://github.com/brianfrankcooper/YCSB).
11
10
12
-
YCSB is an open sourced project which provides the framework and common set of workloads to evaluate the performance of different "key-value" and "cloud" serving stores. Here are the steps to run YCSB to evaluate the performance of MongoDB running on 64-bit Arm machine.
11
+
To further measure the performance of MongoDB, you can run the [Yahoo Cloud Serving Benchmark](http://github.com/brianfrankcooper/YCSB).
13
12
14
-
## Additional software packages
13
+
YCSB is an open source project which provides the framework and common set of workloads to evaluate the performance of different "key-value" and "cloud" serving stores. Use the steps below to run YCSB to evaluate the performance of MongoDB running on 64-bit Arm machine.
15
14
16
-
To run YCSB, additional software packages are required: default-jdk, default-jre, maven, make and Python.
15
+
## Additional software packages
17
16
17
+
To run YCSB, additional software packages are required.
18
18
19
-
Install all other packages:
19
+
Install the additional software:
20
20
21
21
{{< tabpane code=true >}}
22
22
{{< tab header="Ubuntu" >}}
23
-
sudo apt-get update
24
-
sudo apt install -y default-jre default-jdk maven make gcc
25
-
{{< /tab >}}
23
+
sudo apt install -y maven make gcc
24
+
{{< /tab >}}
25
+
{{< tab header="RHE/Amazon" >}}
26
+
sudo yum check-update
27
+
sudo yum install python2
28
+
{{< /tab >}}
26
29
{{< /tabpane >}}
27
-
{{% notice Python Note%}}
28
30
29
-
For Ubuntu 22.04 and 24.04 the `python` package may not be found. You can install Python 2.7 using:
31
+
For Ubuntu 22.04 and 24.04, Python 2 is not available using the package manager.
The recommended test setup is a relica set. Which contains three nodes each of equal size. A primary will be the node you send the YCSB traffic to.
59
-
60
-
## Recommended Tests on MongoDB
64
+
## Load/Insert Test on MongoDB
61
65
62
-
The most common real world test to run is a 95/5 test, 95% read and 5% update. 100/0 and 90/10 are also popular. Run the following commands for about 5 mins before collecting data.
66
+
To load and test the performance of loading data(INSERT) into default database `ycsb` at `localhost:27017` where MongoDB is running using the synchronous driver run the following command:
The "-P" parameter is used to load property files. In this example, you used it load the workloada parameter file which sets the recordcount to 1000 in addition to other parameters. The "-threads" parameter indicates the number of threads and is set to 1 by default.
To test the performance of executing a workload which includes running UPDATE, Read Modify Write(RMW) and/or READ operations on the data using 10 threads for example, use the following command:
The workloads/workloada file in this example sets the following values `readproportion=0.5` and `updateproportion=0.5` which means there is an even split between the number of READ and UPDATE operations performed. You can change the type of operations and the splits by providing your own workload parameter file.
86
82
87
83
For more detailed information on all the parameters for running a workload refer to [this section](https://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workload).
88
84
@@ -118,7 +114,6 @@ At the end of each test, statistics are printed to the console. Shown below is t
118
114
[INSERT], Return=OK, 1000
119
115
...
120
116
```
121
-
## Other tests
122
117
123
-
For instructions on running any other tests or more details on the metrics reported, refer to the [GitHub project for the YCSB](https://github.com/brianfrankcooper/YCSB/wiki/).
118
+
Continue to the next section to run YCSB on a 3 node cluster.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/mongodb/mongodb_configuration.md
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,21 +2,27 @@
2
2
# User change
3
3
title: "MongoDB test configuration and setup"
4
4
5
-
weight: 3# 1 is first, 2 is second, etc.
5
+
draft: true
6
+
7
+
weight: 30# 1 is first, 2 is second, etc.
6
8
7
9
# Do not modify these elements
8
10
layout: "learningpathall"
9
11
---
10
-
The most popular test setup for read world testing is a replica set. A replica set of three equal sized nodes is created and initiated.
12
+
13
+
The most popular test setup for real world testing is a replica set. A replica set of three equal sized nodes is created and initiated.
11
14
12
15
## What is a replica Set?
13
-
A replica set is a group of instances that maintain the same data set. A replica set contains many nodes and in our test three nodes. Out of the three nodes, one and only one member is the primary node, while the other nodes are secondary nodes.
16
+
17
+
A replica set is a group of instances that maintain the same data set. A replica set contains many nodes, and in this test it is 3 nodes. Of the 3 nodes, one node is the primary node, while the other nodes are secondary nodes.
14
18
15
19
## What node size should I use?
16
-
The most common size for testing MongoDB is a 8vCPU instance. You are welcome to test with any sized machine. But If you are looking for ideal testing conditionals 8 is more than enough. 32 Gb of ram is recommended for testing.
20
+
21
+
The most common size for testing MongoDB is an 8 vCPU instance. You can test with any sized machine, but if you are looking for ideal testing conditions 8 nodes is enough. Each node should have 32GB of RAM.
17
22
18
23
## How should I run this test?
19
-
It is recommended to avoid disk and keep the complete date set within memory. The recommended configuration is below and will be explains in detail.
24
+
25
+
You should keep the complete data set in memory. Additional details abut the recommended configuration are provided below.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/mongodb/perf_mongodb.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Install the appropriate run-time environment to be able to use the performance t
16
16
17
17
{{< tabpane code=true >}}
18
18
{{< tab header="Ubuntu" >}}
19
-
sudo apt-get install -y openjdk-18-jre
19
+
sudo apt install default-jre default-jdk -y
20
20
{{< /tab >}}
21
21
{{< tab header="RHE/Amazon" >}}
22
22
sudo yum install java-17-openjdk
@@ -64,9 +64,11 @@ As the test runs, the count will be printed periodically. It will increase until
64
64
## Run Update-one test
65
65
66
66
Similarly, to run this test, updating one document per query using 10, 20 and finally 30 threads for 1 hour each run (3 hours in total) run the following command:
For instructions on running any other tests or more details on the metrics reported, refer to the [github project for the performance tool](https://github.com/idealo/mongodb-performance-test#readme).
0 commit comments