couchbaselabs / couchbaselabs/spectroperf

Separate sending of request from reading of responses

Open
#74 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
3
Forks
2
Avg merge
24m
Merged PRs (30d)
5

Description

Currently spectroperf sends requests and waits for the response all in the same thread. This means that if a request takes 1 second to be serviced then we will wait one second longer than configured between sending requests and we run into a coordinated omission problem.

What we should actually do is have one thread send the requests at the configured interval and then have a separate thread wait on and process the response. This way even when latencies are high we won't see a drop in throughput.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the current request-send and response-wait loop, then trace how the configured interval and response processing are coordinated. Separate those responsibilities so requests continue at the configured interval while another execution path waits for and processes responses; done means high response latency no longer reduces request throughput or causes coordinated omission.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
performance, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.