白い恋人チャレンジに学ぶ、アクセス集中で繋がらないサイトをなんとかする対処方法(案)

ライフハック

「白い恋人チャレンジ」とは?

新型コロナウイルスの影響で北海道の観光客が激減したことにより石屋製菓の看板商品である白い恋人の販売数が激減。賞味期限が迫る商品も増えてきた。

そこで、白い恋人や美冬などの総額 10,800円以上の人気商品を詰め合わせした

「白い恋人で北海道にエール!BOX 」を5,400円でオンラインで販売

ステイホームのおうち時間のおともに絶好のお菓子だし、売上の一部は北海道へ寄付されるとあって魅力的な商品である。

あの白い恋人の詰め合わせが送料無料の半額、買わない理由が見つからないのでオンラインショップにアクセスが集中してサーバがダウンまで起こった。

家にいるひとが多いこともあってか販売開始から終日、高トラフィック状態が継続。無事に購入できた人もいれば、購入シーケンスの最後でサーバエラーが発生してはじめからやり直しとなるひとも。

高トラフィックでサーバからのレスポンスが悪い
 
皆がリロードしてさらにトラフィックがあがる

サーバからのレスポンスがもっと悪くなる

っと悪循環。

そんな全国からのアクセス殺到で全然反応しないオンラインショップのホームページで決済まで進み、「白い恋人で北海道にエール!BOX 」を購入できるまでのチャレンジ。

パソコンで「白い恋人で北海道にエール!BOX 」を購入したまでのノウハウをメモしておく。

 

イシヤ オンラインショップの状況

イシヤオンラインショップにアクセスしてみると当然のように表示が遅い。
トップページから繋がりにくくて読み込み始めたと思ったらサーバーエラー

リロードしまくるとアタッカー扱いされちゃうことも。

なるほど簡単に買えそうにない。

 

商品をカートに入れるまでのステップ(採用案)

まず商品の購入手続きするためのステップを確認。
カートに入れるまでは、3ステップでカートに入るシーケンスになっていた。

オンラインショップにアクセス  商品ページに移動  カートに入れる

「カートに入れる」ときのURLをメモる。
例)https://www.ishiya-shop.jp/?cart&add=A00&q=undefined&b=%xxxxxxxxxxxxxx

サーバーエラーで振り出しに戻った時に、この URL でホームページにアクセスすると カートに商品が入った状態からスタートできる。一度、カートに入れば cookie が記憶するので3ステップ 1ステップになるアドバンテージとなった。

手順をショートカットできる可能性のある URL をメモ。
エラーではじめからになったときは直接、アクセスしてみる。

※ 六花亭オンラインショップではあまり効果がなし

複数タブでリロード操作をしてみる(ボツ案)

全然サーバに繋がらないのでパソコンのブラウザで複数のタブを開いて一斉にアクセス。
どれがひとつでも繋がればそこから手続きを進める方法を試してみる。

すると…。

複数タブや複数ウィンドウ動作は禁止されています。

OMG!! 同一ブラウザでの複数アクセスは禁止されていた。
複数ブラウザ(Safari、Chrome、Firefox)で1ウィンドウでのアクセスは問題なさそう。

画像とJava Scriptを読み込まない(ボツ案)

高速に読み込む方法のひとつに画像とJava Scriptを読み込まない手段がある。
サーバからのアンサーに時間がかかるケースの時は、サーバから送信されるデータ量を少なくすることでページ表示を高速化する鉄板の方法。

ブラウザ(Safari、Chrome、Firefox)を設定して読み込まないように

すると…。

OMG!!「お客様情報」で画像認証!

Bot のアクセスを防止するための画像認証。
画像の数字を入力しないと次のステップに進めないようになっている。

さらに入力した情報を送信(Post)する仕組みに Javascriptを使っていたのでこの案もボツ!

 

サーバーからの応答を待ち続ける(採用案)

エラーになってはリロードして「お客様情報」を入力してはエラーで初めからやり直しを繰り返しているとこのエラーが疑問になってくる。

このエラーって誰がエラーなの?

トラフィックが多い時によくあるのがサーバから応答がなくてエラーになる事象。
この時に、応答がこないと遅いでは全然違うのだ。

こない = サーバとの接続が切断されちゃった(接続断)
遅い  = サーバとの接続が時間切れ(タイムアウト)

普段ならどっちでもエラーになっていいけど今日は違う。
みんなのアクセス殺到でサーバが手一杯で処理に時間がかかってしまっているのだ。

ではどうする?

恋人をずーーーっと待ち続ける!

つまり、白い恋人サーバから応答があるまで待ってみる。
ブラウザのタイムアウトをタイムアウトを無しにしておけば

片思いの白い恋人がいつか返事をしてくれるかも知れない💘

主要ブラウザを調べてみると Macユーザーご愛用の Safari、世界の Google の Chrome はタイムアウト時間の設定を変えることができないようだ。設定できるたのが Firefox Browser

Firefoxを使って白い恋人作戦を実行する。

Firefoxのタイムアウト値を変更する方法

Firefoxを立ち上げてアドレスバーに about:config と入力すると高度な設定モードになる。

 

「設定名を検索」に入力して値を変更する。
network.http.keep-alive.timeout
デフォルト 115(秒) 999

network.http.response.timeout
デフォルトは 300(秒) 9999

ブラウザ(Firefox)のタイムアウト設定を無限(9999秒)にすることで、白い恋人からの返事をずーーっと待ち続けてみます。

 

白い恋人の購入シーケンス

イシヤ オンラインショップで「白い恋人で北海道にエール!BOX 」を購入するまでの流れ。
5つのフェーズを通過する必要があった。

  1. お支払い方法を指定
  2. 注文情報を入力
  3. 注文情報を確認
  4. カードを指定
  5. 注文完了

詳しくは忘れてしまったけど「待ち続ける」作戦の効果はあった。

注文情報を確認などボタンを押した(POST)らにすぐにエラーになる(GET 50x)場合は、白い恋人サーバに接続できなかったときなので再度、ボタンを押してPOSTする。

ステータスに応答がなくタブの丸い点が動いている時は、白い恋人サーバに繋がったとき。返事がくるまで辛抱強く待つことで無駄にリロードすることなく注文完了することができた。

決済での試練

クレジットカードを指定してカード番号やセキュリティコードなどを入力していざ決済するとエラーが発生。このエラーはクレジット認証サイトとイシヤオンラインのサイト間で発生している感じだった。

ツイッターに同様な事象報告もあって多重決済の恐れもありそう。
高トラフィックが想定されるECサイトは決済するサーバは別にしておいて欲しいところ。

 

石屋製菓のCSRの取り組み

石屋製菓は CSR の取り組みとして様々な地域の人々や事業への支援活動を行っている。

CSRとは企業の社会的責任のことで企業が倫理的観点から事業活動を通じて自主的に社会に貢献する責任のこと。

具体的には、新型コロナウイルスと日々、戦っている全国の医療従事者へ「白い恋人」を寄贈したり、入学しても学校が始まらない不安に思う全道の小中高校の新入生約12万人に「白い恋人」を贈呈しています。

半額の白い恋人BOXだけに目を奪われるのでなく石屋製菓のこういった企業姿勢を応援したい。