Skip to content

Commit d067716

Browse files
committed
Bug fixing
1 parent 0c090e8 commit d067716

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

articles/cosmos-db/mongodb/vcore/compute-storage.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.author: nlarin
77
ms.service: cosmos-db
88
ms.subservice: mongodb-vcore
99
ms.topic: conceptual
10-
ms.date: 06/13/2024
10+
ms.date: 06/30/2024
1111
---
1212

1313
# Compute and storage configurations for Azure Cosmos DB for MongoDB vCore clusters
@@ -81,7 +81,7 @@ In MongoDB, *the working set* refers to the portion of your data that is frequen
8181

8282
To define and understand your MongoDB database working set, consider the following components:
8383

84-
1. Frequently accessed data: This includes documents that are regularly read or updated by your application.
84+
1. Frequently accessed data: This data include documents that your application reads or updates regularly.
8585
1. Indexes: Indexes that are used in query operations also form part of the working set because they need to be loaded into memory to ensure fast access.
8686
1. Application Usage Patterns: Analyzing the usage patterns of your application can help identify which parts of your data are accessed most frequently.
8787

@@ -94,36 +94,36 @@ Determining the right compute and storage configuration for your MongoDB workloa
9494
1. **Understand your workload**
9595
- **Data volume**: Estimate the total size of your data, including indexes.
9696
- **Read/write ratio**: Determine the ratio of read operations to write operations.
97-
- **Query patterns**: Analyze the types of queries your application performs. For instande, simple reads, complex aggregations.
97+
- **Query patterns**: Analyze the types of queries your application performs. For instance, simple reads, complex aggregations.
9898
- **Concurrency**: Assess the number of concurrent operations your database needs to handle.
9999

100100
2. **Monitor current performance**
101-
- **Resource utilization**: Use MongoDB monitoring tools to track CPU, memory, disk I/O, and network usage before you move your MongoDB workload to Azure and [monitoring metrics](./how-to-monitor-diagnostics-logs.md) once you start running your MongoDB workload on an Azure Cosmos DB for MongoDB vCore cluster.
101+
- **Resource utilization**: Use MongoDB monitoring tools to track CPU, memory, disk I/O, and network usage before you move your MongoDB workload to Azure and [monitoring metrics](./how-to-monitor-diagnostics-logs.md) and MongoDB monitoring tools once you start running your MongoDB workload on an Azure Cosmos DB for MongoDB vCore cluster.
102102
- **Performance metrics**: Monitor key performance metrics such as latency, throughput, and cache hit ratios.
103103
- **Bottlenecks**: Identify any existing performance bottlenecks, such as high CPU usage, memory pressure, or slow disk I/O.
104104

