Uncategorized - CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing https://www.calibreqa.com CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing Wed, 27 Dec 2023 21:22:14 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://www.calibreqa.com/wp-content/uploads/2023/07/cropped-CalibreqaFavicon-32x32.png Uncategorized - CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing https://www.calibreqa.com 32 32 RabbitMQ Performance Testing https://www.calibreqa.com/rabbitmq-performance-testing/?utm_source=rss&utm_medium=rss&utm_campaign=rabbitmq-performance-testing https://www.calibreqa.com/rabbitmq-performance-testing/#respond Wed, 27 Dec 2023 21:16:00 +0000 https://www.calibreqa.com/?p=9199 Objective The objective of the performance Testing to generate traffic against a MQ system and identify, how many messages /seconds, we can send to a RabbitMQ instance also the performance Benchmarking. Testing Approach RabbitMQ is an open-source message-broker software (also known as message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol and these are […]

The post RabbitMQ Performance Testing first appeared on CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing.

]]>
Objective

The objective of the performance Testing to generate traffic against a MQ system and identify, how many messages /seconds, we can send to a RabbitMQ instance also the performance Benchmarking.

Testing Approach

  • RabbitMQ is an open-source message-broker software (also known as message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol and these are many baseline pointers are followed to achieve performance testing goals.
  • One publisher publishes as fast as it can, while one consumer consumes as fast as it can Two publishers and no consumers (performance as the queue gets longer)
  • One consumer consumes a long queue from the previous test (performance of consumers unaffected by publishers)
  • One consumer consumes a long queue from the previous test (performance of consumers unaffected by publishers)
  • Five queues, each has 1 publisher publishing at 10k messages/s and 1 consumer (the total expected throughput is 50k/s, we look at the latency)
  • Fanout to 10 queues – 1 publishers and 10 consumers, a fanout exchange
  • One publisher, one consumer, but only 1 unconfirmed message (the publisher waits for the confirmation of the previous message before sending the next one)
  • Fan-in: 7000 publishers publishing 1 message per second, to a single queue
  • 1000 publishers publish 10 messages/s, each to a different queue; each queue has a consumer as well (total expected throughput: 10k/s

Performance Matrices:

JMeter Matrices

  • 90% Average Response Time
  • Throughput
  • Error Percentage
  • Request per Second
  • API Errors

Hardware Matrix

  • CPU stats (user, system, iowait & idle percentages)
  • Memory usage (used, buffered, cached & free percentages)
  • Virtual Memory statistics (dirty page flushes, writeback volume)
  • Disk I/O (operations & amount of data transferred per unit time, time to service
  • operations)
  • Free disk space on the mount used for the node data directory.
  • File descriptors used by beam.smp vs. max system limit.
  • TCP connections by state (ESTABLISHED, CLOSE_WAIT, TIME_WAIT)
  • Network throughput (bytes received, bytes sent) & maximum network throughput.
  • Network latency (between all RabbitMQ nodes in a cluster as well as to/from
  • Clients)

Database Matrices

  • High Response Query
  • Block Query
  • Missing Indexes
  • InnoDB Buffer Pool Size

 

 

 

Important link for RabbitMQ:

https://github.com/jlavallee/JMeter-Rabbit-AMQP/blob/master/examples/RPC_Load_Test.jmx

https://github.com/aliesbelik/jmeter-amqp-plugin/releases/tag/v0.3.0

https://www.rabbitmq.com/install-windows.html

https://jatinanejablog.blogspot.com/2016/06/configure-jmeter-to-load-test-rabbit-mq.html

The post RabbitMQ Performance Testing first appeared on CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing.

]]>
https://www.calibreqa.com/rabbitmq-performance-testing/feed/ 0
Unmasking the Hidden Culprits: Why Functionality Breakdowns Occur During Load Testing https://www.calibreqa.com/unmasking-the-hidden-culprits-why-functionality-breakdowns-occur-during-load-testing/?utm_source=rss&utm_medium=rss&utm_campaign=unmasking-the-hidden-culprits-why-functionality-breakdowns-occur-during-load-testing https://www.calibreqa.com/unmasking-the-hidden-culprits-why-functionality-breakdowns-occur-during-load-testing/#respond Tue, 29 Aug 2023 18:45:19 +0000 https://www.calibreqa.com/?p=8819 In real time environment, Functionality breakdowns during load testing can occur for several reasons, and it’s crucial to understand these factors to effectively address and prevent such issues to avoid business losses and CalibreQA comes this technique to identify hidden root cause when system is in stress condition . Here are some common reasons why […]

