メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

50人が一斉にGoogle Formにアクセスしても耐えれるのか?(負荷テスト)

 

先日弊社内で企画提案コンペがありました。
発表された企画の評価採点を入力・集計するにあたってGoogle Formを利用したので
せっかくなのでブログに残しておきます。

 

■ 事前準備

・企画コンペ運営チーム内でのGoogle Formの利用許可取得
 (企画コンペ企画段階で、とりあえず簡単なものを作って実際に触ってもらい、敷居を下げた⇒Fareless Changeで言うとお試しパターン)
・各自のスマフォ利用状況の把握と使用許可の取得
 (通信にかかるパケット利用料は各個人のうんたらかんたら・・・)
・非スマフォ / 個人での通信が出来ない場合の対応
 (WiFi用意や入力用端末の用意。)
Google Formへ一斉アクセス負荷によるアクセス遮断についての
 コンティンジェンシープラン立案
 (今回は紙にもメモとして入力してもらって最後にForm入力してもらった。
  アクセス遮断があったら紙集計に切り替え、笑)

こんなもんだったかな…

 

■ Form関連の準備

・入力方法に慣れてもらうためのチュートリアルを作成し冒頭で実施。
 似た入力体裁で、今日の気分は?のような簡単なアンケートを別フォームで作成。
・入力のvalidationに関しては、Formログインなどの実装はせず、
 今回は全員社員だったのでメールアカウント名を入れてもらった。
 入力後のSpreadsheetsで誤入力や多重入力チェックのため
 別シートでCOUNTIF表を作って判定。(下に図あり)
・スマフォなのでセレクトボックスは使わずに、
 タップしやすいようラジオに工夫。
・評価採点結果はグラフで表示、可視化。
・評価採点の指標が5項目あったので、集計結果をSpreadsheetsのグラフで
 積み上げで表示
 5項目をグラフに段階的に加算していくことにより動きをつけた。

・・・まだあったような気もするけど、忘れた・・・

f:id:ryoichi0102:20140619125707j:plain

 

■ 当日

チュートリアルを実施して、企画提案発表を実施。
すべての発表が終わったら各自のスマフォで指定urlにアクセスしてもらい
Formに入力してもらいます。
(紙も配ってたので、QRコードを配布すればよかった)

運営側では入力状況を見つつ、全員の入力が終わった段階で
結果をその場で発表。
=一応?リアルタイム集計。

結構盛り上がったと思えたのでよかった~。
みんな結果に注目しすぎてたのか写真なし…(;;

f:id:ryoichi0102:20140619125726j:plain

↑こんな感じで発表チームごとに集計しました。

f:id:ryoichi0102:20140619125755j:plain

f:id:ryoichi0102:20140619125805j:plain

グラフ表示用の表を別で用意して段階的に数値を有効にしていきグラフに反映

f:id:ryoichi0102:20140619125847j:plain

f:id:ryoichi0102:20140619125855j:plain

っとまぁこんな感じに。

 

■ やりたかったけど工数的にできなかったことやアイデア

・アカウント名を取得しvalidationを実施後に
 GASでFormを動的に生成して返す。
・送信時に二重送信のvalidationをしたかった。
・集計結果のSpreadsheetsデータをJSONで取得して
 jQueryなどのライブラリを使用してグラフで見せる。
 ⇒少し作り込めば欽ちゃん仮装対象みたいなこともできるのではないだろうか

 

■ 感想 

やはりこういうイベント事ってワクワクしますね。
対象が社内だったので失敗してもお客様に迷惑がかからないこともあったので
好き勝手やらせてもらえたのでありがたい。
まぁ、失敗したら恥なのでそれなりにプレッシャーありましたけどねw