Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウドサービスの負荷テストで嵌ってる話.pdf

 クラウドサービスの負荷テストで嵌ってる話.pdf

SHIFT_EVOLVE

July 26, 2021
Tweet

More Decks by SHIFT_EVOLVE

Other Decks in Business

Transcript

  1. 2 現在担当している案件  案件:MS のクラウドサービスをバリバリ活用したシステム開発案件! • Dynamics 365 • Power

    Apps • Power Automate • Power BI • Logic Apps • SharePoint • Azure • Azure DevOps • Azure AD • WVD ・・・  担当:テスト領域の技術支援(E2Eテスト自動化、負荷テスト) クラウド関連で話したいことはいろいろありますが・・・ (複雑なライセンス、課金、アカウント、テナント構成、etc.) 本日のテーマ JMeterによるクラウドサービスへの負荷テストについて スクラッチな開発は 極力しない!
  2. 3 Dynamics 365 (Azure) に対する負荷テストだと・・・?  何のためにやるの?  どこに負荷をかけて、どこの性能を測るの? 

    どのくらいの負荷をかけるの?やっていいの? いろいろと疑問はあるが JMeterでやることはほぼ確定済み!
  3.  対象のDynamics 365はOAuth 2.0認証を使ってるよ  他にクレームベース認証、Active Directory認証もサポート  JMeterでOAuth 2.0認証の対応方法を検索しても、直接的

    な解決策にヒットしない!  対応可:ベーシック認証、ダイジェスト認証、Kerberos認証、LDAP認証 わかったこと(最初からわかってたことも含む) 最近のクラウドサービスは OAuth 認証や OpenID Connect だよね、知ってるよ OAuth 認証に利用できるパラメータオプションが多すぎて OAuth 認証に利用できるパラメータオプションが多すぎて クラウドサービスによって違うからね こういう手順ででき るはずだ、俺はやっ たことないけど Postmanなどで認証 プロセスを解析して みるといいかも
  4. 6 対応方針  方針1: Web Driver Sampler (Plugin) を使う 

    要はSelenium、ブラウザを操作  動いた!でもCPU、メモリを大量に食う!(当たり前)  方針2: Azureの 「APIのアクセス許可」 を使う  Azureで操作して、外部アプリアクセス用のクライアントID、クライアントシークレットを払 い出しておく  動くはず(実機検証中)、でも認証プロセスは実業務アクセスとは別物  方針3:プロトコルと認証プロセスを解析してOAuthの動的パラメータをを設定する  最初に諦めた方式  有能なエンジニアが時間をかけてトライすればできるはず 前提次第ではもっともお手軽、簡単♪ 方針3よりは簡単(なはず) メソッド リクエスト名 パラメータ GET login.microsoftonline.com/{tenant}/oauth2/authorize state, nonce POST login.microsoftonline.com/{tenant}/login canary, ctx, hpgrequestid, flowToken POST XXXXXXXXXXXXXXXX .dynamics.com code, id_token, state, sessin_state