How many transactions per second can one wso2-gateway manage in a distributed setup? WSO2 says on their website that wso2 api manager "Supports up to 1300 TPS on a single node". But what about a distributed setup, is the number still 1300 per gateway?
Related
We need to have an endpoint to receive http POST requests and send them to SQS with both headers and payload. API Gateway with REGIONAL type and SQS integration works great and satisfies our needs. However, we are slightly worried about the limits of 600 requests per second as it might not be enough for our case. Do we correctly understand that API Gateway HTTP API (that is not REST API with REGIONAL or EDGE types) can receive 10.000 requests per second, but in this case we would need to "build" our own integration to SQS (e.g. using lambdas)?
A bit late, but I believe there is a quota of 600 regional APIs (not request rate) per region. That mean, you can create 600 APIs, each of them with up to 10k requests per second. The quota 10k requests per second is, however, shared across these APIs, so if you have 100 APIs, each of them can receive can, in average, receive 1k requests per second. However, if 99 of them sit idle, the one API can get 10k requests per second.
I am currently using basic version of cluster on Confluent cloud and I only have one topic with 9 partitions. I have a REST Api that’s setup using AWS lambda service which publishes messages to Kafka.
Currently i am stress testing pipeline with 5k-10k requests per second, I found that Latency is shooting up to 20-30 seconds to publish a record of size 1kb. Which is generally 300 ms for a single request.
I added producer configurations like linger.ms - 500 ms and batch.size to 100kb. I see some improvement (15-20 seconds per request) but I feel it’s still too high.
Is there anything that I am missing or is it something with the basic cluster on confluent cloud? All of the configurations on the cluster were default.
Identified that the issue is with API request which is getting throttled. As mentioned by Chris Chen, due to the exponential back-off strategy by AWS SDK the avg time is shooting up. Requested AWS for increase in concurrent executions. I am sure it should solve the issue.
I was looking at my API & Services dashboard and I see a lot of requests to the Compute Engine API. I created a VM a few days ago but have stopped it. However I am still seeing ~50 requests in the last hour. and overall from creating the instance and adding stuff there has been ~18,000 requests in total.
Is this normal behavior? Can I be billed for this amount of requests? Is there a limit?
There are two types of API requests. Those that your code (Cloud SDK) create or service to service requests and those made by Google Cloud to manage/monitor your services.
Is this normal behavior?
For Google Cloud management, yes. My account has millions of API requests.
Can I be billed for this amount of requests?
Yes. If you click on the "Compute Engine API" from "APIs & Services". However, I am not sure how the breakdown in pricing is calculated. Some services such as Stackdriver show "no billing information".
Is there a limit?
For Google Management and Monitoring API calls, I am not sure but I believe that Google does not limit itself but I might be wrong to prevent errant services (bugs).
For API calls that you or your services generate, yes for both a quota and request per second. Rate limits are enforced every 100 seconds and are refreshed. This limit is per project: details. Once you exceed these limits (quota/rate) your API calls will receive 403 (rateLimitExceeded) until the quota is refreshed.
We are using wso2am-1.10.0 with a gateway cluster. The throttling tier limits are not behaving as expected.
We have redefined the “Bronze” tier to allow 3 requests in 1 minute. The application is set to “Large”, the subscription to the API is set to “Bronze” and the resource is set to “Unlimited” . We understand that “Bronze” is the most restrictive tier in this case.
We have tested the API with and without a load-balancer:
With load-balancer:
We are always allowed to exceed the 3 requests by minute and then the throttling behaviour became inconsistent. Although it does not seem to be a multiple of the number of gateway workers.
Without load-balancer:
We call our API directly through a gateway worker of our cluster, the worker allows 4 requests(app-tier limit + 1) before returning a quota failure. Then if we call this API, within the same minute, but through an other gateway worker of our cluster, this worker allows one request before failing because of the quota limit.
We have tested the API without clustering the gateways and it works as expected.
Any ideas?
Thanks in advance!
Do I get charged for publishing a message to an endpoint, even though this one is saved as not enabled on AWS SNS. Do I need to do a clean up job on my side to make sure that all the endpoints linked to a user are always up to date?
Thanks.
So you're charged for each authenticated API Request, ontop of additional pricing per Notification etc.
It's currently charged at $0.50 per 1 million API Requests, regardless if it returns a HTTP 200 or not.
First 1 million Amazon SNS requests per month are free
$0.50 per 1 million Amazon SNS requests thereafter
Source