performa/performa/scenarios/mq/kafka.rst

2.2 KiB

Oslo.messaging simulator report

This report contains results of message_queue_performance execution with Oslo.messaging Simulator with Kafka driver.

Test Case: Notification Throughput Test

Message processing

Messages are collected at 2 points: sent - messages sent by the client and received - messages received by the server. Also the number of lost messages is calculated. Sizes of messages is based on the distribution of messages collected on the 100-node cloud.

{{'''

title: NOTIFY Message count axes: x: threads y: sent, msg y2: received, msg y3: lost, msg chart: line pipeline: - { $match: { task: omsimulator, mode: notify }} - { $group: { _id: { threads: { $multiply: [ "$threads", "$host_count", "$processes" ] } }, sent: { $sum: "$client.count" }, received: { $sum: "$server.count" }, lost: { $sum: { $subtract: ["$client.count", "$server.count"] }} }} - { $project: { x: "$_id.threads", y: "$sent", y2: "$received", y3: "$lost" }} - { $sort: { x: 1 }}

''' | chart_and_table }}

The throughput and latency

The chart shows the throughput and latency depending on number of concurrent threads.

{{'''

title: NOTIFY throughput and latency depending on thread count axes: x: threads y: throughput, msg/sec y3: latency, ms chart: line pipeline: - $match: { task: omsimulator, mode: notify } - $group: _id: { threads: { $multiply: [ "$threads", "$host_count", "$processes" ] } } throughput: { $sum: { $divide: ["$client.count", "$client.duration"] }} latency: { $avg: "$server.latency" } - $project: x: "$_id.threads" y: "$throughput" y3: { $multiply: [ "$latency", 1000 ] }

''' | chart_and_table }}