docker tmpfs seems to have no effect on postgresql
Asked Answered
I

1

10

I have a Postgres database inside a docker container against which I run django tests. I want to improve the speed of the tests. The easiest way to do this (it seems to me) is to move postgres data into tmpfs volume.

Here's what I did:

docker run --name my_tfmps_test -d -p 5432:5432 \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=postgres \
  -e POSTGRES_DB=my_database \
  -e PGDATA=/var/lib/postgresql/data \
  --tmpfs /var/lib/postgresql/data \
  library/postgres

Because I specified --tmpfs I expect the tests run significantly faster. Unfortunately this is not the case. The speed of the tests remains exactly on the same level (give or take 5%).

My questions is: why did the speed of the tests did not change? And what can I do about it ?

Extra info:

Isoagglutination answered 11/9, 2018 at 14:9 Comment(0)
B
12

My questions is: why did the speed of the tests did not change? And what can I do about it ?

If the table is so small that it already fits into ram, tmpfs doesn't gain you much except a few flushes to the disk. And, if that disk is an SSD it's not much at all. Typically you can make your testing suite go faster by turning off the Durability Options.

Bobbinet answered 11/9, 2018 at 14:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.