The post Unmasking the Hidden Culprits: Why Functionality Breakdowns Occur During Load Testing first appeared on CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing.

]]>
In real time environment, Functionality breakdowns during load testing can occur for several reasons, and it’s crucial to understand these factors to effectively address and prevent such issues to avoid business losses and CalibreQA comes this technique to identify hidden root cause when system is in stress condition . Here are some common reasons why functionality breakdowns might happen during load testing:

Resource Constraints: Insufficient hardware resources, such as CPU, memory, or network bandwidth, can lead to functionality breakdowns. When the application is under a heavy load, resource utilization may exceed capacity, causing performance degradation or failures.
Concurrency Issues: In multi-user environments, race conditions and concurrency issues can emerge when multiple users or threads access shared resources simultaneously. These issues may not be apparent during functional testing but can surface under load.
Database Overload: Database queries and transactions are often a common source of performance bottlenecks. If the database becomes overloaded with concurrent requests, it can lead to slow response times, timeouts, or data corruption.
Thread or Connection Pooling Limits: Many applications use thread or connection pooling to manage concurrent user connections. If the pool size is insufficient to handle the load, it can lead to functionality breakdowns as users are unable to establish connections or execute transactions.
Third-Party Services: Applications often rely on external services or APIs. Performance problems with third-party services, including high response times or service outages, can impact the application’s functionality under load.
Inefficient Code: Inefficient code or algorithms can lead to performance bottlenecks. During load testing, these inefficiencies may become more pronounced and can result in functionality breakdowns.
Inadequate Load Balancing: In a distributed system, if load balancing is not properly configured, certain nodes or components may become overloaded while others remain underutilized. This can lead to uneven performance and functionality issues.
Memory Leaks:Memory leaks, where the application does not release memory properly, can accumulate over time and cause the application to crash or become unresponsive during load testing.
Software Bugs:Load testing can uncover latent software bugs that only manifest under heavy load. These bugs may include race conditions, deadlocks, or other issues that affect functionality.
Incorrect Assumptions:The load testing environment may not accurately reflect the production environment, leading to incorrect assumptions about system behavior. Differences in configurations, data volumes, or network conditions can impact functionality.
To address and prevent functionality breakdowns during load testing:

<br>Identify Bottlenecks: Use performance monitoring and profiling tools to identify performance bottlenecks, resource constraints, and areas of code that require optimization.</br>

Tune Configuration: Adjust configurations, such as database connection pool sizes, thread counts, and resource allocations, to better accommodate the expected load.

Optimize Code: Review and optimize application code and database queries to improve efficiency and reduce resource consumption.

Test Realistic Scenarios: Design load test scenarios that closely mimic real-world user behavior and usage patterns to ensure that the testing accurately represents production conditions.

Perform Scalability Testing: Assess the application’s ability to scale horizontally or vertically to handle increased loads.

Prioritize Critical Functions: Prioritize testing of critical or high-impact functions that must remain functional under heavy load.

Continuous Testing: Implement continuous performance testing to catch regressions early in the development process.

Functionality breakdowns during load testing are an essential part of identifying and mitigating performance issues. By addressing these issues proactively, organizations can ensure that their applications perform optimally under real-world conditions.
Let’s connection both Manual and Performance exercise parallel with CalibreQA experts.We know how we can make a reliable system for customer enteric approach.
Email Us for POC : poc@calibreqa.com

The post Unmasking the Hidden Culprits: Why Functionality Breakdowns Occur During Load Testing first appeared on CalibreQA|Functional|Performance|Automation|CHAOS|Reliablity Testing|Mobile Application Testing.

]]>
https://www.calibreqa.com/unmasking-the-hidden-culprits-why-functionality-breakdowns-occur-during-load-testing/feed/ 0