読者です 読者をやめる 読者になる 読者になる

ぱらつり記

No description

アイコンを動かすRailsアプリを運用して1週間が経過した

技術 日記 Ruby

f:id:paralleltree:20151121221635p:plain

RaspberryPiをいぢめるだけの簡単なお仕事

アプリケーション運用している人尊敬する

全体的にやる気が低下しているぱらつりです。

RailsTwitterのプロフィールアイコンをスライドするWebサービスを運用してから1週間が経ちました。

公開直後は自分でも驚くほどのアクセスがありましたが、現実は厳しい。現在は数えるほどになっています。

f:id:paralleltree:20151120232623p:plain

と、本番環境でだいぶ落ち着いてきたので、アプリケーションの開発についてのメモ書きを残そうと思います。

開発のきっかけ

サイトにもある通り、こちらのツイートが元ネタです。

RTで流れてきたのを見たのは6月ぐらいだったでしょうか。当時は面白いと思ったものの、実現できるほどのスキルも余裕もなく、頭の片隅に留めるだけでした。

後期の授業が始まってから、学校で先のツイートを思い出した自分はノートに思いつく限り殴り書きをしていました。

f:id:paralleltree:20151121221414j:plain

そして試験が明けた9月末の休みに開発に着手。

せこせこバックエンドから実装して行きましたが、ページのデザインで大分時間がかかってしまいました。

結局のところ、学校帰りに購入したデザインの書籍で「「ぽく」」する感じで着地。

最終的には1500行ほどのコード量になりました。

そこから、nginx + unicornで運用するための設定を入れて稼働を開始しました。

本番環境でデプロイしてみて

気づいた点があってもなかなか更新できない

ラズパイなのでコマンド実行に地味に時間がかかり、一度落とすと数分はダウンタイムができてしまうという状態でした。

最初に気づいたのはログレベルがinfo状態でログが5MBを越えていたときのこと。

運用直後から出てくる障害

立ったissueが全部bug

あとログアウトするインターフェースがないというセキュリティ的にもユーザビリティ的にもひどい欠陥があったりしていけない。

ジョブ処理にはsidekiqを採用していますが、ご覧のとおりメモリ使用量がじわじわ増えていっています…

f:id:paralleltree:20151121221635p:plain

そういう意味ではプロセス単位のresqueのほうが良かったのかなとも思います。

また、sidekiqの再起動をrakeタスクにした結果、再起動時の負荷がやばいことに……。

rakeがアレなようなので現在はシェルからkillコマンドで再起動してます。

セグフォ「やあ」

セグフォりました。原因特定しきれていません。

実際にWebアプリを制作してみて

ツイートしたらなんだかんだで伸びたので驚きでした。

f:id:paralleltree:20151121000713p:plain

f:id:paralleltree:20151121000515p:plain

ツイッターアナイテクスのグラフが圧縮されてよくわからなくなった。

開発時点から思ってはいたことですが、ウェブアプリと一口に言っても考えることがたくさんあって大変でした。実際にゴリゴリ開発・運用している人を尊敬するしかない。

Google先生に怒られたところ(読み込み速度とかデザインとか……)も結構あったので少しずつ改善していきたいです。

今度はデザイン力を上げてからJSとか使いこなしてみたいですねえ。 ただ自分の面倒くさがりな性格だとできなさそう……。

RasPi運用だと空きメモリがだいぶ減って、その上毎日sidekiqを再起動しなければならない状態なので、試験が明けたら学生特権で借りているVPSに移そうと思います。

宣伝

アイコンを変えたいと思ったときにぜひご利用ください!

paltee.net