Go to file
jie ce481ac336 update readme 2021-03-13 19:48:34 +08:00
.gitignore initial commit 2021-03-05 15:39:47 +08:00
CMakeLists.txt initial commit 2021-03-05 15:39:47 +08:00
LICENSE Initial commit 2021-03-05 12:27:30 +08:00
README.md update readme 2021-03-13 19:48:34 +08:00
bserv.cpp add request 2021-03-13 19:37:10 +08:00
client.hpp add request 2021-03-13 19:37:10 +08:00
common.hpp add request 2021-03-13 19:37:10 +08:00
config.hpp initial commit 2021-03-05 15:39:47 +08:00
database.hpp initial commit 2021-03-05 15:39:47 +08:00
db.sql initial commit 2021-03-05 15:39:47 +08:00
handlers.hpp add request 2021-03-13 19:37:10 +08:00
logging.hpp add request 2021-03-13 19:37:10 +08:00
router.hpp initial commit 2021-03-05 15:39:47 +08:00
routing.hpp add request 2021-03-13 19:37:10 +08:00
session.hpp initial commit 2021-03-05 15:39:47 +08:00
utils.hpp add request 2021-03-13 19:37:10 +08:00

README.md

bserv

A Boost Based High Performance C++ HTTP JSON Server.

Dependencies

Quick Start

Database

You can import the sample database:

  • Create the database in psql:

    create database bserv;
    
  • Create the table in the shell using a sample script:

    psql bserv < db.sql
    

Routing

Configure routing in routing.hpp.

Handlers

Write the handlers in handlers.hpp

Build

In the shell:

  • Create a directory build, and enter it:
    mkdir build
    cd build
    
  • Run:
    cmake ..
    
  • Build:
    cmake --build .
    

Running

In build, run in shell:

./bserv

Performance

This test is performed by Jmeter. The unit for throughput is Transaction per second.

URL bserv
/login 139.55
/find/<user> 958.77

For /login, we intentionally slow down the attacker's speed.

Computer Hardware:

  • Intel Core i9-9900K x 4
  • 16GB RAM