Sergey Kovalev d5c87a44e5 [aiohttp] - use fetchmany api (#9865) 3 months ago
..
app d5c87a44e5 [aiohttp] - use fetchmany api (#9865) 3 months ago
README.md 7d7f2238ca aiohttp base nginx setup (#9796) 4 months ago
aiohttp-gunicorn.dockerfile 7d7f2238ca aiohttp base nginx setup (#9796) 4 months ago
aiohttp-nginx.dockerfile 21caa53ddd [aiohttp] - add raw setup (no-proxy) (#9807) 3 months ago
aiohttp-orm.dockerfile 21caa53ddd [aiohttp] - add raw setup (no-proxy) (#9807) 3 months ago
aiohttp.dockerfile 21caa53ddd [aiohttp] - add raw setup (no-proxy) (#9807) 3 months ago
benchmark_config.json 21caa53ddd [aiohttp] - add raw setup (no-proxy) (#9807) 3 months ago
config.toml 21caa53ddd [aiohttp] - add raw setup (no-proxy) (#9807) 3 months ago
gunicorn_conf.py 95a16408f3 Python aiohttp (#2529) 8 years ago
nginx-entrypoint.sh 7d7f2238ca aiohttp base nginx setup (#9796) 4 months ago
requirements.txt cb3399673e [aiohttp] Disable access logging (#9844) 3 months ago

README.md

aiohttp Benchmark Test

The information below is specific to aiohttp. For further guidance, review the documentation. Also note that there is additional information that's provided in the Python README.

This is the Python aiohttp portion of a benchmarking tests suite comparing a variety of frameworks.

All test implementations are located within (./app).

Description

aiohttp with sqlalchemy and separately asyncpg for database access.

uvloop is used for a more performant event loop.

Database

PostgreSQL.

Two variants:

To enabled "RAW" mode set the following environment variable:

export CONNECTION=RAW

This will switch which database engine the app uses to execute queries with tests 2, 3, 4 & 5.

Server

nginx+uvloop on CPython

Test URLs

Test 1: JSON Encoding

http://localhost:8080/json

Test 2: Single Row Query

http://localhost:8080/db

Test 3: Multi Row Query

http://localhost:8080/queries/20

Test 4: Fortunes (Template rendering)

http://localhost:8080/fortunes

Test 5: Update Query

http://localhost:8080/updates/20

Test 6: Plaintext

http://localhost:8080/plaintext