In today's data-driven world, the performance of your analytics platform can significantly impact business decisions and outcomes. Oracle Analytics Cloud (OAC) provides robust tools for transforming data into actionable insights, but optimizing its performance requires careful consideration of resources—especially the number of Oracle Compute Units (OCPUs) allocated. Proper OCPU sizing ensures that your OAC environment runs efficiently, avoiding both underutilization and over-provisioning of resources.
This is where Apache JMeter comes into play. As a powerful open-source tool designed to measure performance and simulate workloads, JMeter enables you to test and determine the optimal OCPU configuration for your OAC deployment. By simulating real-world user activity and workload patterns, you can gain insights into how different OCPU sizes affect performance, ultimately leading to more informed decisions and cost savings.
Steps to Use JMeter for OCPU Sizing:
Design Test Scenarios:
Identify Critical User Journeys: Focus on the most frequent and resource-intensive user actions, such as running complex reports, data visualizations, and interactive dashboards within the OAC instance.
Create Test Plans: Script these actions in JMeter to simulate realistic workloads, ensuring that they represent the typical usage patterns of your users.
Configure Load Parameters:
Concurrent Users: Set the number of virtual users to simulate. Begin with a baseline and gradually increase the load to observe how the system performs under varying conditions.
Ramp-Up Period: Define how quickly virtual users are introduced to the system to mimic realistic spikes in activity.
Test Duration: Decide on the length of each test to gather sufficient data and allow the system to stabilize under load.
Execute Tests:
Run your JMeter tests against the OAC instance in an environment that closely mirrors production settings. This ensures that the results are relevant and actionable.
Monitor OAC Performance Metrics:
Oracle Cloud Monitoring and Logs: While JMeter provides crucial client-side metrics, complement this with server-side metrics from Oracle Cloud’s monitoring tools and logs. Focus on query capacity usage, OAC server response times, and query response times from the OCI Logging Diagnostic logs to get a complete picture.
Key JMeter Metrics to Analyze:
Response Time:
Definition: The time taken from sending a request to receiving a response.
Importance: Consistently high response times under specific loads may indicate the need for additional OCPUs.
Analysis: Monitor average, median, and percentile (e.g., 90th, 95th) response times. These metrics help identify if the current OCPU allocation meets performance expectations.
Throughput:
Definition: The number of requests processed per unit of time (e.g., transactions per second).
Importance: Throughput reflects how well the system handles the load.
Analysis: A plateau or decrease in throughput as load increases can signal that the current OCPU size is insufficient.
Error Rate:
Definition: The percentage of failed requests compared to total requests.
Importance: A rising error rate under load typically points to resource constraints, such as insufficient CPU, leading to timeouts or server errors.
Analysis: Keeping error rates low is essential for maintaining a good user experience.
Latency:
Definition: The time it takes for the request to reach the server and for the server to send the initial response back.
Importance: High latency can significantly affect user experience, especially in data-driven applications.
Analysis: If latency spikes under load, it may be an indication that the OAC instance needs more OCPUs or better network configuration.
Query Capacity Usage & Server Response Times (Correlated Metrics):
Definition: Query capacity usage reflects the amount of processing power utilized by your OAC instance during query execution, while server and query response times are tracked through the OCI Logging Diagnostic logs.
Importance: These metrics provide a clear indication of how well the OAC instance is handling the workload.
Analysis: High query capacity usage and increased response times, especially when correlated with degraded performance metrics from JMeter, are strong indicators that your OAC instance requires more OCPUs. Conversely, low usage with optimal performance may indicate that the instance is over-provisioned.
OAC Usage Tracking Examples:
OAC Metrics Examples:
JMeter Examples:
OCI Logging Examples:
Disclaimer
The information provided in this blog post is intended to help to validate the performance of Oracle Analytics Cloud using Apache JMeter for performance testing purposes only. Please know that Oracle Corporation does not endorse or provide support for the use of third-party tools like Apache JMeter for testing Oracle Analytics Cloud. PLEASE use caution and follow best practices when testing and we recommend that you avoid testing in production environments to avoid potential impact on users and data.
Also, it is important to know that when you sign up and agree to use Oracle Analytics Cloud, Oracle strictly prohibits users from utilizing any tools or services in a manner that performs Denial-of-Service (DoS) attacks or simulations of such against any Oracle Cloud asset including the ones you are using.