Skip to content

leandronsp/rinha-backend-ruby

Repository files navigation

rinha-backend-ruby

     _      _           _             _               _            _         
 _ _(_)_ _ | |_  __ _  | |__  __ _ __| |_____ _ _  __| |  _ _ _  _| |__ _  _ 
| '_| | ' \| ' \/ _` | | '_ \/ _` / _| / / -_) ' \/ _` | | '_| || | '_ \ || |
|_| |_|_||_|_||_\__,_| |_.__/\__,_\__|_\_\___|_||_\__,_| |_|  \_,_|_.__/\_, |
                                                                        |__/ 

Yet another Ruby version for rinha do backend

Requirements

Stack

  • 2 Ruby 3.2 +YJIT apps
  • 1 PostgreSQL
  • 1 NGINX

Usage

$ make help

Usage: make <target>
  help                       Prints available commands
  start.dev                  Start the rinha in Dev
  start.prod                 Start the rinha in Prod
  docker.stats               Show docker stats
  health.check               Check the stack is healthy
  stress.it                  Run stress tests
  docker.build               Build the docker image
  docker.push                Push the docker image

Starting the app

You can start the stack by using the public image leandronsp/rinha-backend-ruby with the following command:

$ docker compose -f docker-compose-prod.yml up -d nginx

# Or using make
$ make start.prod

Or, in case you want to run the stack using local build and volumes:

$ docker compose up -d nginx

# Or using make
$ make start.dev

Then perform a health check to ensure the app is running correctly:

$ curl -v http://localhost:9999/contagem-pessoas

# Or 
$ make health.check

Unleash the madness

Make sure you copy all the resource/simulation files and Gatling script to the project and:

$ make stress.it 
$ open stress-test/user-files/results/**/index.html

ASCII art generator

About

Plain Ruby under stress

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published