Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Artillery produces ETIMEDOUT error when load testing nginx pseudo-streaming videos #2701

Open
Andreas-Ts opened this issue May 3, 2024 · 0 comments

Comments

@Andreas-Ts
Copy link

Hello,
We are using artillery to load test a simple nginx web server that playbacks a video to the user with pseudo-streaming, progressive download with the ability to send a request at the middle of the video if the user chooses it, using the mp4 module http://nginx.org/en/docs/http/ngx_http_mp4_module.html. We want to test the performance of using one Docker container vs using multiple pods at Kubernates. We would use a streaming technique, but we just want to test the increased performance that the replica sets have in serving static content, and it is a bit complex to implement HLS without the paid version of NGINX.

It works normally when we tested it on our own broswers, but when we ran tests for a small number of users (30 users in 60 seconds), almost all of the requests had the ETIMEDOUT error. We increased the timeout timer, but it didn't improve much. It could respond even with apdex.frustrated for small videos under 100 megabytes, but over that size and without a byte limit, most of them did produce the ETIMEDOUT error. We have tried the wait command, but it didn't work. For testing purposes, we have disable cache.

In normal conditions, waiting more than 10 seconds for a web page wouldn't make sense, but in progressive download, where the user will start watching the video before the video loads completely, we also use a maximum buffer size, and a large waiting time is expected.
How can we use Artillery to load test the web server without having to use the start and end parameters or the byte range to cut the video?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant