Skip to content

Commit

Permalink
performance readme
Browse files Browse the repository at this point in the history
  • Loading branch information
tomzo committed Nov 2, 2017
1 parent bf977eb commit a403262
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
21 changes: 21 additions & 0 deletions README.md
Expand Up @@ -158,6 +158,27 @@ Logging to graylog.
* `LIGET_LOG_GELF_HOST` - no default. But should be configured when `LIGET_LOG_BACKEND=gelf`
* `LIGET_LOG_GELF_PORT` - by default `12201`.

# Performance

We are running load tests against the server under following setup:
1. There is a dedicated 2-core VM with capped IO limits on disk:
* max read bytes/sec 64 MB/s
* max write bytes/sec 32 MB/s
* max read IO ops/s 3000
* max write IO ops/s 1200
2. On the VM we start 2 docker containers with docker-compose, server has [limit on memory of 550MB](docker-compose-e2e.yml#L19).
3. LiGet is configured with defaults and:
* `LIGET_LIBUV_THREAD_COUNT=16`

The stress tests run
1. paket install to download about 500MB of packages, via liget caching proxy V3 API.
2. nuget push of each package to repository using V2 API.
3. Then 6 workers run `paket install -f` via liget caching proxy V3 API.

Under these conditions:
* cache download performance is *good*. The 6 workers end download within 7 minutes and are mostly constrained by IO limit. Same test on my local machine on SSD drive, passes in 3 minutes.
* memory usage reported by docker stats peaks at about 520 MB. So docker mem_limit of 550MB-600MB makes sense.

# Development

All building and tests are done with [IDE](https://github.com/ai-traders/ide) and docker.
Expand Down
2 changes: 1 addition & 1 deletion e2e/stress/run.sh
Expand Up @@ -14,7 +14,7 @@ echo "nuget push a bunch of packages"
./push_all.sh
cd ..

for i in `seq 1 4`;
for i in `seq 1 6`;
do
echo "Generating specialized HOME for paket load in /home/ide/$i"
mkdir -p paket-$i /home/ide/$i/.nuget/NuGet
Expand Down

0 comments on commit a403262

Please sign in to comment.