仕事中の問題と解決メモ。

最近はPythonとGoogle Cloud Platformがメイン。株式会社ビズオーシャンで企画と開発運用、データ活用とか。 http://mstdn.bizocean.co.jp/@uyamazak https://github.com/uyamazak/

mastodonのアップデート時にrails assets:precompileが、Compiling webpacker assets で止まる

フルGCPで運用している社内用インスタンス( http://mstdn.bizocean.co.jp )でオリジナルイラストができたのでアップデートしようとしたら、

Binary found at /mastodon/node_modules/node-sass/vendor/linux_musl-x64-48/binding.node
Testing binary
Binary is fine
node-sass@4.5.2 /mastodon/node_modules/node-sass
Done in 37.82s.
Webpacker is installed 🎉 
Using /mastodon/config/webpack/paths.yml file for setting up webpack paths
Compiling webpacker assets 

で止まってしまった。

検索したらどうやらメモリ不足らしい

Rebalance Allocation fails when compiling assets · Issue #2883 · tootsuite/mastodon · GitHub


そういえば先週サーバー代をケチるために、n1-standardからsmallにしたのを思い出した。その時は問題なく終わっていた。

たかが静的ファイルの準備ごときでサーバーをスケールアップさせる必要があることに苛立つ。smallといえども1.7GBあるのに。RailsのせいなのかRubyのせいなのか。

せっかくDockerのコンテナを使って、少ないリソースでたくさんの仮想マシンを動かすことができたのに、中身がメモリを喰うのでは話にならない。

oceanusで使っているコンテナとくらべて、GKE上でのコンテナの立ち上がりも遅いので、デプロイや開発スピードにも影響がでる。

PythonDjangoでは管理系コマンドで待たされたり、メモリ不足になったことはないので、個人的にRubyRailsはやっぱり重い、という印象をmastodonの運用で上書きすることとなった。