Questions tagged [wrk]

wrk - a HTTP benchmarking tool

wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue.

An optional LuaJIT script can perform HTTP request generation, response processing, and custom reporting.

40 questions
39
votes
4 answers

POST request with wrk?

I started to try wrk. It's very simple to use and very hard on the server, but I don't know how to perform other kind of request such as POST. In fact, I don't even know if this tool allows it. The documentation is very minimal. Thanks
jackdbernier
  • 1,542
  • 1
  • 17
  • 32
23
votes
3 answers

Load Testing and Benchmarking With siege vs wrk

I have been looking around for tools that can help me to do load testing and benchmarking. I found a couple like: https://github.com/wg/wrk http://www.joedog.org/siege-home/ https://github.com/rakyll/boom I'm wondering if anyone has any experience…
Nam Nguyen
  • 5,668
  • 14
  • 56
  • 70
5
votes
1 answer

wrk how to install additional lua modules

I am using mac OSX. I have Lua installed through brew and Luarocks. I have the lua sockets package installed too. When I call local http = require("socket") from the terminal lua command line interface, the module loads fine. However when I include…
Sakib
  • 1,503
  • 4
  • 26
  • 39
4
votes
3 answers

How to find out the errors behind a lot of non-2xx or 3xx responses when load testing nginx reverse proxy with wrk

We are doing some test with NGINX as reverse proxy in front of two NGINX sample web servers. The tool being used in our tests is wrk. The web servers' configuration are very simple. Each of them has a static page (similar to default welcome page)…
aLuViAn
  • 312
  • 3
  • 16
4
votes
0 answers

wrk tool- How to pass multipart/form-data to wrk.format function

I am trying to use wrk for https request generation. How do I pass multipart/form-data request to wrk.format function. My request looks like Accept: application/json Content-Type: multipart/form-data;…
user842122
  • 295
  • 2
  • 4
  • 18
4
votes
1 answer

WRK benchmark: Please explain results

I'm trying to perform benchmark blocking vs non-blocking io. As a blocking, I use spring-boot. As a non-blocking - play framework. I Call endpoint which makes 4 remote calls (sequentially) Here are results: Spring boot Running 5m test @…
Teimuraz
  • 8,795
  • 5
  • 35
  • 62
4
votes
2 answers

What's the different between Req/Sec and Requests/sec in wrk result?

I am trying wrk, and got these results: wrk -t8 -c200 -d60s --latency http://www.baidu.com Running 1m test @ http://www.baidu.com 8 threads and 200 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.19ms 36.58ms …
xin zhao
  • 600
  • 2
  • 11
4
votes
1 answer

Is there a way to pass parameters to GET request using wrk?

I need to benchmark a REST API that takes parameters as input. I wondering if there is a way to do it using wrk. Right now I don't see such an option: user@Ubuntu-K56CA:~/wrk$ ./wrk Usage: wrk Options: …
Akavall
  • 82,592
  • 51
  • 207
  • 251
3
votes
1 answer

wrk executing Lua script

My question is that when I run wrk -d10s -t20 -c20 -s /mnt/c/xxxx/post.lua http://localhost:xxxx/post the Lua script that is only executed once? It will only put one item into the database at the URL. -- example HTTP POST script which demonstrates…
dawson
  • 71
  • 1
  • 8
2
votes
0 answers

What are diffrences between wrk2 and Apache Benchmark (i.e. ab) tools?

Are there any significant difference between wrk2 and Apache's Benchmark (i.e. ab) for testing multi-threaded requests? If there are what are they? I'm asking this based on this answer and as I have to test Java RESTful Service Web CRUD app written…
NikolaS
  • 503
  • 2
  • 8
  • 20
2
votes
1 answer

wrk is displaying odd results on Rack vs Sinatra benchmark

I'm benchmarking a "hello world" equivalent using sinatra and rack. Command in question wrk -t12 -c400 -d30s: 12 threads, 400 open HTTP connections, 30 seconds. Rack: require 'rack' app = Proc.new do |env| ['200', {'Content-Type' =>…
dsp_099
  • 5,801
  • 17
  • 72
  • 128
1
vote
1 answer

Using wrk to test a sequence of requests

I'm currently trying to stress-test a web application that allows simple user login, logout and other functionalities with wrk but am really struggling to correctly write a script that allows me to chain multiple requests together. For example, I'd…
ChairmanMeow
  • 132
  • 5
1
vote
0 answers

Mutex in WRK lua script

I have the following script in Lua (custom.lua): local data = loadFile() local count = -1 request = function() url_path = "/resource" -- lock count count += 1 local arrayIndex = count -- unlock count local headers = {…
Thiago Hora
  • 101
  • 1
  • 9
1
vote
2 answers

wrk with lua script - generating multiple POST requests with different body

I wrote some lua script for wrk to generate multiple POST requests. My problem is that my script is working only for the first request. All further generated requests are exactly the same as the first one. I would like that user variable will be new…
panigale
  • 11
  • 1
  • 5
1
vote
1 answer

Comparing application performance between CPU architectures

I have a Java Servlet based application running on Apache Tomcat on two different machines with similar hardware (RAM, SSD disk, network interface and bandwidth) but different CPU architectures: x86_64 Architecture: x86_64 CPU op-mode(s): …
1
2 3