docker tmpfs 似乎对 postgresql 没有影响
Posted
技术标签:
【中文标题】docker tmpfs 似乎对 postgresql 没有影响【英文标题】:docker tmpfs seems to have no effect on postgresql 【发布时间】:2019-02-16 01:48:13 【问题描述】:我在一个 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
,所以我希望测试运行得更快。不幸的是,这种情况并非如此。测试的速度完全保持在同一水平(给或取 5%)。
我的问题是:为什么测试的速度没有改变?我能做些什么呢?
额外信息:
MacOS 10.13.6 参考https://docs.docker.com/storage/tmpfs/【问题讨论】:
【参考方案1】:我的问题是:为什么测试的速度没有改变?我能做些什么呢?
如果表太小以至于它已经适合 ram,那么 tmpfs 不会为您带来太多好处,除了几次刷新到磁盘。而且,如果该磁盘是 SSD,那么它根本就不多。通常,您可以通过关闭 Durability Options 来加快测试套件的运行速度。
【讨论】:
以上是关于docker tmpfs 似乎对 postgresql 没有影响的主要内容,如果未能解决你的问题,请参考以下文章
Docker的数据管理(volume/bind mount/tmpfs)
Docker-Compose Postgres 5432 绑定:地址已在使用错误
如何在 docker-compose 中访问 Postgres 数据库