stefanocasazza / ULib

C++ application development framework, to help developers create and deploy applications quickly and simply
GNU Lesser General Public License v3.0
947 stars 107 forks source link

Benchmarking "problem" #44

Closed unisqu closed 6 years ago

unisqu commented 6 years ago

I did benchmark with wrk

wrk -c 10000 -d 10 -t 4 http://172.17.0.33/upload


Results


Running 10s test @ http://172.17.0.33/upload 4 threads and 10000 connections Thread Stats Avg Stdev Max +/- Stdev Latency 5.46ms 4.89ms 124.78ms 95.82% Req/Sec 15.59k 5.59k 27.59k 68.18% 614353 requests in 10.07s, 170.49MB read Socket errors: connect 0, read 8257, write 0, timeout 0 Requests/sec: 61024.54 Transfer/sec: 16.94MB

"Errors" generated. Seems like some "read" is dropped/failed? Is this normal?

How do I make wrk run to complete all requests made? I've already made whitelist userver.cfg for my IP.


userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) ::recv(10,0x7faa81f8a000,8192,0) = -1 - ECONNRESET (104, Connection reset by peer) userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16560) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16560) ::recv(10,0x7faa81f8a000,8192,0) = -1 - ECONNRESET (104, Connection reset by peer) userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: DEBUG: 21/12/17 17:57:11 (pid 16558) It has returned below the client threshold(86): preallocation(129) num_connection(84) userver_tcp: DEBUG: 21/12/17 17:57:11 (pid 16558) It has passed the client threshold(86): preallocation(129) num_connection(85) userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16558) ::recv(11,0x7faa81f8a000,8192,0) = -1 - ECONNRESET (104, Connection reset by peer) userver_tcp: DEBUG: 21/12/17 17:57:11 (pid 16558) It has returned below the client threshold(86): preallocation(129) num_connection(84) userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16561) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16559) Polling mode suspect: cround = 2 nothing = 85 num_connection = 85 userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16561) ::recv(10,0x7faa81f8a000,8192,0) = -1 - ECONNRESET (104, Connection reset by peer) userver_tcp: DEBUG: 21/12/17 17:57:11 (pid 16561) It has returned below the client threshold(86): preallocation(129) num_connection(84) userver_tcp: DEBUG: 21/12/17 17:57:11 (pid 16560) It has returned below the client threshold(86): preallocation(129) num_connection(84) userver_tcp: DEBUG: 21/12/17 17:57:11 (pid 16561) It has passed the client threshold(86): preallocation(129) num_connection(85) userver_tcp: WARNING: 21/12/17 17:57:11 (pid 16561) ::recv(11,0x7faa81f8a000,8192,0) = -1 - ECONNRESET (104, Connection reset by peer)

stefanocasazza commented 6 years ago

Hi, as I have said before the benchmark tests are better with a nodebug version...