GYAOの窓際エンジニア 玉利です。
我らチーム、ちょっとした炎上案件に巻き込まれてしまい、3ヶ月ほど大変な感じでした。夏は休日出勤が続き、気がついたら秋になってました。
食べ歩きのほうも全く捗らず、暑気払いすらできませんでした。唯一、別の会社に勤めていた元上司が早期退職していて、お祝いの会をやったりしたのですが、久々に横浜まで行って本場の中華を頂きました。美楽一杯という、中華街コックが仕事あがりにくる居酒屋です。
美楽一杯のアワビ蒸し(1個1,000円) かなりいけてるけど、大珍樓の宴会スペシャルのほうが美味しいかな。。。宴会やりたい。
日曜にその宴会をやってる最中も、私の携帯はアラートがなりまくり。これはちょっとやばい、月曜までもつかなー、、、と思っていたのですが、案の定出社中、会社につく2駅前に一気にElasticsearchのレスポンス速度が悪化し、フロントサービスが障害発生的な展開になってしまいました。
これはローンチ前にはわからないことでした。実際にサービスに利用しはじめると、GC(Garbage Collection)がはたらいてメモリを回収するのですが、どうやら完全に開放するのは難しいみたいでどんどん空きがたりなくなってきます。
実は、その前にもいちどメモリ不足でトラブっていまして、メモリ追加と設定改善を入れたのですが、時間稼ぎに過ぎませんでした。
対処療法的なのですが、定期的にESを再起動してやることでメモリ不足問題の時間稼ぎを行うことにしました。
我々のshade=10,replica=2の大体、再起動して40秒くらいでconditionがgreenに戻るので、サーバを1台1台、再起動コマンドを流していきます。最初は手作業だったので大変でした。
つづく