Performance and loadtest Microsoft Botframework fails after only 50 users - performance

We are trying to simulate 5000 users to test our bot by using JMeter but are facing issues. There are many requests that are canceled while posting back to the client's url. Following are the tools and links we followed as guide and tools to load test:
https://blog.botframework.com/2017/06/19/load-testing-a-bot/
https://github.com/damadei/BotServiceStressToolkit
Looking forward to some guidance on how a load test can be run for the botframework and how to handle the "request canceled" in the bot.
EDIT: It works when we execute for up to 50 users, but errors when increasing the number of users. The Post to the client from the bot fails with a canceled result code.

Related

Performance Test on Viber Chat Bot

I want to do the performance test for the viber bot but I cannot access through web so cannot be think about performance test on it.
I think Viber has REST API so you could use JMeter to invoke this API methods in order to i.e. send messages to your bot and check the responses.
You will need to add a HTTP Header Manager configured to send X-Viber-Auth-Token and that would be it

googleapi: Error 500: Internal error encountered., backendError when calling Admin SDK

This is strange we have started receiving too many per day (nearly 300-500 times)
googleapi: Error 500: Internal error encountered., backendError
while calling Admin SDK Directory API. https://developers.google.com/admin-sdk/directory
Google chat support for API is removed and Facing issue with how to address the problem. Our rate limit and query calls are way in the limits. We query Admin SDK as a cronjob schedule.
Is there a way we can debug 500 errors for AdminSDK
Is there any information regarding which deployment Region of Google is more capable to handle load?
No error on console
Logs error
Contact Workspace Support or File a Bug
As DalmTo pointed out, 500 errors are usually out of your control. Especially in this case since you are calling Google's servers.
The best option to debug these errors is probably contacting support directly. You can find the corresponding contact information for your Workspace account ⁠on this page.
https://support.google.com/a/answer/1047213?hl=en
If you are able to regularly reproduce this and you think its a bug, fill out the template here:
https://issuetracker.google.com/issues/new?component=191635&template=824102
Ensure to include your code, complete reproduction steps, some evidence/statistics of the failures, and any other information you can give.
This usually happens when the Google Cloud Platform service account used for authentication was created after the in-app products.
To solve this, make a trivial edit to your in-app products in the Google Play Console. For example, add a temporary tag. Then try again to make the request and it should succeed.
By the way, the same is true for the purchases.voidedpurchases which reports an "insufficient permissions" error.

Unable to handle the stripe API in jmeter

We're trying to perform load test on our local/internal website. we're facing issue at Stripe payment pop up. though handled the dynamic keys,it shows error as : "Unable to perform color detection".
Excellent if somebody can help me on this.
Tried with dynamic key's handling using regular expression extraction, using Jmeter 5.1 version tool.
Actual: Facing issue at stripe payment API, With error message as "Unable to perform color detection"
Expected: 200 status code.
Here's reference screenshot:
As per Stripe error : unable to perform color detection question most upvoted answer
This can happen if the image URL is not publicly accessible, as Stripe has to be able to request the image from their servers. This can happen if you are running a local copy of the application which isn't accessible from the outside world, or if it is behind a VPN or authentication.
So you need to ask network administrator to allow your local application to access Stripe backend servers or alternatively ask developers to point the image to be obtained from local source.
There is nothing to do with JMeter here, you can only ignore the error by adding a Response Assertion as a child of the request which is failing and ticking Ignore Status box

Google Analytic API Error (500) Backend Error

We have a sales tracker app. In this app, we collect all analytic data from 5 different analytic accounts (websites) and creating reports. It was working till today morning itself. Now it shows some errors like 500 Backend Error:
PHP Fatal error: Uncaught Google_Service_Exception: {"error":{"errors":[{"domain":"global","reason":"backendError","message":"Backend Error"}],"code":500,"message":"Backend Error"}}
500 errors are catch all errors that normally mean that there is something on the servers end that is the issue. If you check the documentation you will see the above comment. Google says that they dont want you to retry that error. However if you scroll down a bit more in the documentation you will find this section.
However we find the following as well.
However there is nothing with both "code":500,"message":"Backend Error"
backoff
There are a number of error messages where backoff would work.
With a python example that includes
This is because the Google analytics api is slightly different than the other Google apis the way it returns errors is not the same and in most cases its better. The reason for this is that backend error can be cause by flood protection. Not often but it can happen mostly around the hour. You should never run a large script on the hour because then you are competing with everyone that has cron jobs set up to extract data every hour.
I normally only use backoff for 'userRateLimitExceeded', 'quotaExceeded', 'internalServerError' errors not for 'backendError' but Google is stating it in their documentation so it may be worth a shot.
In the mean time i am going to send an email off to the team to get some clarification on the documentation.
500,"message":"Backend Error"
As for the message above i have seen this a few times and its often related to an issue on Googles end. Give back off a try while i wait to hear back from the team.

Slack: Get notification when Bot is offline

I searched the www for a solution to a problem of mine without finding an answer.
I need to get notificated when my bot in slack goes offline, but I don't know how.
To get notificated when he logs in is cacke, because I can set him to send a message, but when he's off there is no option to send a message.
I prefer PHP, Javascript, but other languages are also fine.
Thank you very much for your effort
There are many options how to setup a way to monitor your bot and get notified when it is offline.
One option that has worked well for me is to use an external website to monitor your bot. That website will send requests to your bot every couple of minutes to see if is is still alive and will notify you if the request fails. You may need to extend your bot a bit, so that he can reply to these requests in a proper way.
There are many website that provide this service. The one I use is uptimerobot, which also happens to be free for up to 50 monitors.

Resources