Introduce optional rate limiting for publisher routines in publish and spublish modes.#6
Closed
filipecosta90 wants to merge 33 commits intoRedisLabs:masterfrom
Closed
Introduce optional rate limiting for publisher routines in publish and spublish modes.#6filipecosta90 wants to merge 33 commits intoRedisLabs:masterfrom
publish and spublish modes.#6filipecosta90 wants to merge 33 commits intoRedisLabs:masterfrom
Conversation
Included -a and -user connection options. Publishing binary artifacts via github
Fixed artifact publishing error due to wrong bin name
Fixed artifact publishing error due to wrong bin name
…inux/arm64, windows/386, windows/amd64, darwin/amd64, darwin/arm64
build and publish in parallel binaries for: linux/386, linux/amd64, linux/arm64, windows/386, windows/amd64, darwin/amd64, darwin/arm64
* Setting overwrite to true on go publisher * Fixing publish action
…. It adjust the connection, read, and write timeouts. (#7)
* Add RESP3 support ( --resp parameter ) * Using context.WithCancel after the move to radix v4 * Remove resp 2 from default --------- Co-authored-by: ofekshenawa <ofek.shenawa@redis.com>
…erformance org (#10)
* Using go-redis for SSUBSCRIBE benchmark mode * Using go > 1.18 for testing due to go-redis
…ecode. Current best performance vs all previous versions (#14) * Enabled pprof cpuprofile collection * Avoid context locking on pubsub due to PingInterval (disabled it) * Using go-redis for SUBSCRIBE flow
…15) * Removed radix usage from --oss-cluster-api-distribute-subscribers. Using clusterClient.MasterForKey() in case of cluster API and SSUBSCRIBE * Fixd --pool_size option description
…enchmark (#16) * Removed radix usage from --oss-cluster-api-distribute-subscribers. Using clusterClient.MasterForKey() in case of cluster API and SSUBSCRIBE * Fixd --pool_size option description * Ensure mutual exclusion on cluster nodes/slots update when starting benchmark * Remove spurious Address string info from addresses slice -- pure stetic
…te over nodes and node slots (#17)
* Dynamic Reconnect and Multi-Channel Support * updating go-release-action to the latest
Added --clients flag. included example in readme.
Co-authored-by: fcostaoliveira <filipe@redis.com>
* Added the option to measure rtt * fixed ssubscriber check --------- Co-authored-by: fcostaoliveira <filipe@redis.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces optional rate limiting for publisher routines in
publishandspublishmodes.Key Changes
--rpsflag to control the maximum number of published messages per second (requests per second).--rps-burstflag to configure the burst capacity of the rate limiter.--rps=0, the publisher sends at the maximum possible rate (unthrottled).Example Usage
# Limit publisher to 10k msgs/sec with default burst ./pubsub-sub-bench --mode=publish --rps=10000