WhaTab LabsのCTOである、キムソンジョは先日、 「Little's Law 公式パフォーマンステストで活用する」動画を上げました。ソンジョ様の説明を聞いてみると、Little's Lawに気になりはじめます。それで、Little's Lawについて紹介したいと思います。
Little's LawでLittleの意味が気になる方がいらっしゃるかと言えば、Little's LawはJohn Littleが考案したマーケティングキュー理論です。 MIT教授でありながら、マーケティング科学の分野で貢献したジョンリトル教授は、L=λW式を数学的に証明しました。Little's Lawは、銀行やコンビニエンスストアで行を行った場合、平均して何が起こるかを教えてくれます。Little's Law キューが存在する空間内の時間と人の関係を定義します。この概念はさまざまな分野で使用されていますが、IT業界ではサービスのパフォーマンスを測定するために使用されています。
Little's Lawの式、L = λWでは、Lは店舗の顧客の平均数、λ(ラムダ)はキュー内の人数、Wは店舗に滞在する時間を意味します。
コンビニ
コンビニエンスストアの場合、1時間あたり100人が来る(λ)、顧客あたり平均6分(0.1時間)を消費するなら、公式は100(λ)×0.1(W)になるので、コンビニに滞在する顧客は平均10人(L)です。
レストラン
レストランの場合を考えると昼食に時間当たり平均100人の顧客が食事をするが、顧客あたり平均30分を消費するならLittle's Lawの公式は100(λ)×0.5(W)なので、昼食の時間の間レストランに滞在する顧客は50人 です。つまり、ランチの顧客を受け取るには、4人のテーブルが少なくとも13個必要です。
高校
より簡単な例を挙げると、A高校が毎年300人の学生を受け取ると、高校は学生あたり3年をとるので、公式は300(λ)×3(W)になり、高校を通う学生は900人だと予想する することができます。W(待機時間)を調整してスペースに滞在する顧客の数(L)を変更できるため、Little's Lawは航空会社のカウンター、遊園地、製造、工業施設などを設計するときに便利です。
Little's Lawを再び説明すると、空間内に滞在する顧客数(L)は、顧客が流入する量(λ)と顧客が滞在する時間(W)に比例するということです。これをITサービスの流入量で表すと、次のようになります。
空間内にとどまるオブジェクト数(Active User)は、オブジェクトの流入量(TPS)とオブジェクトがとどまる時間(Response Time)に比例する。
早くもっと詳しく表現すると下記の式が出てきます。
CU(同時ユーザー) = λ(TbS) × W(Request Time + Think Time)
ここでThink Timeは、ユーザーがサービスの使用中にWebページを見たり考えたりする時間をTPSは1秒あたりのトランザクションを意味します。また、Concurrent User(同時ユーザー)をパフォーマンステスト時には、VU(仮想ユーザー)と表記することもあります。たとえば、1 秒あたり 10 件のトランザクションが発生していて、オブジェクトが滞在する時間が 10 秒の場合、同時ユーザーは 100 人と考えることができます。
それでは、アプリケーションのパフォーマンス分野の対価であるキムソンジョ様の5分講義を聞いたら、アプリケーションのパフォーマンスの短い説明を聞いてみてはいかがでしょうか。