We want to identify what the performance curves are for nsq so that we can decide if we should use it as a way to stream assets to the client or not.
The basic idea here is to have the standard two dimension benchmark in which:
- X axis is the send-rate (ie 1msg/sec, 10msg/sec, etc...)
- Y axis is the message-size (ie 1kb, 10kb, etc...)
Then in each message upon sending we will record the following 3 items:
- Sequal id (to identify dropped/lost messages)
- Timestamp of send-time
- Gibbish for the rest of the message (from a block of memory for dma/mmap speed)
Then upon reception we will record the time the message was received, and record the send-time and sequal id to a csv/logfile for further analysis.
Should be able to make a binary that provides us with a few options such as send rate, message size, and so on for the initial benchmark effort. Binary provided options:
- hostname/ip to connect to for nsq
- port to connect to for nsq
- count of messages to send
- send-rate in msg/sec
- message size in kilobytes (min of 1-4kb)
- RDY size (we are doing 1 for now but should be able to bump this up)
We want to identify what the performance curves are for nsq so that we can decide if we should use it as a way to stream assets to the client or not.
The basic idea here is to have the standard two dimension benchmark in which:
Then in each message upon sending we will record the following 3 items:
Then upon reception we will record the time the message was received, and record the send-time and sequal id to a csv/logfile for further analysis.
Should be able to make a binary that provides us with a few options such as send rate, message size, and so on for the initial benchmark effort. Binary provided options: