Jump to: navigation, search

Difference between revisions of "Zaqar/Performance/PubSub/Redis"

m (Senario 2 (Write-Heavy))
m (Senario 1 (Read-Heavy))
Line 20: Line 20:
 
=== Senario 1 (Read-Heavy)===
 
=== Senario 1 (Read-Heavy)===
  
In these tests, producers were held at 50 while the number of observer clients was steadily increased (X axis). For some use cases that Zaqar targets, the number of observers polling the API far exceeds the number of messages being posted at any given time.
+
In these tests, producers were held at 50 while the number of observer clients was steadily increased. The X axis denotes the total number of observers and producers. For some use cases that Zaqar targets, the number of observers polling the API far exceeds the number of messages being posted at any given time.
  
 
==== Mean Latency ====
 
==== Mean Latency ====
Line 51: Line 51:
  
 
[[File:Zaqar-juno-redis-pubsub-latency-max-increasing-obs-50-prod.png]]
 
[[File:Zaqar-juno-redis-pubsub-latency-max-increasing-obs-50-prod.png]]
 
  
 
=== Senario 2 (Write-Heavy)===
 
=== Senario 2 (Write-Heavy)===

Revision as of 12:59, 16 September 2014

Overview =

These tests examined the pub-sub performance of the Redis driver (Juno release).

Systems

TODO

Configuration 1

In these tests, various amounts of load was applied to the following configuration:

  • 1x4 load balancer
  • 1x20 web head (WSGI server)
  • 1x1 redis (message store)
  • 3x mongo replica set (pooling catalog)

Messages were small in these tests (only about 80 characters, larger message sizes still need to be tested). Each level of load was executed for 5 minutes, and then the samples were used to calculate the following statistics.

Senario 1 (Read-Heavy)

In these tests, producers were held at 50 while the number of observer clients was steadily increased. The X axis denotes the total number of observers and producers. For some use cases that Zaqar targets, the number of observers polling the API far exceeds the number of messages being posted at any given time.

Mean Latency

The Y-axis denotes mean latency in milliseconds.

Zaqar-juno-redis-pubsub-latency-mean-increasing-obs-50-prod.png

Combined Throughput

The Y-axis denotes the combined throughput for all clients in requests/sec.

Zaqar-juno-redis-pubsub-throughput-increasing-obs-50-prod.png

Standard Deviation

The Y-axis denotes the stdev for per-request latency (ms).

Zaqar-juno-redis-pubsub-stdev-increasing-prod-50-obs.png

99th Percentile

The Y-axis denotes the per-request latency for 99% of client requests. This shows the latency for most of the requests.

Zaqar-juno-redis-pubsub-99p-increasing-obs-50-prod.png

Maximum Latency

The Y-axis represents the maximum latency experienced by any client during a given run. To view the duration for most of the requests, see the 99th percentile graph, above. The spikes are likely due to Redis's snapshotting feature (the default settings were used for redis-server in these tests).

Zaqar-juno-redis-pubsub-latency-max-increasing-obs-50-prod.png

Senario 2 (Write-Heavy)

In these tests, observers were held at 50 while the number of producer clients was steadily increased. The X-axis shows the total number of clients (producers + observers). Each level of load was executed for 5 minutes, after which the samples were used to calculate the following statistics.

Mean Latency

The Y-axis denotes mean latency in milliseconds.

Zaqar-juno-redis-pubsub-latency-mean-increasing-prod-50-obs.png

Combined Throughput

The Y-axis denotes the combined throughput for all clients in requests/sec.

Zaqar-juno-redis-pubsub-throughput-increasing-prod-50-obs.png

Standard Deviation

The Y-axis denotes the stdev for per-request latency (ms).

Zaqar-juno-redis-pubsub-stdev-increasing-prod-50-obs.png

99th Percentile

The Y-axis denotes the per-request latency for 99% of client requests. This shows the latency for most of the requests.

Zaqar-juno-redis-pubsub-99p-increasing-prod-50-obs.png

Maximum Latency

The Y-axis represents the maximum latency experienced by any client during a given run. To view the duration for most of the requests, see the 99th percentile graph, above. The spikes are likely due to Redis's snapshotting feature (the default settings were used for redis-server in these tests).

Zaqar-juno-redis-pubsub-latency-max-increasing-prod-50-obs.png