我在一个 docker 容器中有一个 Postgres 数据库,我针对它运行 django 测试。我想提高测试速度。最简单的方法(在我看来)是将 postgres 数据移动到 tmpfs 卷中。
这是我做的:
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
因为我指定了 --tmpfs
,所以我希望测试运行得更快。不幸的是,这种情况并非如此。测试速度完全保持在同一水平(上下 float 5%)。
我的问题是:为什么测试速度没有改变?我能做些什么呢?
额外信息:
- 苹果操作系统 10.13.6
- 引用资料 https://docs.docker.com/storage/tmpfs/
最佳答案
My questions is: why did the speed of the tests did not change? And what can I do about it ?
如果表太小以至于它已经适合 ram,tmpfs 除了几次刷新到磁盘之外不会给你带来太多好处。而且,如果该磁盘是 SSD,则根本不多。通常,您可以通过关闭 Durability Options 使您的测试套件运行得更快。 .
关于django - docker tmpfs 似乎对 postgresql 没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52277899/