Skip to content

postgres needs sync_file_range #88

@woody01

Description

@woody01

Hello. I'm trying banchmark docker postgres with gvisor by using pgbench. I execute the following commands:

docker pull postgres
docker run --runtime=runsc -p 5000:5432 postgres

then start benchmark:

pgbench -i -p 5000 -U postgres -h localhost -d postgres # (invokes initialization mode)
pgbench -p 5000 -U postgres -h localhost -d postgres # (default test, 1 client, 10 transactions)

this test completes successfully, but if I increase the number of transactions and clients:

pgbench -c 2 -t 500 -p 5000 -U postgres -h localhost -d postgres  # (2 clients and 500 transactions)

test hangs (just stop), apparently waiting for a response from the database.
postgres spam message: WARNING: could not flush dirty data: Function not implemented
Attach logs and docker info
runsc.log.20180709-154037.490428.create.log
runsc.log.20180709-154037.494581.gofer.log
runsc.log.20180709-154037.507678.state.log
runsc.log.20180709-154037.512384.start.log
runsc.log.20180709-154037.652205.state.log
docker_info.txt

$ uname -a
Linux test_host 4.15.0-24-generic #26~16.04.1-Ubuntu SMP Fri Jun 15 14:35:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

postgres docker without using gvisor easy completes this test. Any idea what might be wrong?
Thanks in advance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions