Giter Site home page Giter Site logo

haakonaareskjold / redis Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 12 KB

Assignment from a job application, republished and improved. See ASSIGNMENT.md for details. Changes from actual assignment: Using Redis for caching instead of sqlite(db queries for storage). Also this is fully automated with docker-compose.

PHP 100.00%
redis php-container composer apache-benchmark docker-compose

redis's Introduction

Redis benchmarking test

Requirement

  • Docker, ^19.03
  • Docker-compose ^1.27.2

How to run

  • simply use docker-compose up and everything will happen automatically

What is happening?

  1. When running the docker-compose services first the PHP container will boot up a local webserver, then it runs a php script that outputs to STDERR for every GET request sent by using Redis for memory caching. If it surpasses 100 request, it will reset the counter.

  2. To make this happen, a service is installing redis, which will be used for caching. There is also the composer container which installs the required dependency, to make the AB container run after composer is not started, but also ready- I've added a healthcheck on the PHP container which simply just adds a delay before the final service is executed.

  3. In the end a server running Apache2 benchmark tool will execute a command running 100 GET requests towards the IP address assigned to the docker container with PHP.

redis's People

Contributors

haakonaareskjold avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.