Home > Storage > PowerFlex > White Papers > Dell APEX Block Storage for AWS: MongoDB using Kubernetes and PowerFlex CSI > Test results with AWS instance store
This test characterizes MongoDB sharded cluster deployment using PowerFlex running on Amazon EC2 instances with instance store (NVMe SSD) as the storage type. We used the EC2 i3en.12xlarge instance as SDS and the EC2 c5n-18xlarge instance type as the SDC instance. Each i3en.12xlarge SDS instance comes with 4 x 7.5 TB NVMe SSD storage drives. The SDC Instances are used as worker nodes for the workload and application deployments with only the root EBS volume that is attached to it.
The CSI driver dynamically provisions persistent volumes to each MongoDB pod for database creation and read/write/insert operations. The YCSB tool was run from a load generator machine. For all eight MongoDB pods distributed across instances, each YCSB pod runs the read/write workload based on the use case.
For more information about the test configuration, see the NVMe Table.
Initially, since the database is still empty, perform a data load using one of the workload profiles (Workload C in this case, as it is the first test case).
Fifty million records were inserted for each MongoDB data pod, resulting in four billion records populated in the cluster. Each YCSB-mongo client runs a subset of the workload, which was accomplished by changing the number of threads and the requestdistribution=uniform option:
kubectl -n mongo exec $(kubectl get pod -n mongo | grep YCSB-pod1 | awk '{print $1}') -- \ ./bin/YCSB load mongodb -s -threads 32 \ -P "workloads/workloadc" \ -p mongodb.url=mongodb://mongodb:*****@10.244.3.9:27017/YCSB?w=1 2>&1 \ -p recordcount=500000000 \
-p operationcount=500000000 \
-p insertproportion=1 \
-p requestdistribution=uniform \
-p mongodb.writeConcern=acknowledged \
-p writeallfields=true | tee -a /home/ec2-user/mongodblogs/50m_32_workloadc_s0n1 &