BELIEVE MY DRE@M!!とミリオンボーダーbot2. About me
● treby
○ PSL4(ミックスナッツ) 3位・戦国復刻イベ 7位
○ ラウンジ : R-Gray / 一周年おめでとうございます!
○ 過去お世話になったラウンジ
■ 国立音ノ木坂学院 : 〜2015/04
■ HHV(仮) : 2015/04 IMC10(このみさんIMC)
○ BMDはこのみ莉緒昴の3枚取り
■ ランナー分布で煽ってたせいか (自意識過剰かもですが )ボーダーぬるいことがバレた。それ
で他の方が流れてきて、最後崖がない分布になってて泣きそうだった。特に昴。
14. 裏側のお話
● つよくてニューゲーム
○ 21人→37人
○ 画像の導入
● 503 Service Temporarily Unavailableとの戦い
● ランナー分布→誰でも情報を簡単に見られる世界線
● ボーダー観測の知見を生かした開発(キャスト投票CP)
● 次回以降の課題
○ 画像に添える文章で以下に上手く状況を伝えられるか
25. BMD→503 Service Temporarily Unavailableとの戦い
● 503:サーバがアクセスを処理しきれず、パンクしてしまった時
に起こるエラー画面
● ミリオンボーダーbotのサイト(mlborder.com)で発生
○ BMD前日(EHのボーダーページにアクセス集中)
○ 最終日付近(BMDのボーダーページにアクセス集中)
● 一部ページが重いため、アクセスが集中すると発生する
○ 元が適当に運用しているページというのもあり
● BMD:最大同時アクセス数235程度
27. 503対策
● いろいろなサーバに入って再起動かける
○ ボーダーの時系列データ入れているところがネック
● 苦肉の策でメモリキャッシュ効かせるように
○ https://github.com/mlborder/borderbot-
rails/commit/2ee0049a6417771203c9a242b4b4e42e64f7d76f
○ 効果はあったが、キャッシュが効く前にアクセス殺到するとつらい
● 札束で殴る(サーバ課金)
○ HerokuのFree dyno(無料)からHobby dyno(有料)に切り替えた。
○ リクエストをサクサクさばけるようになった
28. BMD→503 Service Temporarily Unavailableとの戦い
● 端的には負けた
○ サイトはアクセス集中するとそれなりに落ちた
○ 残されたのは味気ないエラーメッセージだけ……
● 原因が推測レベルでしか考えられなかった
○ メトリクス見てボトルネックを特定して対策せねば
○ 今の自分では技術力が足りない
● 次までには精進してまいります……
32. ● 駆け引きの材料を提供
● データ実は愚直にとってきています
● さくらのVPSの一番いいやつを借りて、10並列で取得
○ 500位までの全アイドルデータを大体4分ほどで取得
○ 一応お試し期間ということでサーバ費用はゼロ
● やんちゃしまくりなので、この作業は完全に手動で実行
○ 実際、土下座をする用意しかないです
● サイト的にはstatic fileを読む構成にしたので実は重くない
BMD新機能:ランナー分布の導入
37. 【参考】トレンド計算ロジック
● トレンドの種類(A, B, Cの順で優先度高い)
○ A. 逆転(1位と2位の順番が入れ替わっている)
○ B. 猛追(2位が1位との票差を半分以上詰めている)
○ C. 独走(1位が2位の得票数の10倍以上稼いでいる)
○ C. 平行線(1位と2位の得票数の差が10票未満)
● 時間があればもう少し検証したかった部分