105105
3. **Estimate resource requirements**
106106
- **Memory**: Ensure that your [working set](#working-set-and-memory-considerations) (frequently accessed data and indexes) fits into RAM. If your working set size exceeds available memory, consider adding more RAM or optimizing your data model.
107-
- **CPU**: Choose a CPU configuration that can handle your query load and concurrency requirements. CPU-intensive workloads may require additional cores. Use 'CPU percent' metric with 'Max' aggregation on your Azure Cosmos DB for MongoDB vCore cluster to see historical compute usage patterns.
107+
- **CPU**: Choose a CPU configuration that can handle your query load and concurrency requirements. CPU-intensive workloads may require more cores. Use 'CPU percent' metric with 'Max' aggregation on your Azure Cosmos DB for MongoDB vCore cluster to see historical compute usage patterns.
108108
- **Storage IOPS**: Select storage with sufficient IOPS to handle your read and write operations. Use 'IOPS' metric with 'Max' aggregation on your cluster to see historical storage IOPS usage.
109109
- **Network**: Ensure adequate network bandwidth to handle data transfer between your application and the database, especially for distributed setups. Make sure you configured host for your MongoDB application to support [accelerated networking](../../../virtual-network/accelerated-networking-overview.md) technologies such as SR-IOV.
110110

111111
4. **Scale appropriately**
112112
- **Vertical scaling**: Scale compute / RAM up and down and scale storage up.
113113
- Compute: Increase the vCore / RAM on a cluster if your workload requires temporary increase or is often crossing over 90% of CPU utilization for prolonged periods.
114-
- Make sure you have appropriate data retention in your MongoDB database to avoid unneccessary storage use. Monitor storage usage by setting alerts on the 'Storage percent' and/or 'Storage used' metrics with 'Max' aggregation. Consider increase storage as your workload size crosses 70% usage.
114+
- Make sure you have appropriate data retention in your MongoDB database. Retention allows you to avoid unnecessary storage use. Monitor storage usage by setting alerts on the 'Storage percent' and/or 'Storage used' metrics with 'Max' aggregation. Consider increase storage as your workload size crosses 70% usage.
115115
- **Horizontal scaling**: Consider using multiple shards for your cluster to distribute your data across multiple MongoDB nodes for performance gains and better capacity management as your workload grows. This is especially useful for large datasets (over 2-4 TiB) and high-throughput applications.
116116

117-
6. **Test and tterate**
118-
- **Benchmarking**: Perform measurement for the most frequently used queries with different configurations to determine the impact on performance. Use CPU/RAM and IOPS metrics as well as application-level benchmarking.
117+
6. **Test and iterate**
118+
- **Benchmarking**: Perform measurement for the most frequently used queries with different configurations to determine the impact on performance. Use CPU/RAM and IOPS metrics and application-level benchmarking.
119119
- **Load testing**: Conduct load testing to simulate production workloads and validate the performance of your chosen configuration.
120120
- **Continuous monitoring**: Continuously monitor your MongoDB deployment and adjust resources as needed based on changing workloads and usage patterns.
121121

122122
By systematically evaluating these factors and continuously monitoring and adjusting your configuration, you can ensure that your MongoDB deployment is well-optimized for your specific workload.
123123

124124
### Considerations for storage
125125

126-
Deciding on the appropriate storage size for your MongoDB workload involves several considerations to ensure optimal performance and scalability. Here’re considerations for the storage size in Azure Cosmos DB for MongoDB vCore:
126+
Deciding on the appropriate storage size for your MongoDB workload involves several considerations to ensure optimal performance and scalability. Here are considerations for the storage size in Azure Cosmos DB for MongoDB vCore:
127127

128128
1. **Estimate data size:**
129129
- Calculate the expected size of your MongoDB data. Consider:
@@ -132,7 +132,7 @@ Deciding on the appropriate storage size for your MongoDB workload involves seve
132132
- **Document size and structure:** Understand your data schema and document sizes, as they affect storage efficiency.
133133

134134
2. **Factor in indexes:**
135-
- MongoDB uses **[indexes](./indexing.md)** for efficient querying. Indexes consume additional disk space.
135+
- MongoDB uses **[indexes](./indexing.md)** for efficient querying. Indexes consume extra disk space.
136136
- Estimate the size of indexes based on:
137137
- **Number of indexes**.
138138
- **Size of indexed fields**.
@@ -144,12 +144,12 @@ Deciding on the appropriate storage size for your MongoDB workload involves seve
144144

145145
4. **Future growth and scalability:**
146146
- Plan for future data growth and scalability needs.
147-
- Allocate additional disk space beyond current needs to accommodate growth without frequent disk expansions.
147+
- Allocate more disk space beyond current needs to accommodate growth without frequent storage expansions.
148148

149149
5. **Example calculation**:
150150
- Suppose your initial data size is 500 GiB.
151151
- With indexes, it might grow to 700 GiB.
152-
- If you anticipate doubling the data in 2 years, plan for 1.4 TiB (700 GiB * 2).
152+
- If you anticipate doubling the data in two years, plan for 1.4 TiB (700 GiB * 2).
153153
- Add a buffer for overhead, growth, and operational needs.
154154
- You might want to start with 1 TiB storage today and upscale it to 2 TiB once its size grows over 800 GiB.
155155

0 commit comments

Comments
 (0)