Gaurav Anand
Gaurav Anand

Reputation: 119

How to determine load requirement of an Azure chatbot for choosing an appropriate App Service Plan

RFP requirement

We need to submit an RFP where we need to mention the App service plan for the Azure Chat Bot.

  • Supposing the Chatbot needs to take a load of 50 requests / second? Also, is this a very high expectation for an enterprise Chat Bot?

Upvotes: 1

Views: 550

Answers (1)

billoverton
billoverton

Reputation: 2875

You are not locked in to the App Service Plan tier. You can scale up (or down) the plan based on usage.

  • For Development I have found B1 to be sufficient. For Linux there are major pricing advantages to going with this over S1. For Windows, not so much.

  • For Production, this is going to be highly dependent on your load at scale. For most normal traffic, S1 is probably sufficient. It is a good fit between performance and cost. On Linux P1v2 gives some good extra performance for not that much more money (again, not so much for Windows). P1v2 is probably going to be the better bet for you, given that it supports higher scale via increased instance count, which you may need if your traffic is that heavy.

    • For what it's worth, I have a lab environment with 17 app services running on one S1 plan (a mix of Chatbots, QnA Maker, and Function Apps), and though I don't typically have a lot of requests per second, the ASP is coping just fine.

Beyond that, you can keep scaling up but the costs increase greatly. You can check out the pricing page here for more details (the link is for Linux, make sure to change this if you want Windows).

EDIT: Based on additional information about your bot, you have other things to consider that will constrain your peak loads.

  • LUIS S0 plan supports only 50 Transactions Per Second, so that will be an upper limit for you (assuming every message to the bot goes through LUIS). F0 plan gives you only 5TPS.
  • QnA Maker supports only 3 TPS on 100 Transactions Per Minute (Free and Standard).
    • QnA Maker limits are for portal/management API and not general querying
  • I couldn't find any rates for Azure Storage (state) or App Insights (logging), but I imagine those are higher than LUIS's 50 TPS.
  • You would also have to consider your RBAC and external integrations separately.

All that said, from App Service Plan itself, I still would assume P1v2 would be more than sufficient for you. You could probably make do with S1 as well. The good thing is that you can easily scale this plan up or down if you find it doesn't give you enough capacity.

Upvotes: 2

Related Questions