[SalesforceDeveloperCertification]platform-developer-i-certification-maintenance-winter-24

platform-developer-i-certification-maintenance-winter-24

public class QueryContact {
  public static Id getContactID(String lastName, String title) {
    try {
      Contact myContact = Database.query(
        'SELECT ID FROM Contact WHERE lastName = :lastName AND title = :title LIMIT 1'
      );
      return myContact.Id;
    } catch (Exception ex) {
      return null;
    }
  }
  public static Id getContactIDWithBinds(Map<String, Object> bindVars) {
    //do not modify any code above this line
    //implement the logic that will use bindVars to retrieve the contact's ID
    String queryString =
        'SELECT ID FROM Contact WHERE lastName = :lastName AND title = :title LIMIT 1';
        List<Contact> Contacts = Database.queryWithBinds(
            queryString,
            bindVars,
            AccessLevel.USER_MODE
        );
      return Contacts[0].Id;
    }
    
}

[JMeter]使い方

・スレッドグループ作成

スレッドが1クライアントとしてリクエストを送信し、負荷テストします。

スレッドは複数立ち上げて複数クライアントを想定したテストも行えます。

・スレッドグループ作成手順

「テスト計画」を右クリックして、「追加」 > 「Threads(Users)」 > 「スレッドグループ」選択します。

・スレッドグループのサンプラー(HTTPリクエスト)作成

リクエストを送信して、サンプリングを行うサンプラー(HTTPリクエスト)を作成します。

作成手順は以下です。

スレッドグループの右クリックして、「追加」 > 「サンプラー」 > 「HTTPリクエスト」を選択します。

・スレッドグループのリスナー(結果を表で表示)作成

スレッドグループの右クリックして、「追加」 > 「リスナー」 > 「結果を表で表示」を選択します。

・サンプラー(HTTPリクエスト)にリクエスト先のページを設定する。

・保存して実行

メニューの「実行」 >「開始」

・実行結果の確認

今回は、

初期状態の1クライアント想定の1スレッド、

1回繰り返しのため、

1×1=1リクエストのデータが1行表示されます。

・リクエスト回数を変更する(スレッド数とループ回数の変更)

例えば、10クライアント×1回=10リクエストの設定を行います。

「Ramp-UP期間(秒)」は、開始後何秒後に設定したスレッド数にするかの設定です。

実行すると、10クライアント×1回=10リクエストの結果がリスナーに表示されます。

・統計レポートの見方

統計レポートには以下の情報が表示されます。

「# Samples」「Average」「Median」「90% Line」「95% Line」「99% Line」「Min」「Max」「Error %」「Throughput」「KB/sec」

「# Samples」

サンプル数、つまり何回リクエストが送信されたかを表す数字です。

リクエスト数は、スレッドグループのところで設定したクライアント数を想定した「スレッド数」×「ループ回数」の値になります。

「Average」

各リクエストの応答までの時間の平均になります。

平均はサンプル数が少なく、極端に長い時間があると、参考にならない数字になります。 つまり外れ値を考慮して平均値を見る必要があります。

外れ値は、平均値(Average)、中央値(Median)、最小値(Min)、最大値(Max)を比較して、おかしい値を外れ値と判断するといいと思います。

「Median」

中央値です。 つまり、データを小さい方から大きい方まで並べた中のちょうど真ん中に位置するデータの値です。 外れ値が含まれた平均値を求めていないかなどを見極める際の参考になります。

「90% Line」

90パーセントタイルといわれる数字です。 データを小さい方から大きい方まで並べた中の90%がこれ以下の値になる境界の値です。 外れ値を手っ取り早く除外する場合に使える境界値になります。

「95% Line」

この値は、95パーセントタイルといわれる数字です。 データを小さい方から大きい方まで並べた中の95%がこれ以下の値になる境界の値です。

「99% Line」

この値は、99パーセントタイルといわれる数字です。 データを小さい方から大きい方まで並べた中の99%がこれ以下の値になる境界の値です。

「Min」

この値は、最小値です。 一番短かったリクエストの時間になります。

「Max」

この値は、最大値です。 一番長かったリクエストの時間になります。

「Error %」

エラー率です。 エラーになったリクエストの割合になります。

「Throughput」

この値は、スループットになります。 秒間何件のリクエストが処理できたかを表す値になります。

「KB/sec」

この値は、平均転送量になります。 秒間どれくらいのデータが転送できたかを表す数字になります。

参考URL

https://www.zealseeds.com/tool/test/performance/jmeter/index.html

[JMeter]JMeterダウンロードと実行

JMeterは以下からダウンロードできます。
http://jmeter.apache.org/download_jmeter.cgi

WindowsでJmeterを使う場合はBinariesのところにあるZIPファイルをダウンロードします。
(例 apache-jmeter-5.4.1.zip)

JMeterを起動するには解凍したフォルダのbinフォルダに以下のファイルをを実行します。
jmeter.bat