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.
Hey
-
AWS SnapStart - Part 19 Measuring cold starts and deployment time with Java 17 using different Lambda memory settings
The results of the experiment below were based on reproducing approximately 100 cold starts for the duration of our experiment which ran for approximately 1 hour. For it (and all experiments from my previous articles) I used the load test tool hey, but you can use whatever tool you want, like Serverless-artillery or Postman
-
Data API for Amazon Aurora Serverless v2 with AWS SDK for Java - Part 5 Basic cold and warm starts measurements
The results of the experiment to retrieve the existing product from the database by its id see GetProductByIdViaAuroraServerlessV2DataApiHandler with Lambda function with 1024 MB memory setting were based on reproducing more than 100 cold and approximately 10.000 warm starts with experiment which ran for approximately 1 hour. For it (and experiments from my previous article) I used the load test tool hey, but you can use whatever tool you want, like Serverless-artillery or Postman. We won't enable SnapStart on the Lambda function first.
-
AWS SnapStart - Part 15 Measuring cold and warm starts with Java 21 using different synchronous HTTP clients
The results of the experiment below were based on reproducing more than 100 cold and approximately 100.000 warm starts with experiment which ran for approximately 1 hour. For it (and experiments from my previous article) I used the load test tool hey, but you can use whatever tool you want, like Serverless-artillery or Postman. I ran all these experiments for all 3 scenarios using 2 different compilation options in template.yaml each:
-
AWS SnapStart - Part 13 Measuring warm starts with Java 21 using different Lambda memory settings
In our experiment we'll re-use the application introduced in part 9 for this. There are basically 2 Lambda functions which both respond to the API Gateway requests and retrieve product by id received from the API Gateway from DynamoDB. One Lambda function GetProductByIdWithPureJava21Lambda can be used with and without SnapStart and the second one GetProductByIdWithPureJava21LambdaAndPriming uses SnapStart and DynamoDB request invocation priming. We'll measure cold and warm starts using the following memory settings in MBs : 256, 512, 768, 1024, 1536 and 2048. I also put the cold starts measured in the part 12 into the tables to see both cold and warm starts in one place. The results of the experiment below were based on reproducing more than 100 cold and approximately 100.000 warm starts for the duration of our experiment which ran for approximately 1 hour. Here is the code for the sample application. For it (and experiments from my previous article) I used the load test tool hey, but you can use whatever tool you want, like Serverless-artillery or Postman. Abbreviation c is for the cold start and w is for the warm start.
-
Diagnósticos usando dotnet-monitor + prometheus + grafana
Por último, podemos executar os testes de carga usando hey.
-
Amazon DevOps Guru for the Serverless applications - Part 2 Setting up the Sample Application for the Anomaly Detection
For running our experiments to provoke anomalies we'll use the stress test tool. You can use the tool of your choice (like Gatling, JMeter, Fiddler or Artillery), I personally prefer to use the tool hey as it is easy to use and similar to curl. On Linux this tool can be installed by executing
- Threadpool no aspnet e problemas de performance
-
The Uncreative Software Engineer's Compendium to Testing
Hey: is a fast HTTP load testing tool used to test web applications and APIs. It provides a CLI (command-line interface) and supports concurrent requests.
-
The TCP receiver only ack the minimum bytes of MSS one by one
The client and server nodes are CentOS7.9/X86_64. If the HTTP POST requests were sent directly to the server with hey -c 1, there are about 0.2% of cases that may timeout. If the HTTP POST requests were sent through an NGINX proxy on the client node, there are about 20% of cases will timeout. I've confirmed that only one backend node has this problem. All other nodes are 100% succeeded even with higher throughput.
-
Benchmarking SQLite Performance in Go. Using Go's awesome built-in simple benchmarking tools to investigate SQLite database performance in a couple of different benchmarks, plus a comparison to Postgres.
64 concurrent requests isn't a lot. Modern web apps can typically handle much more than that (depending on what the request does, of course). Try it yourself with a load tester like https://github.com/rakyll/hey against a Go HTTP server, for example the one I've built in https://www.golang.dk/articles/go-and-sqlite-in-the-cloud
sqlite
- Show HN: Roast my SQLite encryption at-rest
-
Show HN: My Go SQLite driver did poorly on a benchmark, so I fixed it
> I would've probably picked the modernc variation
Heads up about the modernc library, it has been stuck on an old version of sqlite for several months [1]. It seems like maintainer time is the limiting factor [2]. There has been a call to arms on that issue page, the maintainer is looking for help, but it looks like not much has arrived. It seems like it might trace back to blockers in the C-to-Go compiler.
It's a major undertaking and a very impressive piece of work, but I'm not surprised it's a struggle when big roadblocks get hit. I hope they find a way to progress, but I'm very relieved to be seeing some CGo-free alternatives like ncruces/go-sqlite3 emerging. I'm going to give it a try for sure and see if I can live with the compromises.
Squinn-go looks very compelling too, but I don't like that it requires the squinn binary to already be installed on a user's machine, I think that gives with one hand and takes with the other: sure, I get to avoid CGo, but I also lose the turnkey, single-command install, static build benefits Go brings out of the box.
Seconding the point about nitty gritty, I'd read it for sure too!
[1]: https://gitlab.com/cznic/sqlite/-/issues/154
-
Show HN: Sqinn-Go is a Golang library for accessing SQLite databases in pure Go
No, but that has the disadvantage of being C compiled into Go, then being compiled into native executable.
I'm actually surprised by how readable this came out; props to the Go->C compiler author. But you can guess that pushing this sort of thing through the Go compiler is going to cause some slowdowns due to sheer paradigm mismatch: https://gitlab.com/cznic/sqlite/-/blob/master/lib/sqlite_lin...
-
Show HN: MongoDB Protocol for SQLite
FWIW, we use a version of SQLite transpiled into Go to avoid CGI problems: https://gitlab.com/cznic/sqlite
-
Go port of SQLite without CGo
It could be clearer in the readme, but note that this is a machine translation from C to Go, repeated for every OS-Arch pair. Example of the one you're most likely to use in production: https://gitlab.com/cznic/sqlite/-/blob/master/lib/sqlite_linux_amd64.go
What are some alternatives?
Vegeta - HTTP load testing tool and library. It's over 9000!
chai - Modern embedded SQL database
k6 - A modern load testing tool, using Go and JavaScript - https://k6.io
ffi-overhead - comparing the c ffi (foreign function interface) overhead on various programming languages
siege - Siege is an http load tester and benchmarking utility
sqlite - Go SQLite3 driver
anteon - Anteon (formerly Ddosify) - Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud
go-sqlite3 - sqlite3 driver for go using database/sql
grpcurl - Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
sqlparser-rs - Extensible SQL Lexer and Parser for Rust
kubernetes - Production-Grade Container Scheduling and Management
proteus - A simple tool for generating an application's data access layer.