我们使用 Docker 作为本地开发环境,并部署到 Google Cloud Container Engine 进行生产。我们的生产 SQL 服务器也在 Google Cloud 上。
当我们的容器在容器引擎上运行时,数据库访问速度快如闪电,但在本地计算机上运行时却非常慢。一些页面加载在生产环境中通常需要 1.9 秒,但在我们的本地系统上却达到了 25.0 秒甚至更高。
我认为邻近可能是一个问题,所以我尝试在本地计算机上启动 MySQL Docker 容器,并将本地 Dockerized Web 服务器连接到该容器,而且速度很快。生产中 1.9 秒的页面加载现在在我的本地徘徊在 1.8 秒左右。
我决定在我们办公室的一台服务器上运行一个 MySQL Docker 实例,但当我这样做时,这些页面加载突然飙升至 25.0 秒,然后再次上升。
当 Docker 需要连接到不在我的本地计算机上的任何资源时,似乎有什么东西正在减慢连接速度。
我的docker info输出如果有帮助的话:
Containers: 4
Running: 2
Paused: 0
Stopped: 2
Images: 203
Server Version: 1.12.2
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 209
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: null bridge host overlay
Kernel Version: 4.4.24-boot2docker
Operating System: Boot2Docker 1.12.2 (TCL 7.2); HEAD : 9d8e41b - Tue Oct 11 23:40:08 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.858 GiB
Name: dev
ID: AYO6:TL7P:XSST:VI5T:HKCC:QTOZ:HP3X:NKYQ:YCWT:THV2:AQM2:5XER
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug mode (client): false
Debug mode (server): true
File Descriptors: 32
Goroutines: 58
System Time: 2016-10-26T22:46:19.218543394Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
provider=virtualbox
Run Code Online (Sandbox Code Playgroud)
编辑:在尝试缩小问题范围时,我在 Macbook 上设置了 MySQL Docker 容器,然后在另一台机器上设置了 Dockerized Web 服务器(运行 Ubuntu 14.04)。数据库访问速度很快,但是当我反转它(Ubuntu 机器上的 MySQL,Macbook 上的 Web 服务器)时,它又慢得可怕。奇怪的。我还尝试将 Macbook 上的 Docker 更新到 1.12,这将 VirtualBox 从等式中删除,但这也没有解决问题。也许 Docker 的网络适配器出了问题?我很困惑。
您使用的是哪个版本的 Docker for Mac?因为当时我遇到了类似的问题,现在我发现了 Docker for MAC 的一个已知问题可能与您相关。
此问题已映射到以下问题。
他们还提供了一个解决方法,但现在更新 Docker 版本应该就足够了。
| 归档时间: |
|
| 查看次数: |
3253 次 |
| 最近记录: |