Resource configuration allows you to specify and persist CPU, memory, and storage allocations for replication services. Configure resources through the user interface to optimize performance and eliminate manual command-line configuration.
What is resource configuration?
Resource configuration is a UI-based feature that enables you to allocate and manage computational resources for your replication services. Instead of using command-line tools and manual configuration file edits, you can now specify resource limits directly through the user interface.
Resource configuration eliminates the need for container logins and manual updates, reducing errors and improving the user experience. Once configured, resource settings persist through system restarts and scaling operations, ensuring consistent performance across your infrastructure.
Why configure resources?
Proper resource allocation is essential for optimal replication performance. Resource configuration provides the following benefits:
-
Performance optimization: Allocate appropriate CPU and memory to match your workload requirements, preventing bottlenecks and ensuring efficient data transfer.
-
Cost efficiency: Avoid over-provisioning by setting precise resource limits that match your actual needs.
-
Simplified management: Use the UI instead of command-line tools, reducing complexity and the potential for configuration errors.
-
Persistent settings: Resource configurations survive system restarts and scaling events, eliminating the need to reconfigure after infrastructure changes.
-
Service independence: Configure each service independently without creating interdependencies or affecting system stability.
Resource types
Resource configuration supports three types of resource allocation:
-
CPU: Measured in millicores, CPU resources define the processing power available to your replication service. You specify both minimum (guaranteed) and maximum (upper limit) CPU allocations. The minimum ensures your service always has sufficient processing capacity, while the maximum prevents excessive resource consumption.
-
Memory: Measured in gigabytes (GB), memory resources define the RAM available to your replication service. Like CPU, you specify both minimum and maximum memory allocations. Adequate memory is critical for handling large data volumes and maintaining replication performance.
-
Storage Volume: Measured in gigabytes (GB), storage volume defines the total disk capacity available for your replication service's data and logs. Allocate sufficient storage to accommodate your data volume and log retention requirements.
Configuration scope
Continuous Replication: Resources are configured at the project level. All pipelines within a project inherit the project-level resource settings. This approach simplifies management when multiple pipelines share similar resource requirements.
Default and custom limits
Resource configuration offers two approaches to resource allocation:
-
Default limits: If you do not configure custom resource limits, the system automatically applies recommended values based on your project or pipeline's workload profile. This approach allows you to start building and deploying pipelines immediately without specifying resource limits. Default limits are calculated to provide adequate performance for typical workloads.
-
Custom limits: You can enable custom limits to specify precise resource allocations tailored to your specific requirements. Custom limits override default values and act as configuration overrides. Custom limits are optional except where required by your infrastructure platform (such as GKE Autopilot).
Applying resource configuration changes
Resource configuration changes require a restart of the affected service to take effect. When you save resource configuration changes, the system prompts you to confirm the restart:
-
Apply Now: Restart the service immediately to apply the resource configuration changes. Use this option when you want changes to take effect right away.
-
Apply Later: Save the configuration and restart the service later. Use this option to schedule the restart during a maintenance window to minimize disruption to ongoing replication operations. After selecting Apply Later, you can apply the pending configuration changes in either of the following ways:
-
Restart the project using the Restart option. Do not use Stop/Start.
-
Select Apply Configuration Changes from the project.
Resource configuration changes are persistent and survive system restarts and scaling operations. Once applied, the new resource allocations remain in effect until you modify them.
Minimum and maximum values
When configuring CPU and memory resources, you specify both minimum and maximum values:
-
Minimum value: Represents the guaranteed resource allocation. The service always has access to at least this number of resources, ensuring consistent baseline performance.
-
Maximum value: Represents the upper limit the service can use. The service cannot exceed this allocation, prevent excessive resource consumption and protect other services on the same infrastructure.
Ensure that the maximum value is greater than or equal to the minimum value. For optimal performance, set the minimum value to the baseline resources your service requires and the maximum value to accommodate peak workload demands.
Monitoring and adjustment
After configuring resources, monitor your replication services to ensure they perform optimally with the new allocations. If you observe performance issues or resource constraints, you can adjust the resource configuration at any time by repeating the configuration process. Resource adjustments follow the same restart workflow as initial configuration.
Configure resources for continuous replication projects
Configure CPU, memory, and storage resources for a continuous replication project through the user interface. Resource settings apply to all pipelines within the project and persist through restarts and scaling operations. Resource configuration for continuous replication projects is performed at the project level. All pipelines within the project inherit these resource settings. You must have the Replication Designer role to configure resources.
Note: Resource configuration changes require a project restart to take effect. Plan configuration updates during maintenance windows to minimize disruption to ongoing replication operations.
-
Navigate to Integration and select Continuous Replication. The continuous replication projects list appears.
-
Locate the project for which you want to configure resources and click the ellipses menu next to the project name. A dropdown menu appears with available actions.
-
Select Configure Resources from the dropdown menu. The Configure Resources dialog opens, displaying the project name and the number of pipelines affected by the configuration.
-
Review the current resource settings displayed in the dialog. The dialog shows default values calculated based on your project's workload profile. If custom limits have been previously configured, those values appear instead.
-
To set custom resource limits, toggle the Set custom limits switch to the ON position. The resource input fields become editable, allowing you to specify custom values for CPU, memory, and storage.
-
Configure CPU resources by entering values in the Minimum and Maximum fields under the CPU section.
- CPU values are measured in millicores.
- The minimum value represents the guaranteed CPU allocation.
- The maximum value represents the upper limit the service can use.
- Ensure the maximum value is greater than or equal to the minimum value.
- Configure memory resources by entering values in the Minimum and
Maximum fields under the Memory section.
- Memory values are measured in gigabytes (GB).
- The minimum value represents the guaranteed memory allocation.
- The maximum value represents the upper limit the service can use.
- Ensure the maximum value is greater than or equal to the minimum value.
- Configure storage volume by entering a value in the Capacity field under the
Storage Volume section.
- Storage values are measured in gigabytes (GB).
- This value represents the total storage capacity available for data and logs.
- Allocate sufficient storage to accommodate your data volume and log retention requirements.
- Review all configured values to ensure they meet your requirements. Verify that minimum values are less than or equal to maximum values, and that storage capacity is adequate for your workload.
- Click Save to save the resource configuration. A success message appears confirming that the resource configuration has been saved for the project.
- A restart confirmation dialog appears, indicating that the project must be restarted to apply the resource changes. You have two options: restart immediately or apply the changes later.
- Choose one of the following actions: Choose from:
- Click Apply Now to restart the project immediately and apply the resource configuration changes.
- Click Apply Later to save the configuration and restart the project later.
- If you select Apply Later, the resource configuration is saved but not yet active. You can restart the project manually when convenient.
- If you selected Apply Now, wait for the project to restart and the resource configuration to be applied.
The project restarts with the new resource allocations. A success message confirms that the resource configuration has been applied and the project is restarted. Resource configuration for the continuous replication project is now complete. The specified CPU, memory, and storage limits are applied to all pipelines within the project. These settings persist through system restarts and scaling operations.
Monitor your replication pipelines to ensure they perform optimally with the new resource allocations. If you observe performance issues, you can adjust the resource configuration at any time by repeating this procedure.