profile
viewpoint

wg/epgsql 322

Erlang PostgreSQL client

wg/arc 237

secure file archiver

wg/lettuce 221

Scalable Java Redis client

wg/jacks 49

Jackson module for Scala

wg/keys 32

Secure credential storage

wg/crypto 18

High-performance cryptography for the JVM

wg/quirc-rs 11

Rust QR code decoder

wg/irongate 7

A rusty SSH scan blocker

wg/codec 5

Java binary data codecs

wg/c20p1305 4

ChaCha20 + Poly1305

issue closedwg/wrk

Segfault when trying to build wrk

Hi I am trying to build wrk on MacOS Catalina 10.15.2 and it segfaults when trying to build luajit:

(base) Tim-Foxs-MBP15:wrk tfox$ make WITH_OPENSSL=/usr/local/opt/openssl
Building LuaJIT...
==== Building LuaJIT 2.1.0-beta3 ====
/Library/Developer/CommandLineTools/usr/bin/make -C src
BUILDVM   lj_folddef.h
make[2]: *** [lj_folddef.h] Segmentation fault: 11
make[2]: *** Deleting file `lj_folddef.h'
make[1]: *** [src/luajit] Error 2
make: *** [obj/lib/libluajit-5.1.a] Error 2

Any ideas how to get past this? I installed luajit freshly from homebrew and I have a fresh xcode developer tools install.

closed time in 10 days

purplefox

issue commentwg/wrk

Segfault when trying to build wrk

Perhaps this is the same issue as https://github.com/wg/wrk/issues/422 and fixed by a newer XCode?

purplefox

comment created time in 10 days

issue commentwg/wrk

Build fails on MacOS 10.15

Thank you @NyanKiyoshi!

sanderdekoning

comment created time in 10 days

issue closedwg/wrk

Build fails on MacOS 10.15

Screenshot 2020-03-26 at 11 20 16

wrk cannot be build on MacOS 10.15, is there anything I can do to resolve this issue? Seems to be LuaJIT related

closed time in 10 days

sanderdekoning

issue closedwg/wrk

Prometheus support

Hello, we love this project and want to see the metrics in prometheus, is there a plan for support it?

closed time in 10 days

axot

issue commentwg/wrk

Prometheus support

Hi @axot, there is no plan but you may be able to write a custom reporting script.

axot

comment created time in 10 days

issue closedwg/wrk

Wrk uses all cpu cores at 100% if the target quit

For example, start nginx and use wrk to press test nginx, then kill nginx.

Then wrk becomes 100% on every cpu cores.

closed time in 10 days

Lix900

issue closedwg/wrk

How to assert response code or body

How can i make a post request and assert the response code or body? Could you please help? Or may be share an example of lua script to use?

closed time in 10 days

MrPingPong

issue commentwg/wrk

How to assert response code or body

@MrPingPong you can write a custom reporting script that counts failures and outputs them in the final report.

MrPingPong

comment created time in 10 days

issue closedwg/wrk

How to define a global variable to count the number of response failures and print in done

local fail_count = 0

function response(status, headers, body)
    if status > 399 then
        print("request fail http code:", status)
    else
        sr, ed = string.find(body, wrk_validate_rules)
        if (not sr) then
            fail_count = fail_count + 1
        end
    end
end

function done(summary, latency, requests)
    print("response fail: ", fail_count)
end

6 failed, but the result is 0

What should I do?

closed time in 10 days

liugangabc

issue closedwg/wrk

not support 5.3 with redis-lua

WRK2 only working with 5.1 lua + redis-lua + luasocket

/usr/local/opt/lua@5.1

-- 550 luarocks remove redis-lua -- 551 luarocks remove luasocket

-- 552 luarocks install redis-lua --local --lua-dir=/usr/local/opt/lua@5.1 -- 553 luarocks install luasocket --local --lua-dir=/usr/local/opt/lua@5.1 -- luarocks --lua-dir=/usr/local/opt/lua@5.1 install say

closed time in 10 days

bochuxt

issue commentwg/wrk

not support 5.3 with redis-lua

This is not a forum for discussing wrk2 issues.

bochuxt

comment created time in 10 days

issue closedwg/wrk

Unstable results for benchmarking

Hi,

I'm testing wrk locally on Nginx that is running on a Docker container locally on my MAC. The results of the same testing get me different results every time.

160 seconds | 90 seconds | 60 seconds | 30 seconds | 10 seconds

35.17ms | 37.73ms | 20.29ms | 18.92ms | 38.39ms 42.97ms | 27.22ms | 19.13ms | 43.63ms | 46.71ms 17.52ms | 28.90ms | 49.97ms | 55.13ms | 3.32ms 33.31ms | 36.57ms | 40.13ms | 42.38ms | 46.98ms 26.92ms | 32.88ms | 26.22ms | 54.40ms | 3.34ms 35.63ms | 29.21ms | 47.64ms | 31.21ms | 36.15ms

The command I used is:

for i in {1..6}; do docker pause $(docker ps -q) && docker kill $(docker ps -q) && docker run -p 8000:80 -d nginx && sleep 5 && wrk -t10 -c10 -d160 http://127.0.0.1:8000/index.html --latency | grep Latency | head -n 1 | awk '{print $2}'; done

Knowing that I have enabled 10 cores for Docker for testing.

I pretty much got the same non-stable output in my testing in an EC2 instance.

closed time in 10 days

laith-leo

issue commentwg/wrk

Unstable results for benchmarking

Setting up a stable system for more reproducible results is a big topic and I don't think this is the proper forum for it. But to start you can look into disabling CPU frequency scaling in an EC2 instance so your CPU runs at a fixed rate regardless of load. I wouldn't expect much stability out of Docker for Mac which runs a full VM with a bunch of processes in addition to all the background processes on your Mac.

laith-leo

comment created time in 10 days

issue closedwg/wrk

Unable to use openssl.cipher in LUA

my code snippet: local cipher = require("openssl.cipher") c = cipher.new("AES-128-CBC") Result: bad argument #1 to 'new' (AES-128-CBC: invalid cipher type)

When I run this script with LuaJit (using luaopenssl), it works Does WRK not support Cipher Names but rather needs the Key? If so, where can I find the keys?

closed time in 10 days

Subtalime

issue commentwg/wrk

Unable to use openssl.cipher in LUA

wrk's Lua environment does not include any libraries so this will be something specific to your environment that I cannot assist with.

Subtalime

comment created time in 10 days

issue closedwg/wrk

Incorrect latency

Hi,

I built wrk from source today and ran it on Ubuntu 18.04 against a locally started nginx, serving a static index.html from a Docker container, exposing it via a port mapping.

I am getting latency results that don't seem to make sense.

Here some further details. I ran two tests - each with the same setting of a single connection, single thread and a one second test interval. Here are the results:

Running 1s test @ http://localhost:8000
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.04ms   20.33ms 117.18ms   92.42%
    Req/Sec     5.07k     1.84k    6.70k    90.00%
  5047 requests in 1.00s, 3.34MB read
Requests/sec:   5043.27
Transfer/sec:      3.34MB

chris@chris-VirtualBox:~/dev/tmp$ wrk -d 1 -c 1 -t 1 http://localhost:8000
Running 1s test @ http://localhost:8000
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   487.51us    1.52ms  16.33ms   95.60%
    Req/Sec     5.03k     0.97k    6.15k    54.55%
  5504 requests in 1.10s, 3.65MB read
Requests/sec:   5006.85
Transfer/sec:      3.32MB

As you see, the first test reports a latency of 6.04ms with a total of 5043 requests served in the test interval. Meanwhile, the second test reports a latency of only 487us (so less than a tenth of test 1's latency), yet also claiming to have performed a total of 5504 requests.

This is impossible with a single thread and non-interleaving requests - ie. if we assume a request was only issued on receiving the response of the previous request, as was specified via the -t 1 option. If the number of the requests served is roughly the same, so should be the request latency, given a single thread and connection.

Maybe I am misinterpreting these numbers. Your feedback is appreciated.

Thanks Christian

closed time in 10 days

chrisgleissner

issue commentwg/wrk

Incorrect latency

The latency numbers you're reporting are averages, which likely don't describe the actual distribution well, see https://www.infoq.com/interviews/tene-latency/ and try --latency to get a percentile breakdown.

chrisgleissner

comment created time in 10 days

issue closedwg/wrk

wrk mark 报错

CC src/wrk.c CC src/net.c CC src/ssl.c CC src/aprintf.c CC src/stats.c CC src/script.c CC src/units.c CC src/ae.c CC src/zmalloc.c CC src/http_parser.c LUAJIT src/wrk.lua /bin/sh: Fusion.app/Contents/Public: No such file or directory make: *** [obj/bytecode.o] Error 127

请问一下是什么原因导致的

closed time in 10 days

XL-VII

issue commentwg/wrk

wrk mark 报错

See https://github.com/wg/wrk/pull/368.

XL-VII

comment created time in 10 days

issue closedwg/wrk

[question] wrk support http2.0 ?

i think wrk don't support http2.0 protocol, i wonder when wrk can support http2.0 benchmark.

thank u

closed time in 10 days

rfyiamcool

issue commentwg/wrk

[question] wrk support http2.0 ?

HTTP/2 support in wrk is unlikely at this point.

rfyiamcool

comment created time in 10 days

issue closedwg/wrk

can't increase RPS with more threads or more connections

I have Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz

try 1: firstly I run with wrk -t4 -c500 -d30s, and it gives me the result

Running 30s test @ http://localhost:5023/jsonrpc/internal.acquire_s3_read_lock
  4 threads and 500 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   129.92ms  389.76ms   5.46s    97.07%
    Req/Sec   251.85    102.04   515.00     70.43%
  Latency Distribution
     50%   64.03ms
     75%   76.02ms
     90%  104.03ms
     99%    2.14s 
  30046 requests in 30.04s, 5.28MB read
  Socket errors: connect 0, read 0, write 0, timeout 8
Requests/sec:   1000.17
Transfer/sec:    179.86KB

I got about 1000 RPS, and I want to increase the load. If I understand it correctly, RPS increase is almost linear with connection number, maybe with some overhead.

try 2: then I run wrk -t4 -c1000 -d30s, increasing connections from 500 to 1000, and I got

Running 30s test @ http://localhost:5023/jsonrpc/internal.acquire_s3_read_lock
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   109.84ms  313.49ms   5.50s    97.83%
    Req/Sec   252.22     88.41   464.00     62.46%
  Latency Distribution
     50%   64.02ms
     75%   76.05ms
     90%  107.98ms
     99%  928.02ms
  30060 requests in 30.05s, 5.28MB read
  Socket errors: connect 0, read 0, write 0, timeout 4
Requests/sec:   1000.30
Transfer/sec:    179.88KB

RPS is still 1000, I'm confused about this result. Here is my guess, connections are distributed to each thread, and inside one thread switching over connections has overhead, and 250 conn for one thread already max out its capacity considering the overhead, so 500conn to 1000conn didn't give me any higher RPS?

try3: then I tried wrk -t2 -c1000 -d30s If what I'm guessing above is true, reducing to 2 threads should almost cut the RPS to half, but I still got 1000RPS

Running 30s test @ http://localhost:5023/jsonrpc/internal.acquire_s3_read_lock
  2 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   108.70ms  345.66ms   9.91s    98.29%
    Req/Sec   534.52    137.42   808.00     62.04%
  Latency Distribution
     50%   63.99ms
     75%   75.95ms
     90%  100.05ms
     99%    1.08s 
  31838 requests in 30.05s, 5.59MB read
  Socket errors: connect 0, read 0, write 0, timeout 1
Requests/sec:   1059.55
Transfer/sec:    190.56KB

so it seems that each thread doesn't reach his max capacity?

So wrk has some internal cap for the rate or am I missing some parameter to tune this? I'm wondering if it's possible to generate like 10k RPS load with my machine

closed time in 10 days

liuzqt

issue commentwg/wrk

can't increase RPS with more threads or more connections

Hi @liuzqt, I would suggest you start with 1 thread and 1 connection and then gradually raise the number of connections and threads until the client or server seems saturated. Benchmarking HTTP servers is more of an art than a science, there's a lot of moving parts and bottlenecks tend to be unique to a particular setup.

liuzqt

comment created time in 10 days

issue closedwg/wrk

master branch compilation error

I tried to compile the source code and make it work under Windows 10 Cygwin (both x86 and 64), I receive the same error, please find the logs below. Thanks a lot, Cristi

error log <<<<<

CC src/wrk.c src/wrk.c: In function ‘main’: src/wrk.c:130:12: error: variable ‘sa’ has initializer but incomplete type 130 | struct sigaction sa = { | ^~~~~~~~~ src/wrk.c:131:10: error: ‘struct sigaction’ has no member named ‘sa_handler’ 131 | .sa_handler = handler, | ^~~~~~~~~~ src/wrk.c:131:23: warning: excess elements in struct initializer 131 | .sa_handler = handler, | ^~~~~~~ src/wrk.c:131:23: note: (near initialization for ‘sa’) src/wrk.c:132:10: error: ‘struct sigaction’ has no member named ‘sa_flags’ 132 | .sa_flags = 0, | ^~~~~~~~ src/wrk.c:132:23: warning: excess elements in struct initializer 132 | .sa_flags = 0, | ^ src/wrk.c:132:23: note: (near initialization for ‘sa’) src/wrk.c:130:22: error: storage size of ‘sa’ isn’t known 130 | struct sigaction sa = { | ^~ src/wrk.c:134:5: warning: implicit declaration of function ‘sigfillset’ [-Wimplicit-function-declaration] 134 | sigfillset(&sa.sa_mask); | ^~~~~~~~~~ src/wrk.c:135:5: warning: implicit declaration of function ‘sigaction’ [-Wimplicit-function-declaration] 135 | sigaction(SIGINT, &sa, NULL); | ^~~~~~~~~ src/wrk.c:130:22: warning: unused variable ‘sa’ [-Wunused-variable] 130 | struct sigaction sa = { | ^~ src/wrk.c: In function ‘connect_socket’: src/wrk.c:241:21: error: invalid use of undefined type ‘struct addrinfo’ 241 | fd = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol); | ^~ src/wrk.c:241:38: error: invalid use of undefined type ‘struct addrinfo’ 241 | fd = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol); | ^~ src/wrk.c:241:57: error: invalid use of undefined type ‘struct addrinfo’ 241 | fd = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol); | ^~ src/wrk.c:246:25: error: invalid use of undefined type ‘struct addrinfo’ 246 | if (connect(fd, addr->ai_addr, addr->ai_addrlen) == -1) { | ^~ src/wrk.c:246:40: error: invalid use of undefined type ‘struct addrinfo’ 246 | if (connect(fd, addr->ai_addr, addr->ai_addrlen) == -1) { | ^~ In file included from src/main.h:4, from src/wrk.c:5: src/wrk.c: In function ‘print_units’: src/wrk.c:554:20: warning: array subscript has type ‘char’ [-Wchar-subscripts] 554 | if (isalpha(msg[len-1])) pad--; | ~^~~~~ src/wrk.c:555:20: warning: array subscript has type ‘char’ [-Wchar-subscripts] 555 | if (isalpha(msg[len-2])) pad--; | ~^~~~~ make: *** [Makefile:72: obj/wrk.o] Error 1

closed time in 10 days

cristigirbovan

issue commentwg/wrk

master branch compilation error

Hi @cristigirbovan, I wouldn't expect wrk to run under cygwin. You might try WSL since it seems to provide more of a full Unix environment.

cristigirbovan

comment created time in 10 days

created tagkentik/pkg

tagv1.0.0-rc6

Build Linux packages

created time in 2 months

push eventkentik/pkg

Will

commit sha 13ea0d5a46412aa049891904fabf65384867fc7b

fix conffile bug in nfpm

view details

push time in 2 months

push eventkentik/nfpm

Will

commit sha b30b78b4a5d5fd3aaa680176f6f3239079931434

remove attributes from config files

view details

push time in 2 months

push eventkentik/actions

Will

commit sha 784d8e6f53febe8b2bc7062646bb764852ee1b45

initial import

view details

push time in 2 months

create barnchkentik/actions

branch : master

created branch time in 2 months

created repositorykentik/actions

GitHub Actions

created time in 2 months

create barnchkentik/notarize

branch : master

created branch time in 3 months

created repositorykentik/notarize

created time in 3 months

push eventwg/pqcrypto

Will

commit sha 583e2e1ae353d6a4ee6212fd950cdbe91a470724

build & test all features

view details

push time in 3 months

push eventwg/pqcrypto

Thom Wiggers

commit sha 59c46f7e97764a5c632c00a3970d1cc1c94956a2

Add github actions

view details

Thom Wiggers

commit sha 88c7c496c0e36786c48f277b505e0f5e1f6a8ad0

Checkout submodules

view details

Thom Wiggers

commit sha 92e34251def3aa97971342db846d72376af6c973

increase stack size

view details

push time in 3 months

push eventwg/pqcrypto

Thom Wiggers

commit sha ff5d1778cf92c9168dc773e5b24a1f0c16016c91

Add HQC

view details

Thom Wiggers

commit sha 6d772d53250e533cbb0012c099b6856baa933e12

increment pqcrypto main crate

view details

Thom Wiggers

commit sha 7632dd98251d32635bfdecb3974af22fc45554e0

Make paths more resilient for Windows (#9)

view details

Thom Wiggers

commit sha e6c7a21fba22df9c720a80ca2a3418077a48834d

fixup! Make paths more resilient for Windows (#9)

view details

Thom Wiggers

commit sha 7be6f0ec8536afc767e57c45ab7ec140a7ca22ab

Make build flags support MSVC

view details

Thom Wiggers

commit sha 61a2faf2b39f11ff13f68d5130d56c18be5a3c86

Update Frodo

view details

Thom Wiggers

commit sha 60ddf84e5419a717e65418156bc25035abc6f708

Update MQDSS

view details

Thom Wiggers

commit sha 5992e3872cce3c015f51cf500725441bde35a539

MQDSS warrants a full new release

view details

Thom Wiggers

commit sha 4b8e52dfd8acf2e284054ef1856faa37d4864f73

Allow to mark algorithms insecure

view details

Thom Wiggers

commit sha ccbef0670c2b8215bf5da27c1c5383468f795f18

Add deprecation to insecure algorithms

view details

Thom Wiggers

commit sha 77571b655e5dd053e9a822723dff8ebeb268fd4b

Add all-features

view details

Thom Wiggers

commit sha 59c46f7e97764a5c632c00a3970d1cc1c94956a2

Add github actions

view details

Thom Wiggers

commit sha 88c7c496c0e36786c48f277b505e0f5e1f6a8ad0

Checkout submodules

view details

Thom Wiggers

commit sha 92e34251def3aa97971342db846d72376af6c973

increase stack size

view details

push time in 3 months

fork wg/pqcrypto

Rust Post-Quantum cryptography

fork in 3 months

startedrustpq/pqcrypto

started time in 3 months

startedPQClean/PQClean

started time in 3 months

startedwg/wrk

started time in 3 months

more