AWS Graviton、Graviton2 インスタンス別性能
前回の続報 crumbjp.hateblo.jp
ARM64バイナリ用のインスタンスタイプ別の状況
網羅的にやる気は無く、自分に必要な範囲で調べただけ。
instance type | CPU能力 | SPOT | AZ |
---|---|---|---|
a1系 | m6gの半額程度 | 潤沢 | 1a,1d |
m6g系 | c6gと遜色なし | 買える | 1a, 1c |
c6g系 | 高 | 枯渇 | 1a, 1c |
r6g | c6gと同程度? | 枯渇 | 1a, 1c |
見ての通り a1系(Graviton)は性能が低いが スポット在庫が安定しているのでコストメリットが高い。 しかしAZの取り回しが面倒だ。
スポットの価格も1dの方が格段に安い
フットワークの軽いインフラ屋さんが居ないと使いにくいが利益はある。
CPU実測
水:m6g.xlarge、橙:a1.xlarge、他:c6g.xlarge
間違いなくm6gはお得。
AWS Graviton2
最大40%のコストカット!
魅力的だが、ARMアーキテクチャのプロセッサなのでバイナリから違うのが面倒くさい。 サラのOSディストリビューションから作り直しなので現行のサービスでテストするにはかなりの障壁。 人柱記事が出てくるまで時間がかかりそうだ。
僕は人柱は滅多にやらない主義なのだけど 価格の魅力に負けて食いついた。
ubuntu18.04 ARM64の問題
ubuntu-defaults-jaが提供されてない!
でも、幸いな事にこれ以外に大きい問題はなかった。 コレくらいなら、by hand でなんとかできそう。
オンデマンドの価格
c5系の80%の値付けになっている。 Amazonは40%のコスト削減が出来ると大口を叩いているがCPUが相当早いということかな?
タイプ | CPUs | メモリー | 価格/h |
---|---|---|---|
c5.xlarge | 4 | 8GiB | $0.1712 |
c6g.xlarge | 4 | 8GiB | $0.214 |
プロダクションに適用
アドネットプラットフォームの処理は、CPU処理が多く、DB処理が少ない(殆どをキャッシュで処理するため)。 また少しでも早くレスポンスを返したい為、C系のサーバーを使っている。 この環境に1台混ぜてみる。(STGはインスタンスタイプを小さいモノにしてケチって居たためよく解らなかった。。)
CPU使用率
設定をミスってリクエストが寄り過ぎて焦って落としたのはご愛嬌w
- 一番下の水色 c6g.xlarge
- 中央の塊が c5.xlarge
- 上の2つが m3.xlarge
m3はスポットインスタンス(c5が枯渇して買えない為・・・)。ECUが全然違うので、同じxlargeでも全然違いますな。 そして肝心のc6gは、顕著に早いって訳ではないが、c5相当のECU換算20以上はありそうだ。 なので、Amazonの40%は吹きすぎ(CPUだけの話じゃないのかな?)だが、リーズナブルである事は間違いない。
socket.io が nodejs12系で落ちる
なんで今のコードでnodejs10系では問題にならなかったのかが解らないのだけど、ずっと問題なく動いていた。 それがnodejs12系では落ちる様になった。(EPIPE)
とりあえずPRを送っておいたが、取り込まれるまで待てないので socket.io からforkしてそっちを使うことにする。
package.json にはこんな感じで指定すればいい。
"dependencies": { "socket.io": "crumbjp/socket.io#2.3.0_patched"
mecab-gyp 1.0.6 nodejs12対応
mecab-ipadic-neologd 池田さん森さん問題
mecab-ipadic-neologd
mecabの精度を劇的に上げてくれるのだけど、頑張りすぎな所があって、、
mecab -d ./lib/mecabdic <<< '森さん池田さん' 森さん 名詞,固有名詞,人名,一般,*,*,森さん,モリサン,モリサン 池田 名詞,固有名詞,人名,姓,*,*,池田,イケダ,イケダ さん 名詞,接尾,人名,*,*,*,さん,サン,サン EOS
森さん
は特別扱いか・・・
ちなみに ipadic のままだと
mecab <<< '森さん池田さん' 森 名詞,固有名詞,人名,姓,*,*,森,モリ,モリ さん 名詞,接尾,人名,*,*,*,さん,サン,サン 池田 名詞,固有名詞,人名,姓,*,*,池田,イケダ,イケダ さん 名詞,接尾,人名,*,*,*,さん,サン,サン EOS
今時、digest認証なんかしたくないんだが。。。
先方がそうなので仕方なく、、、ユーザ名に @
が含まれていると動かなかったので少しだけ世直し。
github.com
MongoDBの開発陣は糞
アトミック性の部分の問題を何年も放置する判断力は異常
コメントでも相当言われてるが、、あいつらバカなんだろう。。