私たちはローカル開発環境でDockerを使用しており、運用のためにGoogle Cloud Container Engineに導入しています。 GoogleのプロダクションSQLサーバーもGoogle Cloudにあります。Dockerの非ローカル非ローカルデータベースへのアクセス
コンテナがContainer Engineインスタンス上で実行されている場合、DBアクセスは高速ですが、ローカルマシンで実行すると非常に遅くなります。生産時に通常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
EDIT:
を、問題を絞り込むしようとしますが、私は私のMacBook上でMySQLドッカーコンテナを設定して、私たちを設定しました別のマシン上のDockerized Webサーバー(Ubuntu 14.04を実行中)。
データベースアクセスは高速でしたが、これを逆にしたとき(UbuntuマシンのMySQL、MacbookのWebサーバー)、それは恐ろしく遅かったです。奇妙な。私はMacBookのDockerを1.12にアップデートしてみました。これはVirtualBoxを式から削除していますが、これで問題は解決されていません。
恐らくDockerのネットワークアダプタで何か起こっていると思いますか?私は困惑している。
Webアプリケーションをホスト名ではなくIPアドレスでデータベースサーバーに接続してみることができます。これにより、ホスト名解決またはDNSが考えられる原因から除外されます。 –
これも試してみてください。遅いDNS解決は私が以前のバージョンのDockerで読んだものでしたが、このケースでは問題ではないようです。 –
私はまったく同じ問題を抱えています。リモートホスト上で接続するとローカルホスト上で高速接続が30秒以上+(Google Cloud SQLとamazon awsを試した)@Justin Doyle – Renato