負荷テストの失敗談 – 会社のネットワークがつながらない
すでにこのブログでは、負荷テストの記事をいくつか書いています。
つい先日も仕事で負荷テストを行ったのですが、計画を考えながら、ふと昔の失敗談を思い出しました。
今でこそ、負荷テストの計画・遂行までディレクションできるようになりましたが、ここに至るまでに数々のミスリードがありました。。。
そんな僕についてきてくれた当時のプロジェクトメンバーにはいくら感謝しても足りないという思いです。。。
と、昔を懐かしんだついでに、僕の失敗談を綴ってみたいと思います。
負荷をかけすぎて会社全体のネットワークを止めちゃった!?
その失敗談というのは、別の記事にてちょろっと触れましたが会社の回線がボトルネックになって思うような負荷をかけられなかった話になります。
その昔、大手Webサービス会社に勤めてた時から、いろんな場所で負荷テストを実施してきました。
クライアントの制約条件からクライアントの会社内やサーバ室で実施することがほとんどでしたが、たまに制作パートナー会社から実施することもありました。
というのも、負荷テストはネットワーク環境も非常に重要で、より現実に近いテストをする場合、一度外部のインターネットを通ってから対象サイトへアクセスするのが望ましいのです。
ですが、クライアントが契約しているデータセンターによっては、通信帯域1GBを越えると、従量課金になったりする場合があったり、また他にもいろんなサービスがあるから、ロードバランサーも間に入れて負荷をかけるのは困る、といった理由のため、仕方なくイントラネットからアクセスしたり、対象サーバに直接負荷をかけたりしていました。
「このテストに何の意味があるのか?」という疑問を抱きながらなので、当然納得感はありません。
ですが、先日、割と小さい会社で新規サービス立ち上げなどのケースに立ち会うことができたので、思いっきり理想の負荷テストを計画して実施することができました。
負荷テストと言ったら、僕の中ではJMeterを使います。
(JMeterを利用した負荷テストに興味がある方は、JMeter 基礎編 設定から動作完了までを参考にしてください)
最初は軽く、
- スレッド数:100
- Ramp-UP:10
- ループ回数:10
の設定で徐々にスレッド数を上げていく形で負荷を上げていきました。
出だしは順調で、実施後、すぐに結果を分析し、結構楽しみながらやっていました。
ところが、スレッド数を2000台にしてテストをしだした頃、周りの席から
なんかネットワーク重くない?
みたいな声が聞こえてきました。
僕のJMeterは問題なく動いているので気にしていませんでし、声の主が嫌いな奴だったこともあり(笑)無視してテストを続けました。
ところが、スレッド数:5000にあげたあたりから、僕の端末のレスポンスが帰ってこなくなったので、
あ〜端末の限界か、、、端末増やすかな〜
と考え、PCを探しに別のフロアに移動したところ、
「ネットワークつながらねぇ!」
という声とともに、みんながハブやらルータやらを調べていました。
大変だねぇ〜、などとみんなの様子を横目に通り過ぎようとしたところ、
「もしかして、外部からのアタックか?」
という声が聞こえて、
「はっ!」
もしかして、、、アレか??
実は、理想の負荷テストをしたくて、外部からのインターネット接続でサーバに負荷をかけていたのですが、その会社はとても小さい会社で、サーバもインフラがちょっとわかるプログラマーが建てたもので社内に置いてあったので、会社全体のネットワークに影響が出てしまったのです。
そう、犯人は僕だったのです。
その後は、静かに席に戻り、しれっとLANケーブルを抜いて、騒ぎが鎮火するのを待ちました。
みんな、自分の業務に追われているので、復旧後はとくに原因調査をするこもとなく、
「上位回線で何かトラブルがあったのかもしれないね」
という声でこの問題は闇に葬られました。
大きな問題にならないのはよかったですが、ヒヤッとした事件でした。
みなさんも最高の負荷テストを求める場合は、実施場所のネットワーク環境をしっかり調べておくことを怠らないようにしましょう。
注意事項
負荷テスト実施する際は、負荷をかけるサーバ情報に誤りがないかどうか確認しましょう。
もし、誤って他サイトに対して負荷テストを実行してしますと、場合によっては、刑法第234条-2 電子計算機損壊等業務妨害罪に問われる可能性があります。
また、示談にするといわれても、相手のサーバが年商●●億円のECサイトを運用しており、サーバがダウンしていた時間の損害賠償を請求される、なんてこともあるかもしれません。
最近はIDS、IPS、WAFなどセキュリティも充実しているので誤って負荷をかけたとしても、通信を遮断されるだけで済む可能性は高いです。
いずれにせよ、間違えないことが当たり前なので、ドメイン名やIPアドレスの打ち間違えには十分注意しましょう。
コメント一覧
コメントはありません