Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stealthly/punxsutawney
An Apache Mesos Framework that allows for replaying load over and over and over (and over) again
https://github.com/stealthly/punxsutawney
Last synced: 2 months ago
JSON representation
An Apache Mesos Framework that allows for replaying load over and over and over (and over) again
- Host: GitHub
- URL: https://github.com/stealthly/punxsutawney
- Owner: stealthly
- License: apache-2.0
- Created: 2015-05-25T18:53:24.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-08-10T16:34:02.000Z (almost 9 years ago)
- Last Synced: 2024-04-16T10:20:10.939Z (2 months ago)
- Language: Java
- Size: 215 KB
- Stars: 10
- Watchers: 12
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-mesos - Load replaying
README
# punxsutawney
An tool that allows for replaying load over and over and over (and over) again.It uses Mesos/Marathon for running its HTTP clients.
It uses Kafka to read traffic data.Primary components are:
- CLI - CLI to start HttpClients on Mesos (see Main);
- HttpClient - client running on Mesos, that generates HTTP traffic;
- Emitter - emitter (see SampleEmitter), producing traffic to Kafka topic (consumed by HttpClient(s));# Running
In order to run the tool following steps should be executed:
1. Build via `./gradlew jar`
2. Start `./punxsutawney.sh`
3. Verify app is running via Mesos & Marathon UIs
4. Start emitting traffic to Kafka topic `punxsutawney` (see SampleEmitter)
5. Monitor stdout (via Mesos UI) of each HttpClient to see rps, failures, etcNote: if running N HttpClient instances, Kafka topic should contain at least N partitions,
in order for HttpClients to be able to consume concurrently.# Traffic generation
HttpClient consumes Kafka messages, containing serialized Requests instances.
Each Requests instance is designed to carry a batch of HTTP requests.
Emitter should batch 1k - 10k requests together to populate Requests object.