64a9a3b59d | ||
---|---|---|
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
bserv.cpp | ||
client.hpp | ||
common.hpp | ||
config.hpp | ||
database.hpp | ||
db.sql | ||
handlers.hpp | ||
logging.hpp | ||
router.hpp | ||
routing.hpp | ||
session.hpp | ||
utils.hpp |
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
Please refer to this.
Running
Run in shell
:
./build/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 must slow down the attacker's speed. In Java, plain password is stored, which results in a higher performance.
Computer Hardware:
- Intel Core i9-9900K x 4
- 16GB RAM