Power Apps Portal + Datavese で作られたWebアプリのレスポンスが悪い!? 原因について調べてみた!!#Power Platform リレー
2022-01-06
azblob://2022/11/11/eyecatch/2022-01-06-power-apps-portal-000.jpeg

あけましておめでとうございます。

Power Platform App Maker かつ Power Platform Functional Consultant ※1 なサトハルです。

先日、Power Apps Portal を用いて作成したWebアプリを100人ほどで使用したところ、アプリが非常に重いという現象がありました。

「これがPower Apps の限界なのか?」という声が聞こえた気がしたので、Power Apps の可能性を信じるモノとして調査してきました。

発生した条件

何が原因かわかりませんので、書ける範囲で状況を羅列していこうと思います。

  • テナントは弊社のいつものやつ
  • Power Apps の「環境」は本アプリ用に新規に用意してもらった
  • 新しく用意してもらった「環境」の種類は「Production」だった
  • Power Apps Portal + Dataverse だけのシンプルな構成
  • Power Apps Portal は試用版を利用
  • 各ユーザーは特定のタイミングで一斉にフォームを使って Dataverse にレコードを追加する
  • 各ユーザーは特定のタイミングで一斉に Dataverse の値を確認する
  • 各ユーザーはPower Apps Portal 敵には匿名ユーザーであり、クエリパラメータでユーザーIDを渡して識別している

こんなところです。

調べてみたところ、何が決定打かはわかりませんが、上記の中に原因と思われるものがいくつかあったので解説していこうと思います。

原因1:試用版を利用していた

引用:サービス保護 API の制限 (Microsoft Dataverse) - Power Apps | Microsoft Docs

Dataverse や Power Apps Portal が実行されるWebサーバーの数は、環境に紐づくライセンス数などによって変動する用です。

今回使用した環境はこのために新しく作ってもらったばかりなうえ、唯一のアプリも試用版を利用していたので紐づいているライセンス数は0です。

その結果、実行されているWebサーバーの数が少なかったということが想像できます。

ちなみに、「仕様環境」というのは Power Apps Portal の試用版のこととは別です。

具体的な数字は示されていませんでしたが、Portal のアドオンを購入して割り当てていればWebサーバーの数は増えたであろうと予想できます。

原因2:匿名ユーザーを使用していた

引用:サービス保護 API の制限 (Microsoft Dataverse) - Power Apps | Microsoft Docs

Dataverse には特定のユーザーが異常な操作をした場合に備えてサービス保護の制限がかかっているようです。

匿名ユーザーは Dataverse 君的には全員同一人物なので、こちらの制限にかかっていた可能性が高いです。

また、こちらの制限はユーザー毎かつWebサーバー毎であるようなので原因1との相乗効果で制限がきつくなっていたように思います。

解決策

  1. マシンパワーがいるWebアプリを Power Apps Portal で立てたい場合は課金している環境に作成するか改めて課金する
  2. Dataverse に大勢のユーザーがアクセスする場合はユーザー認証を利用する

まとめ

今回は Power Apps Portal で起こった問題とその原因、解決策について調べてみました!

やはり悪かったのは Power Apps ではなくて使いこなせない自分のようでしたね(?)

Power Apps Portal は中々情報が出てこないので、今回の記事が少しでも助けになれば幸いです。

※1 Power Platform の資格

Power Platform には Microsoft の公認資格がいくつかあります。

ざっくり一覧を乗せておきます。

初級

PL-900 Power Platform Fundamentals
中級

PL-100 Microsoft Power Platform App Maker
PL-200 Microsoft Power Platform Functional Consultant

↑日本語対応している

↓英語のみ

PL-400 Microsoft Power Platform Developer

上級

PL-600: Microsoft Power Platform Solution Architect

認定資格および試験を見る | Microsoft Docs