Advanced Angel-CUP

現在、ミラーサイトやってくださってる方々を中心に Angel-CUP育成Projectというのが動いていて、
Angel-CUPをもっとちゃんとしたシステムにしようと改変作業してくれています。

これが稼働の際には、angel-cup.ch2.cc のドメインをそちらの新型に振って~ということを考えていたのですが、MMD杯という大イベントを処理するにはその方がいいのですが、MMD杯以外の各種イベントまで全部育成Projectの新型Angel-CUPにやってもらうのはきついのじゃないかな、というのが悩みだったわけです。
現在の Angel-CUPは小回りが効いていじりやすいので小規模イベントには便利なのです。

というわけで、
angel-cup.mmdcup.org とか AA-CUP.mmdcup.org なんて形の mmdcup.org のサブドメインを新型 Angel-CUPに振って、MMD杯などの大規模イベントは新型にお願いする。小規模イベントは小回りの効く現行の angel-cup.ch2.cc で今まで通り扱う。
なんてことを考えてみました。

というわけで、10杯の本選、現在 angel-cup.ch2.cc に乗ってますが、これは近々、予選とかのタイミングで新型に移転になると思います。
どうかしら?

杯期間中の負荷

遅くなりましたが、杯期間中の鯖の負荷について

投稿期間

1) 開始直後と、投稿期間終了間際にアクセスが多い。
2) トラフィックは実際に見てるユーザー数に比例する感じ。
 ニコユーザーの元気な時間帯に合わせて推移してる。
3) ディスクI/Oはほとんど writeばっかり。
 おそらく cronkoで更新してる数値データが原因。
 DB自体はほぼメモリに乗っているので、readは少ない。
4) 投稿期間終了後にディスクI/Oが減っているのは、cronkoを回す頻度を落としたから
 (ピーク時:5分毎⇒定常運転:1時間毎)

投票期間中

1)トラフィックはやっぱりニコユーザの生活時間帯に比例
2)他は投稿期間中よりも低いレベルで安定している

閉会式後

この図は weeklyじゃなくて一日分なので注意。
1) 実はトラフィックの最高値は、閉会式終了ぐらいに発生。
・杯で毎回配布してる個人表彰セット.zip が、いつも使っていた mediafireが不調とかで使えなかったので、急遽 angel-cup鯖に置いて配布した。 300MBクラスのファイルを千人レベルでDLされたのでトラフィックはカオスなことにw 杯期間中の100倍w
2) それに合わせて CPU負荷も跳ね上がってた。
 CPU負荷も10倍。ここまで回しても、さくらには怒られませんでした (^^;
ここのピークが一番酷かったので、ここまで負荷かかっても大丈夫ということで (^^;

賞テーブル 素案


+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| eventname   | varchar(16)  | YES  |     | NULL    |                |
                'MMDCUP' 固定 他イベントで継続的なものも扱うなら別途定義
| nth         | int(11)      | YES  |     | NULL    |                |
| prizetype   | varchar(1)   | YES  |     | NULL    |                |
                          'M' : 総合
                          'T' : テーマ別
             'S' : 選考委員
             'U' : 特別賞
             'K' : キリ番
| prizeno     | int(11)      | YES  |     | NULL    |                |
                          1位、2位、3位…
             特別賞など順位関係ないのは表示順
| prizename   | text         | YES  |     | NULL    |                |
| prizedescri | text         | YES  |     | NULL    |                |
| eventcode   | varchar(16)  | YES  |     | NULL    |                |
| nicono      | varchar(40)  | YES  |     | NULL    |                |
| image       | varchar(255) | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+

MMD杯終了♪

皆様、お疲れ様でした。
そしてミラーサイト様など Angel-CUPを支援してくださった方々、ありがとうございます。

9杯から杯運営スタッフとして参加して、
何故かデータ集計担当ということになってしまって、
Angel-CUPなんてものを立ち上げました。
が、これを作れたのも澪姉様の残した各種スクリプト等があったからこそ。
改めて姉様に感謝。

そして今回スタッフやって初めて身に染みて判ったことですが、
本選始まってしまったら、作業する時間なんてまず無い!!
これに尽きますねw
Angel-CUPはまだまだ未完成で追加したい機能とか、途中までやりかかってた作業が
いくつかあったのですが、本選始まってしまってからは手を付ける余裕が無かったです。
その辺がとっても心残り。
なので、10杯に向けて、Angel-CUPもリニューアルというかちゃんと設計し直して
10杯予選までにはもう少しなんとかしたいと思います。

DBに追加したい項目
・賞名、賞の選出理由、賞の区分
・予選作品の sm番号 ←→ 本選作品の sm番号
 (予選作品と本選作品のヒモ付け)
機能として実装したい…
・再生数、マイリス数などの伸びのグラフ化
・WebからのDBメンテナンス
・受賞作だけの抽出、html出力
・予選と本選で【name:】が違う場合の warning出力
要検討項目
・読み仮名の実装?

実際に作業してて、予選と本選のヒモ付けは K240様提唱のSQLを少し改変して csv出力したのが
とても役に立ちました。ありがとうございます。
予想外に手間取ったのが、EDの参加者名テロップに出す参加者名リストで、
今回漢字の参加者名をできる限り「読みのあいうえお順」にしようとして
難読名に困ってたりしましたw 投稿者のtwitterとかブログとかまで探し出して調べたりねw
調べて見たところ、5杯、6杯、8杯は「漢字コード順?」な並びで
7杯だけが読みのアイウエオ順だったわけで。
この辺はどうしたもんかマジ悩みます。
あと ubuntu の uniq が UTF-8なファイルに効かないとか細かいことも…

「これから育つの…」な Angel-CUPですが、10杯には B-CUPになれるといいなぁ。
そんなわけで皆様、ありがとうございました♪

おまけ: (2012/09/09 14:20追記)
第9回MMD杯 本選結果 mc9result.sql

おまけ:
 毎回配布してる個人表彰セット、何故かいつもの MediaFireに置けない~ってことで
急遽 Angel-CUP鯖に置いて配布ということになったのですが、さすがに 250MBほどあるファイル、
このDLだけでグラフがすごいことになってましたw
でも問題なく配布出来たみたいで、さくらVPS凄いです。

予選ポイント

予選ポイントの集計結果です。
yp.sql

418作品 合計予選ポイント 33,340点ですが、
予選ポイント=0 の作品も含めて 686作品分(3件は権利者削除等)です。