Reactでいつもしんどいので簡単なネタで現実逃避する
OCIにでかいデータを送りたいとき
- 製品的には Roving Edge というアプライアンスがあるらしい
- 1台で30TB~75TBくらい入る(参照)
- $80/day で最低契約期間が30日。つまり最小コストは $2400。日本円で 350,000 くらい。たっけー
- デバイスはNFSv4で領域をエクスポートしているので、マウントしてデータを入れる(参照)
- データを入れたら最寄りの Oracle Solution Center(OSC) というところまでアプライアンスを送る。これが日本にあるかどうかは不明。ただ Roving Edge がサポートされるリージョンを見てると(日本国内に送付できるかは)あやしい。送料がどうなるのかも不明。
- ネットワーク経由で送る場合は
- インターネット経由で送る
- FastConnect(つまり専用線)経由で送る
個人だとインターネットで流し込むしかないという感じ
じゃ実際どの程度かかるのよ(実測)
GCPだとある程度の目安を提示してる(1Gbps回線で100GiBを18分で転送可能、つまり実効帯域759Mbps)んだけど、いやいやwwwそんなすんなりいくわけないっしょwww、ということで実測してみた。
ローカル側
- 転送するデータ
- 内容: Maildir以下のメールファイル群
- ファイル数: 約 820,000 ファイル
- 合計容量: 49.9 GiB
- 平均ファイルサイズ: 63 KiB
- 保存場所: NVMe SSD 上(読み出し側のボトルネックはないよって意味)
- 回線
- インターネット回線: 1 Gbps(フレッツ光x1をマンションの住人で共用。実測 200~500 Mbps程度)
- LAN: 1 Gbps
- 転送方法
-
oci os object bulk-upload
。具体的なコマンドは以下のような感じ
-
oci os object bulk-upload --bucket-name your_bucket \
--src-dir /path/to/maildir \
--overwrite \
--parallel-upload-count 8
実測結果
65分で転送完了。実効帯域 104.8 Mbps
完全にボトルネックはインターネットですね。ありがとうございました。
もちろんインターネットなので速度は転送中かなりフラついた。最小 50Mbps くらい、最大 400Mbps くらい。
細かいファイルだからociコマンド詰まるかなと思ったけどそんなことはなかった。優秀。
以下実行中の帯域スクショ(スクショ中の経過時間はバグ?で半分の時間になっている)
たぶんOCI側はもっと帯域あるんじゃないかな・・・多分
ちなみにバケットの中をきれいサッパリ全ファイル削除するときには以下のようなOCIコマンドでいける
oci os object bulk-delete --bucket-name YOUR_BUCKET_NAME --force
さいごに
FastConnectユーザの検証結果も見てみたいなー(チラッチラッ)