Is there any max value for the freeswitch conference parameter max-members. Is there any limit which Freeswitch can support?
no, there's no limit on maximum value of max_members. You are limited by the CPU performance of your host. The best you can do is run a performance test and see.
Related
https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-planning-faq The document mentions the Throughput numbers for GETS. But there are multiple client connections possible and there is also a limit based on the Pricing tier.
Question: Is the given number on "GET Requests per second" per client connection OR after creating a max possible connection with Redis cache and running GET operations from each client?
That's the total GETs/second regardless of the number of connections. I believe we tested with 50 connections. With lower numbers of connections, you may hit bottlenecks in the throughput of client instances or network connections before hit the limits of the server.
We always recommend benchmarking throughput with your application's actual architecture and workload to find actual cache capabilities for your use case: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-best-practices-performance
I have used the normal thread group of 40 threads,180000 of throughput, and expected TPS is 3000.., But , Resulted only 2750 tps., How can I improve the TPS?
I have tried the concurrency thread group along with the shaping timer combination..
Can u pls guide me..,Thanks in Advance.
TPS or the throughput is controlled by sending the required number of requests to the target server in a unit time (seconds, minutes, hours, etc)
It is not easy or good practice to control the throughput by changing the number of threads. When the server gets slow the throughput gets low and vice-versa.
You need to introduce delays when the server responds faster and introduce more threads when the server responds slower. It is not easy to achieve the desired throughput by setting the thread count.
Please note that
throughput will be lower if the server is not capable of handling it, or if other timers or time-consuming test elements prevent it.
JMeter has a number of ways to achieve the desired throughput by introducing delays to the requests.
Using Timers
Constant Throughput Timer
Precise Throughput Timer
Througput Shaping Timer
In the above cases, you need to ensure a sufficient number of threads are available to generate the required throughputs. This solution is not efficient if a large number of threads are created than the required number of threads.
The best approach would be the test should create additional threads on-demand and introduce delays between requests as required.
In JMeter, you can achieve this with Concurrency Thread Group along with the Throughput Shaping Timer.
This video demonstrate the use of the controllers.
First of all your application must be able to handle such a load. I don't know what your 180000 of throughput, stanza means,if you put it to the Constant Throughput Timer be aware that:
it is precise enough on "minute" level
it can only "pause" JMeter to "limit" its throughput to the given value
In general you can reach out 3000 TPS with 40 users only if 1 user will make 75 requests per second which means that your application response time should be below 75 milliseconds.
If response time will be higher - you won't be able to reach 3000 requests per second with 40 users.
Also JMeter should be able to send requests fast enough, so make sure to follow JMeter Best Practices and if this is not sufficient consider using Distributed Testing
More information: What is the Relationship Between Users and Hits Per Second?
I want to use above 5000 thread in Jmeter, SO what should be the system configuration. Now Am using 4GB RAM , 2.3 GHZ, Now it shows only 3000 threads results only in Summary Report.
In jmeter have any maximum number of limitation?
There is no limitation except:
Your machine CPU power
Your memory and JVM size
Your network interfaces
Answer depends on a lot of factor, You should read:
What is the highest number of threads that is reasonable to simultaneously run in Jmeter? (The accepted answer is not correct anymore)
JMeter max. thread limit
So you will have to benchmark your machine with your plan and see to where you can go, then different options:
1 machine is ok, that's it
You need more, switch to distributed testing or use a Cloud solution
I try to figure out how throttling policies affect EWS.
For EWS, we have these values:
EWSMaxSubscription: the number of active subscriptions done by the impersonated user.
EWSMaxConcurrency: how many concurrent connections or actions a single client may take.
EwsMaxBurst: how far above the standard resource limit a client may go in shorts bursts (in milliseconds). It probably comes into effect when the percentage of CPU/Memory usage by Exchange exceeds the defined threshold (depending of the setup, I suppose).
EwsRechargeRate: the speed at which the user’s resource budget recharges or refills (in milliseconds).
I understand each of the above throttling parameters. However, I'm not sure to clearly understand the EwsCutoffBalance. This parameter defines the resource consumption limits for EWS user before that user is completely blocked from performing operations on a specific component...
My questions...
How this value is used regarding the EwsMaxBurst and the
EwsRechargeRate values?
What is the unit of this parameter?
How can we determine the right value if I need to change the throttling
policy of a specific user account (instead of using "Unlimited")?
Both EwsMaxBurst and the EwsRechargeRate are expressed in ms.
By default, client will be blocked after 5 minutes (300000 / 1000ms /60s) heavy usage. When recharge rate is 900000 by default, system will recharge in 15 minutes. If you like to keep client requests processed, you can either increase maxburst over recharge rate or decrease recharge rate less than maxburst
What are some of the things that determine how many web requests a single machine can handle? In general what's an average number (requests per second) that most machines should be able to handle? For example, I see some answers that say 2k requests/s can easily be handled. How about 5k? 10k? etc.
I'm basically trying to do my best at estimating how many machines I'd need to scale to some high throughput, before I dive into load testing.
Yes, That is possible through performance modelling but the answers will have 5-10% error margin.
If you know exact size of web request then probably you can find your nw limit and thus this gives you maximum possible request acceptance limit. some exploratory test with sample test you can get the cpu time required by each request roughly(in terms of response time or thoughput). thus you can extrapolate the results for higher number of requests using many theorems examples, little's law. Using this theorem you can find maximum no of users (request here) can be supported on a give hw for a give acceptable response time.
but this all is done after tuning your application to expected level otherwise you will end up with lot of hw because of lack of tuning.