IBM Containers 卷的性能

Performance of IBM Containers Volumes

我是 运行 IBM Containers 中的 postgres 9.5 数据库。我修改了 DockerHub 映像,以便它可以使用容器服务提供的卷功能(必须解决与此问题相关的权限问题:)。

但是,我现在发现性能很差。例如,这里是 运行 删除新初始化的 postgres 数据库 (~20MB) 的最新输出,各不相同,但我没有看到任何快于 3 分钟的东西:

/tmp/vol/pgdata $ time rm -rf *

real    18m 1.38s
user    0m 0.00s
sys 0m 0.25s

我是否需要在 image/container 中配置一些不同的东西以获得合理的性能?有没有其他人幸运地 运行 卷上的数据库?

检查为该卷下的文件系统指定的性能。

例如,对于音量 'pgdata' 执行 cf ic volume inspect pgdata,您将得到如下输出:

# cf ic volume inspect pgdata
{
    "fsId": "long-fs-space-uuid-here",
    "hostPath": "/vol/long-fs-space-uuid-here/pgdata",
    "otherSpaceVisibility": [],
    "spaceGuid": "long-fs-space-uuid-here",
    "volName": "pgdata"
}

然后您可以使用 cf ic volume fs-list 获取您的 fs 对象的列表,这将为您提供如下输出:

# cf ic volume fs-list
Name                          Size   IOPS/GB   Created               State
long-fs-space-uuid-here       20     0.25      2016-03-04 14:44:49   READY

在这种情况下,我的文件系统对象指定为 0.25 IOPS/GB 和 20GB - 即 4 IOPS。对于数据库之类的东西,最好在新的更快的 fs 上重新创建它:

cf ic volume fs-create myfastfs 20 4

等待新文件 space 显示为就绪:

cf ic volume fs-list

然后在更快的 fs 上重新创建卷:

cf ic volume create pgdata myfastfs