shell
wrk2
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.
shell
-
GNU Parallel, where have you been all my life?
On Unix, you might try Nim (https://nim-lang.org) with https://github.com/Vindaar/shell and there are a slew of pipeline-y/Unix-y utilities over at https://github.com/c-blake/bu
Nim is statically typed and (generally) native-compiled, but it has very low ceremony ergonomics and a powerful compile-time macro/template system as well as user-defined operators (e.g., you can use `+-` to make a constructor for uncertain values so that `9 +- 2` builds a typed object.
-
Nim Version 1.6 Released
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.
wrk2
-
GNU Parallel, where have you been all my life?
> This runs a benchmark for 30 seconds, using 2 threads, keeping 100 HTTP connections open, and a constant throughput of 2000 requests per second (total, across all connections combined).
Some distros include `ab`[2] which is also good, but wrk2 improves on it (and on wrk version 1) in multiple ways, so that's what I use myself.
[1] https://github.com/giltene/wrk2
[2] https://httpd.apache.org/docs/2.2/programs/ab.html
-
Ask HN: What do you use to stress test your web application?
I've had my eyes on wrk2 [1]
1. https://github.com/giltene/wrk2
But I am curious, what does HN use? Any tips?
-
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).
-
How does one answer performance related questions such as these for a web API?
I use tools like vegeta and wrk2 to answer those questions.
-
Your load generator is probably lying to you
Needs (2015).
I loved the talks from Gil Tene.
I always reach for his fork of wrk whenever I need to test throughput:
https://github.com/giltene/wrk2
-
what is faster the template engine tera or PHP. is there any template engines for rust faster than PHP
That's why a lot of people just use something like wrk or wrk2 (highly recommended to run it on a separate machine) and benchmark the ability to serve actual requests.
-
PHP preload VS running as a daemon (benchmarks)
To get the most out of preload, I preloaded all files that the experimental endpoint needs to include. As a benchmarking tool, I use wrk2 — a more advanced Apache Benchmark analog — to keep it simple and provide more flexibility to generate loads similar to a real-life one.
-
Ask HN: Do you load test your applications? If so, how?
i use https://github.com/giltene/wrk2 pretty regularly.
it has decent lua hooks to customize behavior but i use it in the dumbest way possible to hammer a server at a fixed rate with the same payload over and over.
i run it by hand after a big change to the server to make sure nothing obviously regressed. i used to run it nightly in a jenkins job but 99% of the time no one looked at results. it was nice to see if assumptions on load a single node could handle didn't hold anymore.
- Wrk2: A constant throughput, correct latency recording variant of wrk
-
3 Benchmarking/load testing tools for different use cases
I use wrk2 because it overcomes coordinated omission.
What are some alternatives?
treesitter-unit - A Neovim plugin to deal with treesitter units
wrk - Modern HTTP benchmarking tool
nimbus-eth2 - Nim implementation of the Ethereum Beacon Chain
siege - Siege is an http load tester and benchmarking utility
nvim-treesitter-textobjects
loadtest - Runs a load test on the selected URL. Fast and easy to use. Can be integrated in your own workflow using the API.
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
artillery - The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module.
pash - PaSh: Light-touch Data-Parallel Shell Processing
Hey - HTTP load generator, ApacheBench (ab) replacement
cps - Continuation-Passing Style for Nim 🔗
PPSS - Parallel Processing Shell Script