7

帯域幅がそれほど多くないネットワーク パイプを介して大規模なデータベースをダンプする必要があり、他の人が同時に使用する必要があります。私が試してみると、すべての帯域幅が吸収され、遅延が急増し、他のすべての人が台無しになります.

mysqldump の --compress フラグが多少役立つことは承知しています。

この接続ですべての帯域幅を吸収せずにこれを行うにはどうすればよいですか?

アップデート:

-l フラグを指定して scp を使用してダンプファイルをコピーするという提案は良いものですが、データベース サーバーへのSSHアクセス権がないことに注意してください。

4

6 に答える 6

7

trickle?

トリクルは、ポータブルで軽量なユーザー空間の帯域幅シェイパーです

DB ダンプを実際に転送する方法については言及していませんが、転送が TCP/IP 経由で行われる場合は、トリクルが機能するはずです。たとえば、次のコマンドを使用するとnc(例: nc -L 1234 > backup.sql)、次のコマンドは 20KB/秒以下でバックアップを転送します。

mysqldump [database name] | trickle -u 20 nc backup.example.com:1234
于 2008-12-29T11:17:57.200 に答える
3

Linuxマシンにアクセスする必要があります(申し訳ありませんが、私はLinux好きな人です)。

イングレス ポリシーは着信トラフィックの量を減らすことができますが、反対側のサーバーには非常に適切に動作する TCP/IP スタックが必要です。

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 \
  u32 match ip src server.ip.address/32 police rate 256kbit \
  burst 10k drop flowid :1
tc qdisc add dev eth0 root tbf \
  レート 256kbit レイテンシ 25ms バースト 10k

イングレス フィルターの詳細については、高度なルーティングのハウツーを参照してください。

http://www.linux.org/docs/ldp/howto/Adv-Routing-HOWTO/index.html


Linux で実行している場合は、ファイルをローカルにダンプして圧縮し、scp を使用して -l スイッチを使用してファイルをコピーし、使用する帯域幅を制限できます。

-l limit Kbit/s で指定された使用帯域幅を制限します。

例えば

scp -l 16 dumpfile remotehost:filepathandname

于 2008-12-23T11:52:24.860 に答える
1

私が使用したトリックの 1 つは、挿入ではなく CSV 形式を指定することです。単位時間あたりに使用する帯域幅の量は変わりませんが、引き出す総バイト数を減らすことができます。

于 2008-12-22T17:56:06.090 に答える
0

TCP 経由で送信すると、帯域幅はすべての当事者間で均等に共有されます。さらに速度を落としたい場合は、一定量のデータしか送信できないようにデバイスを調整する必要があります。

于 2008-12-22T17:53:03.273 に答える
0

クライアントでは、ダウンロードの速度を制限するプロキシを実行できます。接続数などを制御することもできます。

Windows を使用している場合、これはうまく機能するはずです。

http://www.youngzsoft.net/ccproxy/index.html

于 2008-12-22T19:27:47.903 に答える
0

InnoDB のようなトランザクション テーブル エンジンを使用していますか? これはマスター データベースですか? 十分気をつける!mysqldump はテーブル ロックを保持し、データベースの実動使用を妨害します。バックアップを遅くしても、この中断期間が長くなるだけです。常に mysqldump をローカル ディスクに保存し、そこからダンプをコピーします。

もう 1 つの方法は、リモート サイトにレプリケーション スレーブをセットアップし、そこからバックアップを取得することです。その後、データベースの更新は、1 つの大きな塊になるのではなく、競合するリンクに少しずつ流れていきます。

別の方法: 誰もネットワークを使用していないときにバックアップを実行してください:)

于 2008-12-29T11:59:03.437 に答える