Our great sponsors
wrk | jester | |
---|---|---|
36 | 10 | |
36,595 | 1,536 | |
- | - | |
0.0 | 5.0 | |
3 months ago | 2 months ago | |
C | Nim | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wrk
-
Ruby on Rails load testing habits
> My initial requirement was to send requests with unique parameters. To the best of my knowledge, no tool could do this.
wrk does this with lua. https://github.com/wg/wrk/blob/master/src/wrk.lua
Also even things like the venerable jmeter supported pulling parameters from a csv file.
-
Running a Billion Workflows a month with Netflix Conductor
We used wrk2, a fantastic tool to generate stable load on the server. Wrk2 improves on wrk and adds the ability to generate sustained load at a specific rate (-R parameter).
-
Grasshopper – An Open Source Python Library for Load Testing
We use locust at work but I HIGHLY recommend wrk for a very robust yet simple load testing tool.
And of course, this talk by Gil Tene is fantastic if you're interested in load testing stats https://www.youtube.com/watch?v=lJ8ydIuPFeU
-
What tools you use for http load testing?
Good morning what tool do you use to test your infra in terms of http load ? A tool that works, I tested : - https://github.com/tsenart/vegeta but it returns 0 errors or a http_net error from Golang - LOIC (Low Orbit Ion Canon) https://github.com/NewEraCracker/LOIC but the requests do not appear in my nginx logs and I feel no slowdown - Apache Jmeter https://jmeter.apache.org/ but I can't drop my infra and I have Java socket closed errors - K6 https://k6.io/ but I can't bring down my infra with - wrk https://github.com/wg/wrk no matter what parameter I put it doesn't make enough requests per second, I put the same parameters as on a tutorial and I don't get the same result...
-
My Rust server on a $20 VPS handles 10k requests per second with no caching. Is it just me or is that crazy ?
You could try to just blast it with wrk or bombardier. Can easily get around 50k requests on consumer machine.
-
[2023] Nginx proxy_pass to apache mod_php VS nginx proxy_pass to apache php-fpm vs nginx php-fpm
Sure, first I did the load testing on the same machine. The same machine ran web servers, php-fpm and ab / wrk programs.
-
a tool for quickly creating web and microservice code
Using the wrk tool to pressure test the api
-
Denial of Wallet Attacks: The new (D)DoS in a Serverless world
Here is what it takes to inflict $$$ damages to a service using "serverless functions" under the hood, with wrk:
-
Node.js Cluster vs Axum, a.k.a. yet another benchmark :)
The benchmark is a simple "hello world" server that returns a JSON response. Server frameworks are correspondingly Fastify for Node and Axum for Rust. Both were running on my laptop (specs should not matter, IMHO, as this is not about absolute numbers). Test load was provided by wrk that was running on the same machine.
-
Protocol Buffer x JSON para serialização de dados
Testes usando a ferramenta WRK para fazer requests simultâneos nas rotas e comparar quantos requests por segundo a API suporta
jester
- Nim v2.0 Released
- Ask HN: Should I learn more languages?
- Setup a Website with Nim
-
Nim Version 1.6 Released
How to run those benchmarks?
At that Nim release page:
https://nim-lang.org/blog/2021/10/19/version-160-released.ht...
Is link to this benchmark:
https://web-frameworks-benchmark.netlify.app/result
Where nim is 2nd with 200k req/s, but it is using httpbeast:
https://github.com/dom96/httpbeast
That says it would be more useful to use jester:
https://github.com/dom96/jester
Jester has 150k req/s.
But, when looking at these:
https://www.techempower.com/benchmarks/
dragon, actix etc has about 600k req/s .
Also redbean has about 600k req/s, when I tested:
I tested like this:
git clone https://github.com/wg/wrk.git
cd wrk
./wrk -H 'Accept-Encoding: gzip' -t 12 -c 120 http://127.0.0.1:8080/
When I tested https://caddyserver.com v2, it did show about 800k req/s.
It would be very helpful to know how those benchmarks are actually done, so that I could compare what is actually fastest in real world, and not just use some for benchmark tested winning non-realistic code.
Well no language is perfect, but Nim can be used in almost every domain because of it's compilation targets(C, C++, JS) and it's fast compile times(who needs interpretation when compile times are that fast!):
* Shell scripting, I still assume most people will just use Bash tho: https://github.com/Vindaar/shell
* Frontend: https://github.com/karaxnim/karax or you could bind to an existing JS library.
* Backend: For something Flask-like: https://github.com/dom96/jester or something with more defaults https://github.com/planety/prologue
* Scientific computing: the wonderful SciNim https://github.com/SciNim
* Blockchain: Status has some of the biggest Nim codebases currently in production https://github.com/status-im?q=&type=&language=nim&sort=
* Gamedev: Also used in production: https://github.com/pragmagic/godot-nim and due to easy C and C++ interop, you get access to a lot of gamedev libraries!
* Embedded: this is a domain I know very little about but for example https://github.com/elcritch/nesper or https://github.com/PMunch/badger for fun Nim+embedded stuff!
Most of the disadvantages come from tooling and lack of $$$ support.
-
Jester and forms
See https://github.com/dom96/jester/blob/master/tests/alltest.nim#L105 and for a simpler syntax you can use the same @ as with params in the URL, so just:
What are some alternatives?
wrk2 - A constant throughput, correct latency recording variant of wrk
prologue - Powerful and flexible web framework written in Nim
siege - Siege is an http load tester and benchmarking utility
grpcurl - Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
karax - Karax. Single page applications for Nim.
nvim-treesitter-textobjects
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
nvim-treesitter-textobjec
prometheus - The Prometheus monitoring system and time series database.
nimbus-eth2 - Nim implementation of the Ethereum Beacon Chain