Comments (7)
With such high durations you're better off setting the -workers
flag to something like 1000. By default, Vegeta will allocate one go-routine per request as it was never designed for extremely long load tests such as the one you're doing.
By curiosity, what are you expecting to learn from a load test with this sort of parameters?
from vegeta.
thanks I'll try with workers and get back to you.
Our app uses a library calling a 3rd party API, it keep the response data in our app memory and expires after a certain amount of hours. I wanted to monitor the refetching process under load. Ideally the library would store data on a key value cache that I could manually flush.
from vegeta.
@agenteo: Any interesting results to share?
from vegeta.
Preamble, I am running this off a Macbook pro 2.6GHz i7 OSX 10.9.5 waiting for my devops to provide an EC2 instance.
I started the following attack:
vegeta attack -targets=vegeta_test_plan_dev.txt -workers=1000 -duration=360m -rate=20 > results_$(date +%Y%m%d_%H%M%S)_dev_loadtest.bin
the file has ~2000 URLs. My expectation was for the test to be running for 6 hours. I left this running Friday afternoon.
Today, Monday I did not see any goroutine output but the script was still running. When I looked at my app I did not see traffic, so I CTRL-C vegeta and looked at the report. It said it was running for 63 hours:
Requests [total] 78784
Duration [total, attack, wait] 63h4m54.147124256s, 63h4m54.100175493s, 46.948763ms
Latencies [mean, 50, 95, 99, max] 6.117199907s, 93.874484ms, 592.261451ms, 61h59m16.388871571s, 61h59m16.388871571s
Bytes In [total, mean] 4942771740, 62738.27
Bytes Out [total, mean] 0, 0.00
Success [ratio] 96.84%
Status Codes [code:count] 200:76291 505:780 404:40 0:1673
Opening the report plot I can see after 3800 seconds the red error line takes over.
I had this once before, this time I turned off HD power savings, power nap from my Mac. I asked for an EC2 instance where I'd like to run those tests I have a hunch this might be OSX related but I'll have to wait for the EC2 instance to confirm that.
I understand stretching tests for this long wasn't the design of vegeta but I appreciate you following this one up. Do you get any of this behavior when you load test for this long?
from vegeta.
What I can understand from the data you provided is that some requests never get a response. Vegeta doesn't timeout requests by default so it will wait forever in your case. It seems you would benefit from setting the -timeout
option on your load test.
from vegeta.
I see, I'll try that overnight and update this.
from vegeta.
Actually I think we can close this one, --workers
fixes the output issue I'll open a new one about long running tests going to sleep. Thanks
from vegeta.
Related Issues (20)
- Prometheus + Grafana Integration not working HOT 3
- Immediately stop vegeta while using go client HOT 4
- Add support for HAProxy ProxyProtocol
- I am getting a lot of HTTP zero in the results, how can I troubleshoot it?
- Latency is not being reported correctly on windows.
- How to change x-axis for the vegeta realtime?
- Why canβt I test this local custom domain name mapping service?
- ipv6 is being used on a client machine when not supported HOT 3
- Can the latest version be published on Go packages? HOT 1
- Officially call json input format JSON Lines? HOT 1
- keepalive flag isnt working HOT 6
- Limiting total number of requests HOT 4
- vegeta unable to write to files with -output
- TCP sockets opened lower than requested number of connections HOT 4
- Running "easyjson": exec: "easyjson": executable file not found in $PATH on ubnutu 22.04 HOT 1
- can vegeta do the performance test to a RPC methond request
- Dynamic Pacing / Rate? HOT 2
- Support curl's --connect-to parameter HOT 1
- Disabling dns cache with dns-ttl doesn't seem to work
- Troubleshoot mTLS certificates
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vegeta.