おっといけねえ、久しぶり過ぎる投稿だ…!
今回はうってかわって、Google Cloud Platformのお話。
数ヶ月前からとあるプログラムをGCP上で動かしていました。
キャンペーン期間なのでウッハウハでn1-standardとか使って何不自由なく動かしていましたが、
そろそろ期間も終了ということで、さてどのインスタンスで動かすかぁということを考え始めました。
んで、まあそんな重い処理でもないと思っていたので、
n1-standardより下となるとg1-smallかf1-micro。
どっちも共有vCPUx1だし一番安いf1-microでいいやーと思って、
ディスク残してインスタンス削除、ディスクからインスタンス作り直しな感じで移行しました。
で、半日ほどたって気づく。
プログラム動いてなくね?
まあ動いてはいたんですが、要するにスペック不足。
コンソールで見たらずっとCPUが張り付いてました。
あやー。こりゃ思ったより負荷高かったかな。
g1-smallにしたも同じ共有vCPUx1だし、
n1-standardじゃなきゃダメかぁ。とか思いつつドキュメント読んでたら・・・
smallとmicro、実は計算資源的に全然違うじゃないですか!!
どうやらGCEの計算資源はGCEUsという単位で表されている模様。
これが、
- micro: Shared CPU, not guaranteed
- small: 1.38
- (standard: 2.75)
となっていました。
インスタンス作成のUIからじゃvCPUしか見えないのでとんと勘違いしていた…!
ちなみに2.75GCEUsで仮想CPU1コア分ぐらいの計算資源らしいです。
g1-smallに変更したところ、無事動くようになりました。
そういう訳で、安易にmicro選ばないように、というお話でした。
特にキャンペーン期間終了時ね!
ところで、いつのまにかインスタンスの編集からタイプの変更ができるようになってません?
最初のstandardの時はできなかったけど、microからsmallに移行するときはインスタンスの編集からいけてあれ?ってなった。
まだまだ学ぶべきことは多い。
↑多分インスタンス起動しっぱなしだったので出来なかっただけ、というオチっぽい。はずい。
参考
Machine Types
Google Compute Engine Units (GCEUs)