Kitaarashi共有するFacebookTwitterEmailLinkedIn皆さん、こんにちは。アドオンのBlazeMeterをご紹介したいと思います。クラウドの世界においても構築したWebアプリケーションに対する負荷テストは従来と同じくとても重要なものです。HerokuはPaaS環境であるため、手軽にサーバー実行環境を準備することができますが、SalesforceなどのSaaSと異なり、アプリケーションの性能までは保証してくれません。アプリケーション自体にボトルネックがあったり、DynoやPostgresなどのミドルウェアのプラン設定が適切でなければ、本番環境で期待したパフォーマンスは実現できません。そのため、できるだけ本番に近い負荷をかけて負荷テストを実施することが理想的ですが、多くのプロジェクトではリソースの関係から大量の負荷をかけることが難しいのが実情だと思います。今回ご紹介するBlazeMeterはJMeter互換の負荷テストツールであり、Herokuにアドオンとして追加することで、簡単な設定でHerokuアプリに対する大規模な負荷テストを行うことができます。SaaS型の負荷テストサービスです。互換であるためJMeterで作成したスクリプトを使ってテストを実行できることの2つが挙げられます。BlazeMeterはHerokuに特化したサービスではないですが、Herokuアドオンとして使用することで、Herokuの課金クレジット内で使用することができるため、別途契約を結ぶ必要がありません。BlazeMeterは、OSSの負荷テストツールとしては最もポピュラーなJMeterで作成したスクリプトをそのまま実行できるため、とても手軽にテストを実行することができます。後述しますが、テスト実行環境の設定や結果の参照も使い易いGUI経由で直感的に行えるため、マニュアルを読み込む必要はありません。BlazeMeterを導入して下さい。無償プランが準備されていますので、評価用にはこちらを選択して下さい。無償プランの制約は下記のようなものです。Test」ボタンを押します。テストタイプを選ぶ画面が表示されます。Test(new)」を選択して下さい。Script」からローカルで作成したJMeter用のスクリプトをアップロードして登録します。CONFIGURATION」セクションから行います。Timeに設定した時間(分)を要する[設定項目の説明]下の例では、20ユーザーで20分間のテストを実行するように設定しています。up時間は1分なので、実行開始から1分後に最大の20ユーザーでの負荷がかかります。[BlazeMeterのメイン画面]BlazeMaterはAWS上で稼働するサービスであり、AWSのどのリージョンにテスト環境をセットアップし実行するかをここで設定します。TokyoのAPリージョンを選択することもできます。Test」を使ってスクリプトが正しく実行されるかを確認すると良いです。テストが実行されます。テストを実行すると、下記の画面が表示されAWSのクラウド環境に実行環境が準備されます。テストの規模が大きい場合は、この作業には数分かかります。テストの実行と結果の参照テストが開始されると下記のような実行時の状況が表示され、負荷(実行ユーザー数)と応答時間をグラフィカルに参照することができます。下記のグラフはユーザー数とリクエスト数/レスポンス時間の関係を表しています。テストを開始すると指定された実行回数の完了(Iteration)または実行時間が経過するまで、負荷をかけ続けます。この画面で大量のエラー(ステータスコードが500)が報告された場合は、何らかの原因でスクリプトの実行が失敗しているため、原因を判別する必要があります。失敗する原因としてはセッション周りやデータに起因することが多いです。[負荷テストの実行結果][大量にエラーが発生したケース]テスト全体の実行状況の他に、BlazeMeterはテスト実行時の様々なデータを可視化してくれますので、詳細な分析を行うこともできます。ヒット数、n%のユーザの最大実行時間、エラーの数などを表形式で参照できます。下記はスクリプトのステップごとにユーザー数とレスポンス時間の関係を示すグラフです。どのリクエストがボトルネックになっているかを調べる時に便利です。HTTPステータスごとのエラー数を参照することもできますし、さらに詳しいデータを参照したい場合は、Lowレベルの実行ログをダウンロードする機能も提供されています。[ステータスごとのエラー状況の表示]まとめ有償サービスにはなりますが、BlazeMeterを使うことでHerokuアプリの負荷テストを手軽に実行することが可能になります。JMeterのスクリプトをそのまま使えることもこのツールの強みですが、大量ユーザーで負荷をかけるための大規模なリソース環境を画面上の簡単な設定だけで実現できることも大きな利点でしょう。クラウド環境のメリットを感じることができるツールだと感じました。無償プランも準備されていますので、手軽に試してみることができます。スクリプトはローカル環境で作成して下さい。BlazeMeterにはスクリプトの作成機能はありませんので、従来と変わらずエンジニアがテストシナリオを考えて、ツールを使って作成する必要があります。著者についてアピリオのシニアコンサルとしてクラウドの世界に身を投じてはや5年あまり。プロジェクトでの立場に応じて、アーキテクト、リーダー、デベロッパーと様々なロールの仕事に携わっています。新しいサービスと技術が登場するSalesforceの世界はエンジニアとして常に刺激を持ち続けられるエリアであり、2019年からはMuleSoftソリューションの起ち上げに関わっています。取り上げてみたいと思います。取り上げてみたいと思います。入門編ブログをシリーズに渡ってお届けします。開発の基本から簡単な応用テクニックまでを網羅します。Platform」についてご紹介します。主導のシステム連携をサポートするための幅広い機能が単一のプラットフォーム上で提供されています。デプロイ作業について説明します。実装について説明しました。デプロイ作業について説明します。変換例を紹介しようと思います。変数や関数の利用、典型的な変換パターンを例を交えて説明します。使ったブラウザ環境でのMuleアプリケーションの開発についてご紹介します。Muleアプリケーションを作成することに比べて、とても手軽にアプリケーションを開発できます。して提供されている単体テスト用のフレームワークです。同じようにテストスイートを実行することで単体テストを自動実行できます。開発におけるテストについて考えていきます。つのレベルの検証を実施すべきと考えます。実装したらすぐに運用開始できるというものではありません。ポリシー設定についてご紹介します。API管理は標準のポリシーの組み合わせで幅広い要件をカバーできますが、場合によっては既存機能の拡張や新機能の定義が必要になります。今回は、「カスタムポリシー」の開発手順についてご紹介します。リソースのバージョン」)を管理する必要があります。バージョン管理についてご紹介します。アプリケーションの実装方法について紹介しようと思います。アプリケーションの実装方法を引き続きご紹介します。ついて、その特長と使い方をご紹介します。ComponentsがSrping'19から提供されることになりました。Componentsが登場してきた背景とその特長について説明します。Componentsの基本的な構成(メタデータ、html、JavaScript)や実装のルールについて説明します。JavaScriptコードなどはAuraコンポーネント時代からかなり変更された要素ではありますが、より簡潔にコードが書けるように進化しているという印象を受けました。今回は簡単なサンプル・コンポーネントを通して、LWCの基本的な実装方法とSalesforceサーバーからのデータの取得方法を見ていくことにします。Serviceというノンコーディングでサーバーからデータを取得できる便利な方法が導入されており、いくつかの方法でサーバーデータを取得できます。本稿ではその特長と使い分けについて解説してみます。CLIを使って行います。今回はこのCLI(コマンドライン・インターフェース)にスポットを当ててみたいと思います。CLIは従来はAPIでのみ提供されていたSalesforceサーバーに対する様々な機能をコマンド形式で実行できる環境であり、Winter’18で正式にリリースされました。第5回目の今回は応用編ということで、本格的なLWCの実装時に必要となるテクニックをいくつか紹介します。各種資料ENGLISHこのハブをシェアするFacebookTwitterEmailLinkedIn。