検索
ニュース

Pythonベースの負荷テストについて知っておくべきこと負荷テストの重要性と準備方法

アプリケーションに多くのユーザーが同時にアクセスすることで、障害が発生する危険性がある。そうした需要に対応する準備が整っていることを確認することは重要だ。本稿では、負荷テストのベストプラクティスにPythonを利用できる箇所と、アプリケーションを適切に準備する方法を解説する。

Share
Tweet
LINE
Hatena

 アプリケーション開発チームは負荷テストを実施することで、少なくとも所定の負荷値まではアプリケーションが想定通りに機能することを保証できる。だが、負荷テストを重視しない開発チームがあまりにも多い。

 開発者がスポットチェックを行ったり、パフォーマンスを高めるコーディング手法を採用したりすることは可能だ。だが、予期しないユーザー負荷が原因でサーバがロックすると、企業もユーザーも不意を突かれることが多い。負荷が高過ぎてアプリケーションが機能しなくなるのは恥ずべきことだ。

 そこで、本稿では、負荷テストのベストプラクティスにPythonを利用できる箇所と、実際の状況に合わせてアプリケーションを適切に準備する方法について説明する。

負荷テストが重要な理由

 負荷テストは一種のパフォーマンステストで、アプリケーションにどの程度まで負荷をかければ、パフォーマンスや機能に悪影響が出るかを検証する。

 あるソフトウェア開発企業が、登録したユーザーが自身の処方箋と投薬状況を毎日追跡できるWebサイトを新しく立ち上げる準備を整えたとする。このアプリケーションは、指定された時間に薬を服用するよう毎日登録ユーザーにメッセージを送信し、その情報を登録ユーザーの医療記録と医療提供者に中継する。

 負荷テストでは、テスト担当者がサーバに負荷をかけ、1000〜100万人のユーザーが同時に登録、ログイン、医療データの入力を行う状況をシミュレーションする。サーバリソースの消費量が1%程度であれば、アプリケーションは想定通りに機能し、適切なパフォーマンスを発揮するはずだ。次に、テスト担当者はサーバリソースの50%を消費するまで、あるいはサーバが停止するかアプリケーションがロックするまでユーザー数を増やしていく。テスト担当者が負荷をテストする際は、負荷をかけた時間やデータ取得速度も計測し追跡する。負荷をかけるユーザー数を変えながら、アプリケーションとサーバのパフォーマンスをドキュメントに記録する。

 効果的な負荷テストは、システムの次のような問題点を特定できる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る