title,body,link,tags,view_count,is_answered,score,answer_count
Jmeter - Load Testing,"<p>Use Case :-</p>
<p>We have an application which can have multiple users logged in simultaneously on a single database or multiple users logged in on multiple databases . The relationship can be 1:M , M:M or M:1 . The issue is we have a very rigorous Business Logic which authenticates these users before letting them log in . Each user will have a token of its own , plus generate his own session accordingly . I cannot fake user's as the app under test will not let it Log In .</p>
<p>I can put up a Load test using some authentic users that are already present in a single database and generate load using HTTP Thread - VM users from different machines and make the session go up periodically .</p>
<p>How do I go for this specific condition - <strong>Test for 5x - 150K concurrent Users, 250k Sessions/min</strong> . I cannot have that many database present which will give me a window of 150k concurrent Users . Please advise .</p>
",https://stackoverflow.com/questions/70981720/jmeter-load-testing,"['jmeter', 'load-testing']",29,False,0,2
Mobile application Load testing,"<p>I want to do the load and performance testing for mobile app like wtapp,facebook separate apk. so is there any method to do the load testing using jmeter.</p>
<p>As I have seen jmeter proxy setup in mobile application but there are recording mobile web application. I want test the separate application not browser dependent.</p>
<p>I want to record the separate apk for example.. i will open wtapp and login into wtapp those API calls should be recorded in jmeter.</p>
",https://stackoverflow.com/questions/74532871/mobile-application-load-testing,"['mobile', 'jmeter', 'performance-testing', 'load-testing']",33,False,0,1
Load testing using Locust,"<p>So I have been trying to do some load testing with <a href=""https://github.com/locustio/locust"" rel=""nofollow noreferrer"">Locust</a>, and I got very different results in two scenarios - one using <code>wait_time</code> between 1 and 2 and other between 0.01 and 0.1. <strong>The actual SLA for the service is under 100ms</strong>.</p>
<pre><code>class PerformanceTest(HttpUser):
    wait_time = between(0.01, 0.1) # second case where wait time is between 1 and 2

    @task(1)
    def load_test(self):
    ... # POST request
</code></pre>
<p>Parameter to run : total 100 users, ramping up at 10/sec and testing for 30 sec.</p>
<pre><code>locust -f performance_test.py --headless -u 100 -r 10 --host http://127.0.0.1:8080 -t 30s
</code></pre>
<p><strong>Case 1 : wait time between 0.01 and 0.1</strong> ---&gt; <em>99 percentile is 5100ms</em> (scroll to the right)</p>
<pre><code>Response time percentiles (approximated)
Type     Name                                                                                  50%    66%    75%    80%    90%    95%    98%    99%  99.9% 99.99%   100% # reqs
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
POST     /rest/confidence                                                    1300   1500   1600   1800   2000   2300   4700   5100   5500   5500   5500   1405
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
         Aggregated                                                                           1300   1500   1600   1800   2000   2300   4700   5100   5500   5500   5500   1405
</code></pre>
<p><strong>Case 2 : wait time between 1 and 2</strong> ---&gt; <em>99 percentile is 1100ms</em> (scroll to the right)</p>
<pre><code>Response time percentiles (approximated)
Type     Name                                                                                  50%    66%    75%    80%    90%    95%    98%    99%  99.9% 99.99%   100% # reqs
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
POST     /rest/logincontextclassifications                                                     460    600    670    710    870    970   1100   1100   1300   1300   1300   1251
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
         Aggregated                                                                            460    600    670    710    870    970   1100   1100   1300   1300   1300   1251
</code></pre>
<p>Does anyone know why is this happening? Why is the <code>wait_time</code> creating this much of difference 5100ms vs 1100ms?</p>
",https://stackoverflow.com/questions/74293325/load-testing-using-locust,"['python', 'python-3.x', 'performance-testing', 'load-testing', 'locust']",619,True,0,1
xtext web Load Testing,"<p>Good day...</p>
<p>I have developed a DSL in xtext web using eclipse. It has a login page and multiple users can login from anywhere...</p>
<p>Now my requirement is to test the load of this web DSL.  I need to test:</p>
<ol>
<li>&quot;certain number of users in parallel&quot;</li>
<li>how conflicts are avoided/managed&quot;</li>
<li>&quot;the perceived latency experienced by the users (the lower the better)&quot;</li>
</ol>
<p>Please guide me how to perform this load and stress test on Jetty server.</p>
<p>Thanks,</p>
",https://stackoverflow.com/questions/74686752/xtext-web-load-testing,"['eclipse', 'load-testing', 'dsl', 'xtext']",46,True,0,1
Angular Universal Load Testing,"<p>I am testing my Angular Univeral Application which is deployed on App Engine with F2 instance_class which has 512 MB memory 1.2 GHz CPU. I am using Artillery to do the load testing.
I am new to load testing and its figures so not able to understand is my figures are correct or not.</p>
<p>I have tested on single instance it is taking upto 70 req and giving the 200 for all. Now I am doing the load testing with below values and here is what I got. Not able to understand if  I am doing right?</p>
<pre><code>http:
    extendedMetrics: true
    timeout: 60
phases:
     - duration: 60
       arrivalRate: 5
       name: Warm up
     - duration: 120
       arrivalRate: 5
       rampTo: 50
       name: Ramp up load
     - duration: 120
       arrivalRate: 50
       name: Sustained load
</code></pre>
<p><a href=""https://i.stack.imgur.com/3tYnH.png"" rel=""nofollow noreferrer"">Load Test Result</a></p>
<p>Here are my questions.</p>
<ol>
<li>Is App Engine is good for deploying Angular SSR/Universal with large data operations?</li>
<li>Are the figures seem correct for Load Testing?</li>
<li>Do we do such heavy load testing with a Cache or without a Cache?</li>
</ol>
",https://stackoverflow.com/questions/73674561/angular-universal-load-testing,"['angular', 'server-side-rendering', 'load-testing', 'angular-universal']",57,False,0,0
Tsung Load testing - Not able to do websocket load testing of Openfire using tsung,"<p>For load testing openfire with websocket connections using tsung script we are able to make the websocket connections but we are not able to make sessions at openfire.</p>
<p>As mentioned in
<a href=""http://tsung.erlang-projects.org/user_manual/conf-options.html#websocket-options"" rel=""nofollow noreferrer"">http://tsung.erlang-projects.org/user_manual/conf-options.html#websocket-options</a>
we have made following additions in options tag in tcp tsung script with multiple phases</p>
<pre><code>&lt;option name=&quot;websocket_path&quot; value=&quot;/ws&quot;/&gt;
&lt;option name=&quot;websocket_frame&quot; value=&quot;text&quot;/&gt;
&lt;option name=&quot;websocket_subprotocols&quot; value=&quot;xmpp&quot;/&gt;
</code></pre>
<p>Do we need any other changes or additions for load testing openfire with websocket connections?</p>
",https://stackoverflow.com/questions/72555958/tsung-load-testing-not-able-to-do-websocket-load-testing-of-openfire-using-tsu,"['websocket', 'load-testing', 'openfire', 'tsung']",87,False,0,1
jmeter Distributed Load Testing - java.rmi.ServerException,"<p>I am sorry if I am asking a wrong question, I am new to Jmeter.</p>
<p>I am trying to run distributed load on slave machine.</p>
<p>While running test with slave machine <code>[ set properties file at master machine]</code> and Slave Jmeter-server is running</p>
<p>Getting below exception:</p>
<blockquote>
<p>Error in rconfigure() method java.rmi.ServerException:
RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: org.apache.jmeter.protocol.http.control.CacheManager; local class
incompatible: stream classdesc serialVersionUID = 235, local class
serialVersionUID = 236</p>
</blockquote>
<p>Could you please help with above error.</p>
",https://stackoverflow.com/questions/71289531/jmeter-distributed-load-testing-java-rmi-serverexception,"['performance', 'jmeter', 'load', 'distributed']",178,False,0,1
Azure Load Testing External Request (API call) Performance / load testing with Individual Call performance details,"<p>I want to perform load testing of Single Page Application. So i have created JMeter script for that and it is working fine from my single machine for concurrent users. But i want to create actual concurrent users scenario from different machine or location. For that reason i am trying to use Azure Load Testing service and there want to use JMeter script which i have created on my local machine.</p>
<p>Please let me know if Azure Load testing service support below points : -</p>
<ol>
<li>Is it possible to test performance of API call which are going to other servers (non Azure).</li>
<li>Is it possible to track performance report like JMeter for each API call individually.</li>
</ol>
<p>Please let me know if any clue on above problems.</p>
<p>Thanks</p>
",https://stackoverflow.com/questions/74220965/azure-load-testing-external-request-api-call-performance-load-testing-with-i,"['jmeter', 'load-testing', 'azure-load-testing']",71,True,0,1
Thread limits for Azure Load Testing,"<p>Azure Load Testing (Preview) has a limit of 250 threads per Engine Instance. Each test can only run up to 45 Engines, so the theoretical maximum number of concurrent sessions that can be run is 11,250.</p>
<p>I need to simulate 120k concurrent users. Is there a suitable workaround to do this with ALT?</p>
",https://stackoverflow.com/questions/74855177/thread-limits-for-azure-load-testing,"['azure', 'load-testing', 'azure-load-testing']",175,True,1,1
Load Testing using JMeter with NATS.io,"<p>How could I use JMeter in <a href=""https://nats.io"" rel=""nofollow noreferrer"">NATS</a> services?</p>
<p>I found some articles supporting about how to use JMeter for some messaging brokers like RabbitMQ. However, I didn't find any guidelines to use the JMeter in NATS.</p>
",https://stackoverflow.com/questions/72206581/load-testing-using-jmeter-with-nats-io,"['jmeter', 'load-testing', 'nats.io']",290,True,1,1
Mocking external dependencies during load testing,"<p>I have a backend written in node.js that uses external APIs on some endpoints. I want to do load test without testing those external dependencies. Is it possible to mock them and how? I don't really care about the time it takes to reach the APIs and it has to be excluded from the test. The mock should be as easy as returning a plain object. Right now I've been trying to use k6 or artillery to do those tests but I had no luck on finding out how to mock. Any resources that could help me achieve my goal?</p>
",https://stackoverflow.com/questions/70740580/mocking-external-dependencies-during-load-testing,"['node.js', 'performance-testing', 'load-testing', 'k6', 'artillery']",768,True,0,1
Azure load testing from multiple regions,"<p>Is this possible to configure the Azure load test from multiple regions? The application is deployed on EASTUS location but the users access this application from Europe and US both. I want to put the load on this application from both locations at the same time. Is this possible with Azure load test tool.</p>
",https://stackoverflow.com/questions/71750955/azure-load-testing-from-multiple-regions,['azure'],183,True,0,1
overwriting parameters in Azure Load Testing,"<p>When the parameters are passed via the 'CSV Data Set Config' in the jmeter script, do we have a way of over-writing the values in Azure Load Testing tool,</p>
<p>I have away of externalising the parameters in Jmeter as well, in azure load testing, but when I combine both the values are not over-written</p>
",https://stackoverflow.com/questions/74608955/overwriting-parameters-in-azure-load-testing,"['jmeter', 'parameter-passing', 'performance-testing', 'load-testing', 'azure-load-testing']",74,True,0,1
Jmeter load testing giving different values,"<p>when I am load testing for 100 users at rampup of 2 seconds I am getting different values for same users and same ramp up time why is this happening can anyone help?</p>
<p>in remote server
1st time
summary =    100 in 00:00:03 =   31.7/s Avg:  1916 Min:   985 Max:  2737 Err:     0 (0.00%)</p>
<p>2nd time
summary +      1 in 00:00:01 =    1.5/s Avg:   260 Min:   260 Max:   260 Err:     0 (0.00%) Active: 22 Started: 22 Finished: 0
summary +     99 in 00:00:02 =   65.6/s Avg:   113 Min:    18 Max:   371 Err:     0 (0.00%) Active: 0 Started: 100 Finished: 100
summary =    100 in 00:00:02 =   45.9/s Avg:   114 Min:    18 Max:   371 Err:     0 (0.00%)</p>
<p>3rd time
summary +      1 in 00:00:01 =    2.0/s Avg:    92 Min:    92 Max:    92 Err:     0 (0.00%) Active: 14 Started: 14 Finished: 0
summary +     99 in 00:00:02 =   58.7/s Avg:    26 Min:    13 Max:    92 Err:     0 (0.00%) Active: 0 Started: 100 Finished: 100
summary =    100 in 00:00:02 =   45.5/s Avg:    26 Min:    13 Max:    92 Err:     0 (0.00%)</p>
",https://stackoverflow.com/questions/74597875/jmeter-load-testing-giving-different-values,"['jmeter', 'load-testing']",45,False,0,1
Distributed Load testing using Gatling tool,"<p>Can some one please provide me the information that if open source Gatling tool support distributed load testing the way how we implement in jmeter tool master slave setup.</p>
<p>Regards,
Chithra</p>
",https://stackoverflow.com/questions/71240182/distributed-load-testing-using-gatling-tool,"['performance-testing', 'gatling', 'distributed-system']",247,False,-1,1
Bad chunk header load testing - jmeter,"<p>Getting below when run load testing using jmeter, but when check on server log no any exceptions and it has returns response succefully into Jmeter. What could be the issue here.</p>
<pre><code>&lt;responseData 
 class=&quot;java.lang.String&quot;&gt;org.apache.http.MalformedChunkCodingException: Bad chunk 
header: 
{&amp;quot;...&lt;&lt;My Response&gt;&gt;;
,&amp;quot;desc&amp;quot;:&amp;quot;Success&amp;quot;}}    
at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:274)    
at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:222)    
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:183)    
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)    
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:148)    

at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1944)    
at org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:476)    
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:677)    
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)    
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1301)    
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1290)    
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651)    
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570)   
 at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501)    
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268)    
at java.lang.Thread.run(Thread.java:750)
&lt;/responseData&gt;
</code></pre>
",https://stackoverflow.com/questions/74427882/bad-chunk-header-load-testing-jmeter,"['java', 'spring-boot', 'jmeter']",115,True,0,1
Creating multiple load testing vegeta reports,"<h4>Question</h4>
<p>I am using the following targets file</p>
<pre><code>GET https://foo.bar.com
GET https://bar.foo.com
GET https://zoo.lander.com
</code></pre>
<p>and then issue</p>
<pre><code>vegeta attack -targets=targetsFile -duration=2s | tee results.bin | vegeta report  
</code></pre>
<p>I then get an aggregated report in the likes of :</p>
<pre><code>Requests      [total, rate, throughput]         100, 50.57, 24.76
Duration      [total, attack, wait]             3.837s, 1.978s, 1.859s
Latencies     [min, mean, 50, 90, 95, 99, max]  156.862ms, 583.523ms, 417.547ms, 832.023ms, 1.114s, 2.816s, 3.677s
Bytes In      [total, mean]                     20643, 206.43
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           95.00%
Status Codes  [code:count]                      200:95  404:5  
Error Set:
404 Not Found
</code></pre>
<p>Is there a way to get a distinct report (and perhaps plot) per target? Do I have to split the targets?</p>
",https://stackoverflow.com/questions/71017168/creating-multiple-load-testing-vegeta-reports,"['api', 'load-testing', 'vegeta']",417,True,0,1
Timestamp server for automated load testing,"<p>I'm looking for a timestamp server that will be safe to use for automated load testing. I need to test hundreds of users digitally signing files using a timestamp server. There are various free TSAs available but I'm afraid of having our auto testing machines IP blocked during testing because it may be considered a DDOS attack.</p>
<p>I've done some searching but haven't been able to find a recommended TSA to use for this.</p>
<p>If there isn't one available, the alternative would be to setup our own TSA on an in house server using something like <a href=""https://www.openssl.org/"" rel=""nofollow noreferrer"">https://www.openssl.org/</a> but was hoping to not need to take this route.</p>
",https://stackoverflow.com/questions/73868972/timestamp-server-for-automated-load-testing,"['timestamp', 'trusted-timestamp', 'timestamping']",94,False,0,0
Load testing python bot in Telegram,"<p>Just created a bot with a lot of functionality in python for telegram using Pyrogram. It's time to create load tests to be able to understand how bot will work with thousands of users. I can’t understand how I can simulate interaction with a huge number of users at the same time and at the same time check all the metrics. Perhaps someone here dealt with this problem and ask for help in solving this problem?
Thank you!</p>
",https://stackoverflow.com/questions/73518293/load-testing-python-bot-in-telegram,"['python', 'bots', 'telegram', 'load-testing', 'pyrogram']",95,False,0,0
GUI based load testing for Blazor Application,"<p>Blazor is a new Microsoft technology that we have used to build Blazor App.</p>
<p>We want to do GUI based performance testing simulating user action like login.</p>
<p>Traditional load testing tool like Jmeter, NeoLoad which we were using for web app testing fails here as Blazor makes socket calls instead of http calls.</p>
<p>Can anyone please suggest a tool which can help me here.</p>
<p>Regards,
Abhishek</p>
",https://stackoverflow.com/questions/70616026/gui-based-load-testing-for-blazor-application,"['blazor', 'performance-testing']",1185,False,2,1
"Load Testing Service: Kafka Consumer, Aerospike Reader","<p>I have a service with the following architecture.</p>
<ol>
<li>It consumes messages from one Kafka topic.</li>
<li>It reads records from <a href=""https://aerospike.com/"" rel=""nofollow noreferrer"">Aerospike</a>.</li>
<li>It puts enriched message to another Kafka topic.</li>
</ol>
<p>Here is the schema.</p>
<p><a href=""https://i.stack.imgur.com/yG1dF.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/yG1dF.png"" alt=""service schema"" /></a></p>
<p>We're using <a href=""https://locust.io/"" rel=""nofollow noreferrer"">Locust</a> for load testing. The question is how to test
<code>Enricher</code> for the maximum load? I could send messages to Kafka topic. But as far as I understood, I would test Kafka itself but not the <code>Enricher</code>. Because the service cannot consume more messages that it is able to proceed. By the way, Aerospike interaction is also important. I have to be sure that the amount of reads won't break the cluster.</p>
<p>So, what are the common practices to test Kafka consumer in such scenario?</p>
",https://stackoverflow.com/questions/71360790/load-testing-service-kafka-consumer-aerospike-reader,"['performance', 'apache-kafka', 'load-testing', 'aerospike', 'locust']",365,True,1,2
High QPS load testing for Kubernetes Applications,"<p>I'm running an application in the following mode</p>
<ol>
<li>Trained a ML model in tensorflow</li>
<li>Created an API using Fast API and wrapped it around the ML model for inferencing.</li>
<li>Created a Dockerfile and containerized the whole application</li>
<li>Pushed the image to ECR</li>
<li>Created an EKS environment (2 Nodes - 1 GPU, 1 CPU)</li>
<li>Deployed to EKS as a k8s pod running the above image as a container inside the pod.</li>
<li>Enabled HPA (Horizontal Pod Autoscaling) to achieve scaling</li>
</ol>
<p>We're able to achieve a high QPS (Query Per Second) ~15 QPS using the above architecture but we need to scale it to 50 for a client.
One approach is to add more nodes and scale the application using Node AutoScaling by AWS.</p>
<p>I was also looking into AWS Lambda functions, although intriguing, I can't really use them since one of my pod i.e API end-point needs to have a GPU enabled for fast inferencing.</p>
<p>I was wondering if there is a better approach of dealing this.</p>
",https://stackoverflow.com/questions/71888576/high-qps-load-testing-for-kubernetes-applications,"['amazon-web-services', 'kubernetes', 'aws-lambda', 'amazon-eks']",194,False,1,0
Load testing with Jmeter and selenium plugin,"<p>I'm looking to perform a browser based load test on my application. I was looking this option to use selenium plugin with Jmeter. So that I can write the required UI flow with Selenium within Jmeter and parameterize using Jmeter options.</p>
<p>I've used Jmeter for http/https request with 400/500 concurrent users.</p>
<p>Is it possible to use Jmeter + Selenium plugin for a browser level load test with around 400/500 concurrent users?</p>
<p>Thank you</p>
",https://stackoverflow.com/questions/72967908/load-testing-with-jmeter-and-selenium-plugin,"['selenium', 'jmeter', 'jmeter-plugins']",114,True,0,1
Load testing workflow for POST API calls,"<p>I have a few questions about server-cost estimations.</p>
<ol>
<li>How do you decide what type of instance is required for X number of concurrent users? Is it totally based on experience or is there a certain rule that you follow for the same?</li>
<li>I was using JMeter for load testing, and I was wondering, how do you test POST APIs with separate data for each user? Or is there any other platform that you use?</li>
<li>In the case of POST API calls, do we need to create a separate DB for load testing (which I think, we should)? If yes, should we create a test DB in the same DB instance (i.e., in the same AWS RDS)? And does it needs to have some data present in it? As that might change its performance, right?</li>
<li>How to load test a workflow? Suppose we need to load test a case where we want 5,000 users to hit Auth API. It will consist of two APIs, one to request an OTP and the other to use that OTP to get the token.</li>
</ol>
<p>Please help me out, on this. As I am quite new to scaling and was just wondering if someone with experience in this can help.
Thanks.</p>
",https://stackoverflow.com/questions/73181804/load-testing-workflow-for-post-api-calls,"['amazon-web-services', 'performance', 'architecture', 'devops', 'load-testing']",190,True,0,1
Load testing of endpoint in Azure ML,"<p>I wanted to load test a deployed model endpoint and add it to an MLOps framework, so that new deployed models can go through load testing. I tried Azure load testing resource for web app but I think it is just for static content. Also, I saw a python package - locust which seems promising. Is there any other approach? </p>
",https://stackoverflow.com/questions/73412804/load-testing-of-endpoint-in-azure-ml,"['deployment', 'endpoint', 'azure-machine-learning-service', 'azure-deployment']",64,False,0,1
Service Unavailable when Load Testing Azure APIM,"<p>I am trying to perform a load testing using NBomber and JMeter of an .Net 6 API hosted on Azure App Service with default 10 minimum instances.
So when I load test the App Service API directly using NBomber I always gets 100% result like Ok()
But when I load test the same API via Azure APIM my more than 95%(yes random request do succeed) or some sometimes even 100% results fail either due to socket exhaust or SSL or sometimes service unavailable(even though App Service is up and I can see no logs in the log stream).</p>
<p>My APIM is in Premium Plan.
No policy has been set
No Rate Limit or Throttling has been set.</p>
<p>Struggling to figure it out.</p>
<p>(Well the same issue I am facing when exposing an AKS Cluster External IP via APIM)</p>
",https://stackoverflow.com/questions/73884011/service-unavailable-when-load-testing-azure-apim,"['.net', 'azure', 'azure-aks', 'azure-api-management', 'azure-appservice']",49,False,0,0
How to perform Load testing of SignalR projects,"<p>I have created a project using SignalR C#.
I wanted to perform the load testing. Suggest some ways to perform the same.</p>
",https://stackoverflow.com/questions/72975587/how-to-perform-load-testing-of-signalr-projects,"['c#', 'signalr', 'load-testing']",58,True,1,1
Load Testing an API with Firebase Custom Token,"<p>I have my FastAPI secured with Firebase Auth.</p>
<p>My app sings in using Firebase Phone Auth, requests a Custom Firebase Token from my FastAPI server to gain extra custom claims, and signs in using the Custom Token in de App automatically. This last token is then used to authenticate further with my API.</p>
<p>Now my problem is; how can I load test my API with this, for example with 1k/10k/20k concurrent users?</p>
<p>Kind regards.</p>
",https://stackoverflow.com/questions/74467342/load-testing-an-api-with-firebase-custom-token,"['firebase', 'performance', 'testing', 'load', 'fastapi']",107,False,0,0
Load testing a website with iframes using Jmeter,"<p>I have created a test plan using Jmeter for a process that runs in my UAT environment. A part of the user journey involves hitting a page with an iframe to submit payment using a payment provider.</p>
<p>The payment provider from the iframe has following stages:</p>
<ol>
<li>Enter payment details (Card number, expiry and CVV) and submit</li>
<li>User is then taken to another iframe page which shows the payment details summary</li>
<li>User then clicks on payment button and payment is submitted and an order ID is generated</li>
</ol>
<p>How do I implement these iframe requests using JMeter? As part of my solution exploration I have recorded the E2E flow using <a href=""https://www.blazemeter.com/"" rel=""nofollow noreferrer"">Blazemeter</a> but surprisingly it does not capture any of the iframe pages relating to the payment process.</p>
<p>Is it even possible to do this using JMeter or should I explore some other possible tool or solution?</p>
",https://stackoverflow.com/questions/72739409/load-testing-a-website-with-iframes-using-jmeter,"['iframe', 'jmeter', 'load-testing', 'blazemeter']",217,False,0,1
Performance Issues with Dotnet Web API Load Testing,"<p>We are performing load testing on Dotnet WebAPIs using Jmeter and also we have AWS load balancers.</p>
<p>The APIs in my cloud watch hardly takes 1s however in the Jmeter log it takes upto 30s.</p>
<p>The CPU isn't hitting &gt;80%.</p>
<p>Not sure where is the bottleneck. Is it at the Jmeter or Load Balancers or WebAPI (highly unlikely).</p>
<p>We checked the metrics of Load Balancers and it does hit 30s response time.</p>
",https://stackoverflow.com/questions/74220398/performance-issues-with-dotnet-web-api-load-testing,"['performance', 'jmeter', 'load-balancing', 'load-testing']",53,False,-1,1
Redis timeout in cloudrun environment on load testing,"<p>we are using cloudrun service with laravel. Our existing app is hosted in digitalocean services [both redis &amp; app]. we did a load testing of 500 hits per second using digital coean and got success response. Recently we moved our service from digital ocean to google cloudrun. Cloudrun service is working fine but load testing we got redis timeout error after 120+ hits. what we tried so far ?</p>
<ol>
<li>Hosted redis in digital ocean and tried with cloudrun - timeout after 100+ hits</li>
<li>Hosted redis in google managed service and tried with cloudrun - timeout after 100+ hits</li>
<li>Hosted redis in Virtual machine and tried with cloudrun. - timeout after 100+ hits</li>
<li>Hosted redis in Virtual Machine and app in Virtual Machine - <strong>Success</strong> no errors</li>
</ol>
<p>I am getting timeout error only in cloudrun. did any faced this issue ? or guidance will be helpful.</p>
",https://stackoverflow.com/questions/71039743/redis-timeout-in-cloudrun-environment-on-load-testing,"['google-cloud-platform', 'redis', 'google-cloud-run']",196,False,0,0
Load testing tool for Repository on GitHub Enterprise,"<p>I am looking for a load testing tool which can execute Git clone command to clone a repository on GitHub Enterprise for multiple users concurrently and provide me the metrics of performance. Please let me know how can I achieve this.</p>
",https://stackoverflow.com/questions/71489992/load-testing-tool-for-repository-on-github-enterprise,"['github', 'load-testing', 'git-clone', 'github-enterprise']",132,False,0,1
Load testing with JMeter for FLV live streaming,"<p>I am doing a FLV live streaming load testing with JMeter, however, I didn't manage to find any JMeter FLV plug-ins.</p>
<p>I found the below in stackoverflow, but the url of the answer is inaccessible.
<a href=""https://stackoverflow.com/questions/32978728/rtmp-loading-test-with-jmeter"">RTMP loading test with JMeter</a></p>
<p>Anyone can share their experience on how to do load testing for FLV live streaming?</p>
",https://stackoverflow.com/questions/71686166/load-testing-with-jmeter-for-flv-live-streaming,"['jmeter', 'load-testing', 'jmeter-plugins', 'live-streaming', 'flv']",172,False,0,1
Load testing with a TransactionManager using JMeter or Gatling,"<p>How to add a TransactionManager to a JMeter test?</p>
<p>I'm attempting to replicate the production load against various JMS broker configurations with JMeter (or Gatling).</p>
<p>The production app that I want to simulate uses both JMS persistence and a JMS TransactionManager (org.springframework.jms.connection.JmsTransactionManager).</p>
<p>JMeter has a simple tickbox for persistence, but I cannot find how to inject a TransactionManager.</p>
<p>It is a common statement in JMS broker documentation that transactions have negligible impact on JMS, however a) I need to provide evidence and not just unverified statements, and b) the statements appear to relate to performance whilst I am very interested in the impact on IOPS and disk usage.</p>
<p>I don't believe that JMeter &quot;Transaction Controller&quot; is relevant for my purposes.</p>
<p>If I have not provided some information that you think is important, then please assume that I don't realise why it is important.</p>
",https://stackoverflow.com/questions/73804623/load-testing-with-a-transactionmanager-using-jmeter-or-gatling,"['jmeter', 'transactions', 'load-testing', 'gatling']",47,False,0,1
Load testing using jmeter along with influxdb and grafana,"<p>I want to do the load testing using JMeter. I want to give load 24k users at time that is bit difficult because i am getting heap size error and JMeter is not responding could you please suggest how to do the master and slave configuration along with influx dB and Grafana setup.</p>
<p>I want to know that how to analyze the load testing test result means what are the factors i need to analyze and conclude the result .</p>
<p>how to check Server side monitorization ?</p>
",https://stackoverflow.com/questions/74623039/load-testing-using-jmeter-along-with-influxdb-and-grafana,"['server', 'jmeter', 'grafana', 'influxdb', 'master-slave']",82,False,0,1
Websites load testing using k6 from multiple IP addresses,"<p>I am planning to do a load testing of an e-commerce website, where request I want to simulate from 100 IP addresses. New to k6 any input will help. Even input for jmeter will also help.
Thanks.</p>
",https://stackoverflow.com/questions/72016444/websites-load-testing-using-k6-from-multiple-ip-addresses,"['jmeter', 'load-testing', 'k6']",732,False,0,1
How to make requests not match in load testing?,"<p>First of all I apologize for my bad English, I'll try to be clear.
I tried to run a Test in jmeter with 60 threads with 600 seconds for Ramp-up during for example: 15 minutes. The problem is that as I understand jmeter should distribute the load in at most 1 hits per second, which is not happening.</p>
<p>I'm using a Constant Throughput Timer with &quot;Calculate Throughput based on (this thread only)&quot; on 1 sample per minute. When the minute passes, the requests begin to coincide up to 10 hits per second.
I understand that this happens because the first thread executes a request and when the minute passes another thread executes a request and so on until the ramp up time is over.</p>
<p>The question is: is there any way to limit the hits per second, achieving, for example, in a test of 180 requests per minute, the hits per second reach a maximum of 3? exactly distributing the load evenly?</p>
<p>I hope I was clear</p>
<p>Thanks!</p>
",https://stackoverflow.com/questions/72560015/how-to-make-requests-not-match-in-load-testing,"['performance', 'testing', 'python-requests', 'jmeter', 'loadrunner']",36,True,0,1
Load testing kafka with multiple producers and multiple consumers,"<p>I am trying to load test my Kafka cluster with multiple producers and multiple consumers. I came across a lot of available tools and article but all of them generates load(Producer) from a single machine and similarly reads(Consumer) from a single machine.</p>
<p>I am looking for a tool which can be deployed across/spawn multiple producers and consumers and load test a given kafka cluster.</p>
<ul>
<li>As input, we can give the number of producers and consumers.</li>
<li>It can then spawn those number of machines with producers and consumers (On AWS, Azure or GCP). Or we can spawn machines manually and then the tool can initiate producer and consumer on them.</li>
<li>Post that it load test's the target kafka cluster.</li>
<li>At the end, it gives out test results like, write/sec, read/sec etc.</li>
</ul>
<p>Tools/Articles I checked are:</p>
<ul>
<li><a href=""https://www.blazemeter.com/blog/apache-kafka-how-to-load-test-with-jmeter"" rel=""nofollow noreferrer"">https://www.blazemeter.com/blog/apache-kafka-how-to-load-test-with-jmeter</a></li>
<li><a href=""https://medium.com/selectstarfromweb/lets-load-test-kafka-f90b71758afb"" rel=""nofollow noreferrer"">https://medium.com/selectstarfromweb/lets-load-test-kafka-f90b71758afb</a></li>
<li><a href=""https://stackoverflow.com/questions/58982753/load-testing-with-kafka-and-storm"">Load testing with Kafka and Storm</a></li>
<li><a href=""https://stackoverflow.com/questions/66248486/load-test-kafka-consumer"">Load test kafka consumer</a></li>
<li><a href=""https://stackoverflow.com/questions/61873279/load-testing-a-kafka-consumer"">Load testing a kafka consumer</a></li>
</ul>
",https://stackoverflow.com/questions/71046359/load-testing-kafka-with-multiple-producers-and-multiple-consumers,"['apache-kafka', 'load-testing']",473,True,-1,1
How to create distributed load testing using vegeta with golang?,"<p>I need to distribute the load across multiple client machines(Distributed attacks). I need to do it from the attacker in the go lang script not from pdsh for orchestration.
Below is my vegeta script.</p>
<p>attacker := vegeta.NewAttacker(vegeta.Timeout(1600*time.Second), vegeta.Connections(10000000), )
ramp1 := attacker.Attack(targeter, rampUpRate1, rampUpDuration1, &quot;Ramp-1 !!&quot;) {</p>
",https://stackoverflow.com/questions/72423828/how-to-create-distributed-load-testing-using-vegeta-with-golang,"['go', 'load-testing', 'distributed', 'vegeta']",242,False,1,0
504 Gateway Time Out on Load Testing on Apache Instance,"<p>I have a Laravel app deployed over Apache Instance Instance Config</p>
<pre><code>T3A.2xLarge  (vCPU = 4 , Memory 16 GIB)
</code></pre>
<p>I have increased apache timeout to 600 Seconds , configured mpm_prefork Module as below</p>
<pre><code>&lt;IfModule mpm_prefork_module&gt;
        StartServers            16
        MinSpareServers         0
        MaxSpareServers         0
        MaxClients              16
        ServerLimit             256
        MaxRequestWorkers       400
        MaxConnectionsPerChild  25
&lt;/IfModule&gt;
</code></pre>
<p>I have also changed PHP Configuration according.</p>
<p>The RDS DB have a max_connection of 600 so i have configured the maxRequestWorker to 400 to 600 else it is giving me Too Many Connection error</p>
<p>But along with this configuration when we do load testing for <strong>3000 users per 20 Rampup period</strong> It gives <strong>504 Gateway Timeout</strong> Error for Half of the request</p>
<p>But when i see other tools and logs for error it doesnt logs any error</p>
<p>Any suggestion on configuration ?</p>
",https://stackoverflow.com/questions/74599225/504-gateway-time-out-on-load-testing-on-apache-instance,"['amazon-ec2', 'apache2', 'performance-testing', 'apache2-module']",90,False,0,0
I&#39;m trying to make load testing of my Telegram bot,"<p>I'm trying to make load testing of my Telegram bot. So I tried to use HTTP(s) Test Script Recorder for that in JMeter and ran Proxy in Firefox for that, while did manipulations in my Telegram bot, but all that I had was just some random *.png files recorded in JMeter, which say me nothing and moreover, they came just ones and after records nothing, when I continue to work in the bot. When I record another sites request, everything is fine, but not Telegram. Read the following question and Rubycon says that there is only single Http Api request, but don't know which one and how to find that.
<a href=""https://stackoverflow.com/questions/52294658/telegram-bot-load-testig"">Telegram Bot load testig</a>
Can somebody help with that?</p>
",https://stackoverflow.com/questions/72511131/im-trying-to-make-load-testing-of-my-telegram-bot,"['jmeter', 'load', 'telegram']",199,False,0,1
Postgres DB goes into read only mode during load testing,"<p>During the load testing - we have observed that the Postgres databases are going to read only mode for a brief amount of time and getting recovered within minutes.</p>
<p>could any one suggest what is happening here?</p>
<p>The below is the exception observed in the application when Postgres DB is going into read only mode.</p>
<blockquote>
<p>could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement<br>
Caused by: org.postgresql.util.PSQLException: ERROR: cannot execute UPDATE in a read-only transaction</p>
</blockquote>
",https://stackoverflow.com/questions/70602848/postgres-db-goes-into-read-only-mode-during-load-testing,"['postgresql', 'jdbc']",546,False,0,0
Module Apache mod_remoteip cause SSL Handshake failed (5) when load testing,"<p>I have Haproxy which load balance the traffic to two apache servers.<br />
When I benchmark with <a href=""https://httpd.apache.org/docs/2.4/programs/ab.html"" rel=""nofollow noreferrer"">apache benchmark tool</a> I have no errors and everything works as expected.</p>
<p><strong>But when I activate the proxy protocol</strong> communication between HAProxy and apaches I start having issues.</p>
<p>There are two scenarios</p>
<p>1- Load testing with less then 500 request/second everything works well.</p>
<p>2- Load testing with <strong>concurrent requests &gt; 600</strong>.  I start having <strong>SSL handshake failed (5)</strong> issues.</p>
<ul>
<li><p>Here is my HAproxy configuration:</p>
<pre><code> #---------------------------------------------------------------------
 # Global settings
 #---------------------------------------------------------------------
 global
 log 127.0.0.1 local0 debug
 chroot      /var/lib/haproxy
 pidfile     /var/run/haproxy.pid
 maxconn     3000
 user        haproxy
 group       haproxy
 daemon

 # turn on stats unix socket
 stats socket /var/lib/haproxy/stats

 #---------------------------------------------------------------------
 # common defaults that all the 'listen' and 'backend' sections will
 # use if not designated in their block
 #---------------------------------------------------------------------
 defaults
 mode                    tcp
     log                     global
     option                  tcplog
     option                  dontlognull
     option http-server-close
     option                  redispatch
     retries                 3
     timeout http-request    10s
     timeout queue           1m
     timeout connect         10s
     timeout client          1m
     timeout server          1m
     timeout http-keep-alive 10s
     timeout check           10s
 #---------------------------------------------------------------------
 # Servers sections
 #---------------------------------------------------------------------
 frontend XXXX:443
   bind XXX:443
   mode tcp
   use_backend https_front

 backend https_front
   balance roundrobin
   server XXX XXX check send-proxy
</code></pre>
</li>
<li><p>My apache vhost conf:</p>
<pre><code>&lt;VirtualHost *:443&gt;
  ...
  ServerName XXXX
  RemoteIPProxyProtocol On
</code></pre>
</li>
<li><p>My benchmark command:</p>
<pre><code> &gt; ab  -c 1020 -n 9000  https://XXXX
  ...
 SSL handshake failed (5).
 SSL handshake failed (5).
 SSL handshake failed (5).
 SSL handshake failed (5).
 SSL read failed (1) - closing connection
 139921183344512:error:140E0197:SSL routines:SSL_shutdown:shutdown while in init:ssl/ssl_lib.c:2094:
...
</code></pre>
</li>
</ul>
<p>I can not find any logs neither in haproxy nor in the apache logs. Did someone face the same issue before ?</p>
<p>Thanks in advance</p>
",https://stackoverflow.com/questions/74142473/module-apache-mod-remoteip-cause-ssl-handshake-failed-5-when-load-testing,"['apache', 'ssl', 'haproxy', 'proxy-protocol']",142,False,1,0
"Load testing an api locally, vs in a deployed testing environment","<p>We have an expressJS API utilising mongoDB Atlas which will be deployed live to AWS.
We want to stress and load test this API before users begin using it.</p>
<p>The question is whether to perform the load tests locally, or whether to deploy to AWS within a testing environment and load test the deployed API.</p>
<p>Could anyone provide any advice on this subject?</p>
",https://stackoverflow.com/questions/71591536/load-testing-an-api-locally-vs-in-a-deployed-testing-environment,"['node.js', 'testing', 'deployment', 'load-testing', 'stress-testing']",333,True,0,2
Socket.io: Load testing by Manual multiple client connections creation - Not working,"<p>I am trying to do load testing of my side which using socket.io. I would like to know how my application performing with more socket.io client connections. So, I have tired to inject multiple client connections programmatically as mentioned in Socket.io documentation <a href=""https://socket.io/docs/v4/load-testing/#manual-client-creation"" rel=""nofollow noreferrer"">https://socket.io/docs/v4/load-testing/#manual-client-creation</a> as below.</p>
<pre><code>const { io } = require(&quot;socket.io-client&quot;);

const URL = process.env.URL || &quot;https://MYSITEURL.com&quot;;
const MAX_CLIENTS = 2;
const POLLING_PERCENTAGE = 0.05;
const CLIENT_CREATION_INTERVAL_IN_MS = 1000;
const EMIT_INTERVAL_IN_MS = 1000;

let clientCount = 0;
let lastReport = new Date().getTime();
let packetsSinceLastReport = 0;



const createClient = () =&gt; {
  // for demonstration purposes, some clients stay stuck in HTTP long-polling
  const transports =
    Math.random() &lt; POLLING_PERCENTAGE ? [&quot;websocket&quot;] : [&quot;polling&quot;, &quot;websocket&quot;];

    
  const socket = io(URL, {
    transports,
  });

  setInterval(() =&gt; {
    socket.emit(&quot;client to server event&quot;);
  }, EMIT_INTERVAL_IN_MS);

  socket.on(&quot;server to client event&quot;, () =&gt; {
    packetsSinceLastReport++;
  });

  socket.on(&quot;disconnect&quot;, (reason) =&gt; {
    console.log(`disconnect due to ${reason}`);
  });

  if (++clientCount &lt; MAX_CLIENTS) {
    setTimeout(createClient, CLIENT_CREATION_INTERVAL_IN_MS);
  }
};

createClient();

const printReport = () =&gt; {
  const now = new Date().getTime();
  const durationSinceLastReport = (now - lastReport) / 1000;
  const packetsPerSeconds = (
    packetsSinceLastReport / durationSinceLastReport
  ).toFixed(2);

  console.log(
    `client count: ${clientCount} ; average packets received per second: ${packetsPerSeconds}`
  );

  packetsSinceLastReport = 0;
  lastReport = now;
};

setInterval(printReport, 5000);
 
</code></pre>
<p>But on viewing the IIS requests of my site, seems only one connection is created all other connections are failing with 404 errors. Below I pasted list of logs.</p>
<p>My questions why for some connection my client is connection not for others. Also, in successful connection I found like one GET and POST calls are parsing but for unsuccessful connection only GET call get passed with same code, I don't know how? It would be helpful I I get any help. Thanks in advance.</p>
<p><strong>Successful connection IIS log</strong></p>
<pre><code>2022-03-09 05:21:57 127.0.0.1 GET /vnext/socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj84Vv&amp;X-ARR-CACHE-HIT=0&amp;X-ARR-LOG-ID=6fcf93eb-6e4f-4ab1-bc05-ace14e8218a0&amp;SERVER-STATUS=200 443 - XXX.X.X.X Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:97.0)+Gecko/20100101+Firefox/97.0 - 200 0 0 572
2022-03-09 05:21:57 XXX.X.X.X POST /vnext/socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj874I&amp;sid=lICvErLJGwMgaV2ZAADP&amp;X-ARR-CACHE-HIT=0&amp;X-ARR-LOG-ID=82cbb426-5a80-4553-8155-dedf522fe489&amp;SERVER-STATUS=200 443 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:97.0)+Gecko/20100101+Firefox/97.0 - 200 0 0 6
</code></pre>
<p><strong>For Unsuccessful call IIS logs</strong>*</p>
<pre><code>2022-03-09 05:23:16 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8P-K&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 939
2022-03-09 05:23:16 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Ppj&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 1068
2022-03-09 05:23:16 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8PvO&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 944
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Qnt&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 2
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Qno&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 3
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8QpT&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 6
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Qyg&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 3
</code></pre>
",https://stackoverflow.com/questions/71404958/socket-io-load-testing-by-manual-multiple-client-connections-creation-not-wor,"['performance', 'websocket', 'socket.io', 'load']",473,True,0,1
Performance-Load testing for with HTTP post apis mapped to eventhubs,"<p>We have an application which has HTTP Triggers associated with Eventhubs which means it has the capability to accept multiple HTTP requests /sec =&gt; more than 1 million/sec requests. It can take request from multiple API HTTP post requests. We are looking to test this application. Jmeter open supports multiple APIs but its not scalable to have 1 million requests/sec.
Are there any tools which support the event hub testing for such a Load?</p>
",https://stackoverflow.com/questions/72755677/performance-load-testing-for-with-http-post-apis-mapped-to-eventhubs,"['performance', 'jmeter', 'load', 'stress-testing']",77,False,0,2
Jmeter Duration time does not get reflected in Azure Load Testing,"<p>I am trying to execute my JMeter script via Azure Load Testing, I have setup a duration time in the JMeter script but when I execute via Azure Load Testing ,it does not get reflected, I cant figure from where the time is getting set. I am not sure how to configure that or where it gets overridden. Any support is appreciated.</p>
",https://stackoverflow.com/questions/74874491/jmeter-duration-time-does-not-get-reflected-in-azure-load-testing,"['jmeter', 'performance-testing', 'azure-load-testing']",52,False,0,1
How to calculate inputs for performace and load testing using Jmeter,"<p>How to calculate inputs (virtual users, ram up period) for performance and load testing using Jmeter.</p>
",https://stackoverflow.com/questions/70916124/how-to-calculate-inputs-for-performace-and-load-testing-using-jmeter,"['jmeter', 'performance-testing', 'load-testing']",62,False,-2,1
Load Testing with Selenium? What are the alternatives for my situation,"<p>Currently I'm trying to run a load test which walks through a uniquely created URL. I know JMeter is often used for load testing, but I was specifically asked to do it through something like Selenium that uses real browsers to create the URL then open that URL and complete the steps within the URL. I have created a Selenium script that can easily do this, but I need to do this 100 times concurrently and can't find a good way to do.
Is there a way to do this? I've looked into Selenium Grid but I'm not sure if I even have enough nodes to run 100 browsers concurrently. Please if you have recommendations for software or a different method of doing this I would love to hear it. Thank you!</p>
",https://stackoverflow.com/questions/73146964/load-testing-with-selenium-what-are-the-alternatives-for-my-situation,"['selenium', 'load-testing']",73,False,-1,2
Why does gevent give &quot;Too many open files&quot; error during load testing?,"<p>I have a setup consisting of nginx, gunicorn, and django. All these run through docker containers. In django, when a request comes, I save image files that are sent through request.</p>
<p>Since my code is IO bound, I wanted to use gevent, however, during load tests it gives &quot;Error at ...[Errno 24] Too many open files:&quot; unless i make worker-connections 2, which is too low.</p>
<p>I've researched this error, some people suggest increasing ulimit -n, but by default the container has 1048576 limit. It doesn't allow for more. I've also tried using eventlet instead of gevent, but the error is the same.</p>
<p><a href=""https://i.stack.imgur.com/RNP6d.jpg"" rel=""nofollow noreferrer"">Error message</a></p>
<p>Error traces back to this part:</p>
<pre><code>with open(path, &quot;wb&quot;) as f:
            f.write(imgfile)
</code></pre>
<p>Any suggestions?</p>
",https://stackoverflow.com/questions/72827086/why-does-gevent-give-too-many-open-files-error-during-load-testing,"['python', 'django', 'gunicorn', 'load-testing', 'gevent']",360,False,1,0
JMETER load testing using CSV dataset config throwing unsupported media type error,"<p>I'm trying to do the load test in JMeter using CSV dataset config.</p>
<p>It is throwing an unsupported media type error.</p>
<p><a href=""https://i.stack.imgur.com/LkL3X.png"" rel=""nofollow noreferrer"">Created thread group looping 100</a></p>
<p><a href=""https://i.stack.imgur.com/AoOJC.png"" rel=""nofollow noreferrer"">CSV file saved in bin folder</a></p>
<p><a href=""https://i.stack.imgur.com/mILzs.png"" rel=""nofollow noreferrer"">Cookie Manager</a></p>
<p><a href=""https://i.stack.imgur.com/vRdM9.png"" rel=""nofollow noreferrer"">Header Manager with content and encoding</a></p>
<p><a href=""https://i.stack.imgur.com/v6uZj.png"" rel=""nofollow noreferrer"">HTTP request</a></p>
<p><a href=""https://i.stack.imgur.com/OIvwP.png"" rel=""nofollow noreferrer"">Using json extractor extract the refno to pass the value in another request</a></p>
<p><a href=""https://i.stack.imgur.com/6aCMk.png"" rel=""nofollow noreferrer"">Passing the refno and apikey and user to another request to get the final result</a></p>
<p><a href=""https://i.stack.imgur.com/ZZpF1.png"" rel=""nofollow noreferrer"">Getting Unsupported Media type error</a></p>
",https://stackoverflow.com/questions/72991827/jmeter-load-testing-using-csv-dataset-config-throwing-unsupported-media-type-err,['jmeter'],49,True,-1,1
Worload modelling -Calculate number of users and think time for load testing,"<p>I want to know how to calculate number of users, Think time, Pacing time and number of Iteration for load testing.</p>
<p>Requirement is:</p>
<ol>
<li><p>I need to achieve 10000 transaction per hour.</p>
</li>
<li><p>Need to do 1 hour execution.</p>
</li>
<li><p>My script contains 7 transactions.</p>
</li>
<li><p>Overall Response time is 16 sec without think time.</p>
</li>
</ol>
",https://stackoverflow.com/questions/70739201/worload-modelling-calculate-number-of-users-and-think-time-for-load-testing,"['performance-testing', 'load-testing']",203,False,-1,1
Azure Load Testing: How to add 20k test files into my test?,"<p>I have created a JMeter test that randomly selects orders from a pool of 20K .json data files.
I need to upload the .json files along with the .jmx file, however, the Azure Load Testing UI allows the upload of 10 files at most.</p>
<p>I have read the documentation and I could not find anything relevant on how to upload the 20k data files.</p>
<p>Is there a way to upload the 20k files to my test in one go?
Thanks,
P.</p>
",https://stackoverflow.com/questions/74414749/azure-load-testing-how-to-add-20k-test-files-into-my-test,"['azure', 'azure-load-testing']",95,False,0,1
Load testing in mac and redhat OS throwing j.n.SocketException: Too many open files,"<p>we are doing the large loading testing(50000TPS)using gatling, we are using Red Hat Enterprise Linux Server VM's for performing the testing.</p>
<p>Load testing is good with 500 TPS for single VM(4cpu and 8gb ram), More than 500 TPS we are not achieving the our target metrics</p>
<p>Running more than 3000 TPS in single machine we are facing following errors</p>
<blockquote>
<p>j.n.SocketException: Too many open files</p>
</blockquote>
<blockquote>
<p>connect(..) failed: Cannot assign requested address 67328 (80.49%)</p>
</blockquote>
<p>Note: I'm executing the gradle load test task from same shell where Ulimit and port ranges are increased</p>
<p><strong>Steps we have tried so far</strong></p>
<ol>
<li>we have Increased the TCP local_port_range values(1024 65533) in load test vms</li>
<li>Configured the Ulimit to unlimited/higher values to higher in load test vms</li>
</ol>
<p><a href=""https://i.stack.imgur.com/Rmr6Q.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Rmr6Q.png"" alt=""enter image description here"" /></a></p>
<p>kindly anyone advise us on this</p>
<p><strong>Reference:</strong></p>
<p><a href=""https://stackoverflow.com/questions/6624077/max-open-files-per-process"">Max open files per process</a></p>
<p><a href=""https://www.ibm.com/docs/en/i/7.4?topic=utilities-ulimit"" rel=""nofollow noreferrer"">https://www.ibm.com/docs/en/i/7.4?topic=utilities-ulimit</a></p>
",https://stackoverflow.com/questions/72290043/load-testing-in-mac-and-redhat-os-throwing-j-n-socketexception-too-many-open-fi,"['linux', 'unix', 'redhat', 'gatling', 'ulimit']",198,True,0,1
How to dynamically load GraphQL Queries from different files into JMeter for load testing?,"<p>My team needs to add load testing for our GraphQL API, and we decided to use JMeter because it is supported by Azure Load Testing.</p>
<p>We have several graphql files that define queries like this:</p>
<p>request.graphql</p>
<pre class=""lang-php prettyprint-override""><code>query Foo($id: Long!) {
  name
  time
}
</code></pre>
<p>With corresponding test.json files used for unit testing that defines the query name, variables for the request, and an assert that contains the expected response from our API</p>
<p>request.test.json</p>
<pre class=""lang-json prettyprint-override""><code>[
  {
    &quot;Query&quot;: &quot;Foo&quot;,
    &quot;Variables&quot;: {
      &quot;id&quot;: 001
    },
    &quot;Assert&quot;: {
      &quot;name&quot;: &quot;bar&quot;,
      &quot;time&quot;: &quot;01/01/1999&quot;
    }
  }
]
</code></pre>
<p>We have dozens of these unit tests that we want to use for load testing our API using JMeter. How would we dynamically load our queries, variables, and assertions using JMeter, and load that into Azure Load Testing?</p>
<p>This is currently my very basic test plan with one graphql HTTP request. I want to avoid manually adding every single query, so that the queries in load tests get updated when a graphql and test.json file gets changed for our API.</p>
<p><a href=""https://i.stack.imgur.com/fp4pk.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/fp4pk.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/74074514/how-to-dynamically-load-graphql-queries-from-different-files-into-jmeter-for-loa,"['testing', 'graphql', 'jmeter', 'load-testing', 'azure-load-testing']",32,False,0,1
Too many RDS connections while load testing http server on AWS Lambda with RDS proxy,"<h2>Introduction</h2>
<p>I am hosting a web server implemented by <code>gorilla/mux</code> which expose API endpoints for users to access the database.</p>
<p>I put the server in a AWS Lambda function and use API Gateway to send Lambda proxy requests to the server. The request flow is:</p>
<ul>
<li>API Gateway -&gt; (API Gateway Lambda proxy integration) -&gt; Lambda function -&gt; RDS proxy -&gt; RDS instance</li>
</ul>
<h2>The server code</h2>
<pre class=""lang-golang prettyprint-override""><code>import (
    &quot;github.com/gorilla/mux&quot;
    &quot;github.com/aws/aws-lambda-go/events&quot;
    &quot;github.com/aws/aws-lambda-go/lambda&quot;
    &quot;github.com/awslabs/aws-lambda-go-api-proxy/core&quot;
    &quot;github.com/awslabs/aws-lambda-go-api-proxy/gorillamux&quot;
)

var (
    muxLambda *gorillamux.GorillaMuxAdapter
    router = mux.NewRouter().StrictSlash(true)
    // Register handler functions
)

func init() {
    muxLambda = gorillamux.New(router)
}

func LambdaHandler(
    ctx context.Context,
    req events.APIGatewayProxyRequest,
) (*core.SwitchableAPIGatewayResponse, error) {
    response, err := muxLambda.ProxyWithContext(ctx, *core.NewSwitchableAPIGatewayRequestV1(&amp;req))
    if err != nil {
        panic(fmt.Sprintf(&quot;Proxy encountered an error: %s&quot;, err.Error()))
    }
    return response, nil
}

func main() {
    lambda.Start(LambdaHandler)
}
</code></pre>
<ul>
<li>I open the connection to database via:</li>
</ul>
<pre class=""lang-golang prettyprint-override""><code>import &quot;database/sql&quot;
database, err := sql.Open(&quot;postgres&quot;, connStr)
</code></pre>
<h2>Problem</h2>
<p>While testing the load performance of this server (<code>siege -c 250 -d 0.5 -r 10 'http://&lt;api url&gt;/</code>),
I encountered so many connections to the RDS instance (around 400 connections in the AWS console) and the Lambda function returned timeout (30 sec) for almost all transactions.
If I lower the number of process, the response from the server works as expected.</p>
<p><strong>What are the possible things that cause this?</strong></p>
<p>From my search, I found that maybe it is due to:</p>
<ul>
<li>For each request, a new Lambda instance starts and opens a new database connection to the RDS proxy. With too many connections already there, somehow the Lambda waits and return timeout after 30 seconds.</li>
</ul>
<p>This might be similar to <a href=""https://stackoverflow.com/questions/49177554/how-should-i-manage-postgres-database-handles-in-a-serverless-environment"">this question</a>, but I think RDS proxy can handle connection pool for me? Or am I overloading the RDS proxy?</p>
<p>If the cause is overloading, what configuration can I do in the AWS setup?
Scaling up the RDS instances? Or Increase <code>max_connections</code> setting as mentioned in this <a href=""https://www.jeremydaly.com/manage-rds-connections-aws-lambda/"" rel=""nofollow noreferrer"">article</a>?</p>
<p>Or simply change the code structure as mentioned in <a href=""https://stackoverflow.com/questions/62688990/flask-web-application-deployment-via-aws-lambda"">this SO question</a> or <a href=""https://stackoverflow.com/questions/49177554/how-should-i-manage-postgres-database-handles-in-a-serverless-environment"">this SO question</a>?</p>
<p>Thanks for reading this far. Any feedback is appreciated.</p>
<h3>Updated: The connection metrics of RDS and RDS proxy</h3>
<ul>
<li><a href=""https://i.stack.imgur.com/mRiMq.png"" rel=""nofollow noreferrer"">DB connection of the RDS instance</a></li>
<li><a href=""https://i.stack.imgur.com/bq6vm.png"" rel=""nofollow noreferrer"">CloudWatch metrics of RDS proxy</a></li>
</ul>
",https://stackoverflow.com/questions/73151310/too-many-rds-connections-while-load-testing-http-server-on-aws-lambda-with-rds-p,"['amazon-web-services', 'aws-lambda', 'webserver', 'amazon-rds', 'serverless']",539,True,0,2
how Effective is k6 load testing for frontend part and how can we use it?,"<p>Effectiveness of k6 load testing for frontend</p>
<p>I am try to implement K6 for frontend? but I don't know How effective it is for frontend ? and how can we use k6 load testing for frontend ?</p>
",https://stackoverflow.com/questions/74484341/how-effective-is-k6-load-testing-for-frontend-part-and-how-can-we-use-it,"['load-testing', 'k6']",41,False,-1,1
How to perform load testing of .net tcp binding WCF services(Any tools or approach)?,"<p>We are working on one of the project and our requirement is to perform load/performance testing of wcf services hosted in windows where client uses .net tcp binding to communicate with the services.
We generally use Jmeter and Gatling for any load testing but as far as we know, these tools does not support TCP protocol services. We did some research and found some tools like like Visual studio 2010 ultimate edition which can be used for load testing of wcf services.
can anyone suggest anything/provide any assistance regarding the same e.g. tools, approach or  any references?
Any help would be greatly appreciated. Thank you.</p>
",https://stackoverflow.com/questions/71437806/how-to-perform-load-testing-of-net-tcp-binding-wcf-servicesany-tools-or-approa,"['.net', 'wcf', 'tcp']",251,False,0,1
Which websocket sampler is used to perform load testing on a websocket based chat application?,"<p>I have a Websocket Based chat application and I want to perform testing on it, In which I want fire 'hi' message from 10 users to a same destination. but I'm not sure which sampler should I use.</p>
<p>Please someone let me know which websocket sampler should I use.</p>
",https://stackoverflow.com/questions/74610167/which-websocket-sampler-is-used-to-perform-load-testing-on-a-websocket-based-cha,"['unit-testing', 'testing', 'jmeter', 'automation-testing']",48,False,0,1
How do I make sense the standard deviation numbers when load testing my node api?,"<p>I ran a load test for my node API using pm2, and I got the following results using <code>wrk</code> tool:</p>
<pre><code>Running 30s test
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    52.57ms   15.31ms 200.31ms   80.37%
    Req/Sec     1.92k   199.55     2.20k    79.60%
  57315 requests in 30.02s, 29.63MB read
Requests/sec:   1909.28
Transfer/sec:      0.99MB
</code></pre>
<p>However when I use all available threads the req/sec drops and the max latency goes up.</p>
<pre><code>Running 30s test
  8 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    57.05ms   19.87ms 345.07ms   80.40%
    Req/Sec   213.29     34.97   313.00     70.82%
  50944 requests in 30.06s, 26.33MB read
Requests/sec:   1694.56
Transfer/sec:      0.88MB
</code></pre>
<ol>
<li><p>How do I make sense of the stdev value? What does it mean by 80%?</p>
</li>
<li><p>Why would the req/sec go down when I use more threads?</p>
</li>
</ol>
",https://stackoverflow.com/questions/72571115/how-do-i-make-sense-the-standard-deviation-numbers-when-load-testing-my-node-api,"['node.js', 'benchmarking', 'wrk']",22,False,0,0
How to create multiple client connections using python-socketio client for load testing Flask-Socketio server,"<h2>I would like to create around 10,000 clients and use them to send and recieve messages from Flask-Socketio server. I am using the default Flask Werkzeug development web server.</h2>
<p><strong>This is the app.py</strong></p>
<pre><code>from flask import Flask, render_template
from flask_socketio import SocketIO

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

@socketio.on('message')
def handle_message(message):
    print(message)

if __name__ == '__main__':
    socketio.run(app,debug=True)

</code></pre>
<p><strong>This is the test_client.py</strong></p>
<pre><code>import socketio
from multiprocessing.pool import ThreadPool

# standard Python
sio = socketio.Client()

def f(thread):
    server = 'http://127.0.0.1:5000/' + str(thread)
    s = f'/{thread}'
    sio.connect(server)
    sio.emit('message', {'Hello': i}, namespace=s)

threads = 5
t = ThreadPool(threads)
t.map(f, range(0, threads))

</code></pre>
<p>Current test_client.py's Terminal Output:</p>
<pre><code>raise exceptions.BadNamespaceError(
socketio.exceptions.BadNamespaceError: /2 is not a connected namespace.
</code></pre>
<p>Expected app.py's Terminal Output:</p>
<pre><code>Hello: 0
Hello: 1
Hello: 2
Hello: 3
Hello: 4
</code></pre>
<p>Please if there is a different/ better way of doing this, send me the doc link to check.</p>
",https://stackoverflow.com/questions/74540987/how-to-create-multiple-client-connections-using-python-socketio-client-for-load,"['socket.io', 'client-server', 'flask-socketio', 'stress-testing', 'python-socketio']",432,True,1,1
Working on Kafka load testing with jmeter and getting unable to connect kafka and timeout issues,"<p>Created basic script for kafka with javarequest and JSR223 sampler. During script execution getting below error .</p>
<p>Sample script :</p>
<pre><code>import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.common.serialization.StringSerializer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.header.Header;
import org.apache.kafka.common.header.internals.RecordHeader;
import org.apache.kafka.common.header.Headers;
import org.apache.kafka.common.header.internals.RecordHeaders;

Properties props = new Properties();
props.put(&quot;zookeeper.connect&quot;, &quot;Zookeper:2181&quot;);
props.put(&quot;bootstrap.servers&quot;, &quot;b-1..amazonaws.com:9096&quot;);
props.put(&quot;key.serializer&quot;, &quot;org.apache.kafka.common.serialization.StringSerializer&quot;);
props.put(&quot;value.serializer&quot;, &quot;org.apache.kafka.common.serialization.StringSerializer&quot;);
props.put(&quot;compression.type&quot;, &quot;none&quot;);
props.put(&quot;batch.size&quot;, &quot;16384&quot;);
props.put(&quot;linger.ms&quot;, &quot;0&quot;);
props.put(&quot;buffer.memory&quot;, &quot;33554432&quot;);
props.put(&quot;acks&quot;, &quot;1&quot;);
props.put(&quot;send.buffer.bytes&quot;, &quot;131072&quot;);
props.put(&quot;receive.buffer.bytes&quot;, &quot;32768&quot;);
props.put(&quot;security.protocol&quot;, &quot;SASL SSL&quot;);
props.put(&quot;sasl.kerberos.service.name&quot;, &quot;kafka&quot;);
props.put(&quot;sasl.mechanism&quot;, &quot;SCRAM-SHA-512&quot;);

//System.setProperty(&quot;java.security.auth.login.config&quot;,&quot;C:/kafka/JAAS.conf&quot;);

props.put(&quot;java.security.auth.login.config&quot;, &quot;C:/kafka/JAAS.conf&quot;);

KafkaProducer\&lt;String, String\&gt; producer = new KafkaProducer\&lt;String, String\&gt;(props);
</code></pre>
<p>Errors:</p>
<pre><code>\[1:38 PM\] veerajah, neelam (contracted)

2022-12-26 08:07:47,302 INFO o.a.k.c.p.KafkaProducer: \[Producer clientId=JMeterKafkaBackendListener\] Closing the Kafka producer with timeoutMillis = 0 ms.

\[1:39 PM\] veerajah, neelam (contracted)

Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer

\[1:40 PM\] veerajah, neelam (contracted)

Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
</code></pre>
",https://stackoverflow.com/questions/74919069/working-on-kafka-load-testing-with-jmeter-and-getting-unable-to-connect-kafka-an,"['java', 'performance', 'apache-kafka', 'jmeter']",237,False,-1,1
Load Testing Database with JMETER : force re open connection to load test queries with connection opening,"<p>I need to validate a workload on a DB used to answer to http api.
In this context, on production, there are a lot of connections opened / closed. For a connection, there are only 2 or 3 small queries launched..   So connection 'activity' (open/close) has to be taken into account in our application.</p>
<p>I need to 'bench' / test the DB without the application stack,   so <strong>I'd like JMETER to query directly the database like the web service would do..</strong></p>
<p>When using / configuring odbc connection pool through &quot;jdbc connection configuration&quot;,  I only see the way to define a large pool of connection that will be used, after, to launch queries.  That mean...  the connections stay alive after playing ThreadGroup scenario, and are reused.    In real application, for a scenario,  this would make a new connection, and would close this one at the end.</p>
<p><strong>Is there a way to do it (make a new connection for every ThreadGroup run) in JMETER with JDBC 'components' ?</strong></p>
<p>as a workarround, I created a small script and asked jmeter to run it... but it's far more heavier for the server to do it (launch a new process each time to execute the (php) script..  and I couldn't load the server enough by doing it, to reproduce the workload.</p>
<p><a href=""https://i.stack.imgur.com/2Ol29.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/2Ol29.png"" alt=""Screen shot of the jdbc connection pool"" /></a></p>
",https://stackoverflow.com/questions/72215908/load-testing-database-with-jmeter-force-re-open-connection-to-load-test-querie,"['mysql', 'postgresql', 'jmeter', 'load-testing', 'jmeter-5.0']",234,False,0,1
is there way to write data in CSV file using jmx script in Azure load testing?,"<p>I have added beanshell postprocessor in sampler to write data in CSV file and it is working fine in Jmeter. But when I uploaded same jmx script in Azure load testing and ran it, I don't see any CSV file where my response data is added.</p>
<p><strong>Logs:</strong>
WARN o.a.j.u.SSLManager: Keystore file not found, loading empty keystore
WARN c.a.c.j.j.c.MALTListener: TEST ENDED EVENT - uploading jmeter.log file</p>
",https://stackoverflow.com/questions/71172060/is-there-way-to-write-data-in-csv-file-using-jmx-script-in-azure-load-testing,"['azure', 'azure-devops', 'jmeter', 'load-testing']",220,False,0,1
How to post the data in a .csv file using a TCP sampler in JMeter (Load Testing)?,"<p>I am getting stuck after creating a &quot;.csv data config element&quot; by inserting a file and a TCP Sampler with the proper Server ID and Port Number.
I have also created a thread group for it.</p>
",https://stackoverflow.com/questions/73538018/how-to-post-the-data-in-a-csv-file-using-a-tcp-sampler-in-jmeter-load-testing,"['tcp', 'jmeter']",38,False,0,1
Why do requests interfere with one another requests and slow performance with Spring Integration during load testing?,"<p><strong>What I am doing?</strong> I'm connecting to a remote server using <strong>TLSv1.2</strong> and sending a max of <strong>300 bytes of data</strong> and receive a response back also of the same size.</p>
<p><strong>What is expected to deliver?</strong> During load testing we are expected to deliver <strong>1000TPS</strong>.
<strong>Use at max using 50 Persistent TLS Connections</strong>.</p>
<hr />
<p><strong>What is going wrong?</strong></p>
<ol>
<li>During load testing, the max TPS we are receiving is 250TPS.</li>
<li>During load testing, we observed that the requests are interfering causing one request's response to get into another request response.</li>
</ol>
<h2>Configurations:</h2>
<pre><code>@EnableIntegration
@IntegrationComponentScan
@Configuration
public class TcpClientConfig implements ApplicationEventPublisherAware {

  private ApplicationEventPublisher applicationEventPublisher;
  private final ConnectionProperty connectionProperty;

  @Override
  public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
    this.applicationEventPublisher = applicationEventPublisher;
  }

  TcpClientConfig(ConnectionProperty connectionProperty) {
    this.connectionProperty = connectionProperty;
  }

  @Bean
  public AbstractClientConnectionFactory clientConnectionFactory() {
    TcpNioClientConnectionFactory tcpNioClientConnectionFactory =
        getTcpNioClientConnectionFactoryOf(
            connectionProperty.getPrimaryHSMServerIpAddress(),
            connectionProperty.getPrimaryHSMServerPort());

    final List&lt;AbstractClientConnectionFactory&gt; fallBackConnections = getFallBackConnections();
    fallBackConnections.add(tcpNioClientConnectionFactory);

    final FailoverClientConnectionFactory failoverClientConnectionFactory =
        new FailoverClientConnectionFactory(fallBackConnections);

    return new CachingClientConnectionFactory(
        failoverClientConnectionFactory, connectionProperty.getConnectionPoolSize());
  }

  @Bean
  DefaultTcpNioSSLConnectionSupport connectionSupport() {

    final DefaultTcpSSLContextSupport defaultTcpSSLContextSupport =
        new DefaultTcpSSLContextSupport(
            connectionProperty.getKeystorePath(),
            connectionProperty.getTrustStorePath(),
            connectionProperty.getKeystorePassword(),
            connectionProperty.getTruststorePassword());

    final String protocol = &quot;TLSv1.2&quot;;
    defaultTcpSSLContextSupport.setProtocol(protocol);
    return new DefaultTcpNioSSLConnectionSupport(defaultTcpSSLContextSupport, false);
  }

  @Bean
  public MessageChannel outboundChannel() {
    return new DirectChannel();
  }



  @Bean
  @ServiceActivator(inputChannel = &quot;outboundChannel&quot;)
  public MessageHandler outboundGateway(AbstractClientConnectionFactory clientConnectionFactory) {
    TcpOutboundGateway tcpOutboundGateway = new TcpOutboundGateway();
    tcpOutboundGateway.setConnectionFactory(clientConnectionFactory);
    return tcpOutboundGateway;
  }
  @ServiceActivator(inputChannel = &quot;error-channel&quot;)
  public void handleError(ErrorMessage em)  {
    Throwable throwable = em.getPayload();
    if(ExceptionUtils.indexOfThrowable(throwable, IOException.class)!=-1){
      ExceptionHandler.throwHsmSystemTimeoutException();
    }
    throw new RuntimeException(throwable);
  }

  private List&lt;AbstractClientConnectionFactory&gt; getFallBackConnections() {
    final int size = connectionProperty.getAdditionalHSMServersConfig().size();
    List&lt;AbstractClientConnectionFactory&gt; collector = new ArrayList&lt;&gt;(size);
    for (final Map.Entry&lt;String, Integer&gt; server :
        connectionProperty.getAdditionalHSMServersConfig().entrySet()) {
      collector.add(getTcpNioClientConnectionFactoryOf(server.getKey(), server.getValue()));
    }
    return collector;
  }

  private TcpNioClientConnectionFactory getTcpNioClientConnectionFactoryOf(
      final String ipAddress, final int port) {
    TcpNioClientConnectionFactory tcpNioClientConnectionFactory =
        new TcpNioClientConnectionFactory(ipAddress, port);
    tcpNioClientConnectionFactory.setUsingDirectBuffers(true);
    tcpNioClientConnectionFactory.setDeserializer(new CustomDeserializer());
    tcpNioClientConnectionFactory.setApplicationEventPublisher(applicationEventPublisher);
    tcpNioClientConnectionFactory.setSoKeepAlive(true);
    tcpNioClientConnectionFactory.setConnectTimeout(connectionProperty.getConnectionTimeout());
    tcpNioClientConnectionFactory.setSoTcpNoDelay(true);
    tcpNioClientConnectionFactory.setTcpNioConnectionSupport(connectionSupport());
    return tcpNioClientConnectionFactory;
  }
}
</code></pre>
<h2>Deserializer</h2>
<pre><code>@Component
class CustomDeserializer extends DefaultDeserializer {
  private static final int MAX_LENGTH = 80;

  @Override
  public Object deserialize(final InputStream inputStream) throws IOException {
    StringBuilder stringBuffer = new StringBuilder(MAX_LENGTH);

    int read = Integer.MIN_VALUE;
    for (int loop = 0; loop &lt; 300 &amp;&amp; read != ']'; loop++) {
      read = inputStream.read();
      stringBuffer.append((char) read);
    }
    String reply = stringBuffer.toString();

    return reply;
  }
</code></pre>
<h2>Gateway:</h2>
<pre><code>@Component
@MessagingGateway(defaultRequestChannel = &quot;outboundChannel&quot;,errorChannel =&quot;error-channel&quot; )
public interface TcpClientGateway {
    String send(String message);
}
</code></pre>
<hr />
<p>Additional Information:</p>
<ol>
<li>Our service is deployed on the GKE having the 8 to 10 Pods.</li>
<li>The target server is capable of handling more than 2000TPS we are licensed to use only 1000TPS.</li>
</ol>
<hr />
<h2>Edit: Added startup logs:</h2>
<pre><code>{
    &quot;logger&quot;: &quot;org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor&quot;,
    &quot;message&quot;: &quot;No bean named \u0027errorChannel\u0027 has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor&quot;,
    &quot;message&quot;: &quot;No bean named \u0027integrationHeaderChannelRegistry\u0027 has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created.&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.cloud.context.scope.GenericScope&quot;,
    &quot;message&quot;: &quot;BeanFactory id\u003da426df04-fa05-397e-a849-44d732e3faa4&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker&quot;,
    &quot;message&quot;: &quot;Bean \u0027org.springframework.integration.config.IntegrationManagementConfiguration\u0027 of type [org.springframework.integration.config.IntegrationManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker&quot;,
    &quot;message&quot;: &quot;Bean \u0027integrationChannelResolver\u0027 of type [org.springframework.integration.support.channel.BeanFactoryChannelResolver] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)&quot;,
}
{
    &quot;logger&quot;: &quot;org.apache.coyote.http11.Http11NioProtocol&quot;,
    &quot;message&quot;: &quot;Initializing ProtocolHandler [\&quot;http-nio-8080\&quot;]&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the \u0027errorChannel\u0027 channel&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.channel.PublishSubscribeChannel&quot;,
    &quot;message&quot;: &quot;Channel \u0027decryptor-api.errorChannel\u0027 has 1 subscriber(s).&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;started bean \u0027_org.springframework.integration.errorLogger\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;Adding {service-activator:tcpClientConfig.handleError.serviceActivator} as a subscriber to the \u0027error-channel\u0027 channel&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.channel.DirectChannel&quot;,
    &quot;message&quot;: &quot;Channel \u0027decryptor-api.error-channel\u0027 has 1 subscriber(s).&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientConfig.handleError.serviceActivator\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;Adding {ip:tcp-outbound-gateway:tcpClientConfig.outboundGateway.serviceActivator} as a subscriber to the \u0027outboundChannel\u0027 channel&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.channel.DirectChannel&quot;,
    &quot;message&quot;: &quot;Channel \u0027decryptor-api.outboundChannel\u0027 has 1 subscriber(s).&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory@619b7436, host\u003d10.1.4.4, port\u003d9021&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory@71c1ca1, host\u003d10.1.4.4, port\u003d9021&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.FailoverClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started org.springframework.integration.ip.tcp.connection.FailoverClientConnectionFactory@20cf3ab3, host\u003d, port\u003d0&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.CachingClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started bean \u0027clientConnectionFactory\u0027; defined in: \u0027class path resource [com/globalpay/enterprise/integrations/decrypter/configuration/TcpClientConfig.class]\u0027; from source: \u0027com.globalpay.enterprise.integrations.decrypter.configuration.TcpClientConfig.clientConnectionFactory()\u0027, host\u003d, port\u003d0&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientConfig.outboundGateway.serviceActivator\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.gateway.GatewayProxyFactoryBean$MethodInvocationGateway&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientGateway#send(String)\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.gateway.GatewayProxyFactoryBean&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientGateway\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.apache.coyote.http11.Http11NioProtocol&quot;,
    &quot;message&quot;: &quot;Starting ProtocolHandler [\&quot;http-nio-8080\&quot;]&quot;,
}
</code></pre>
",https://stackoverflow.com/questions/73253127/why-do-requests-interfere-with-one-another-requests-and-slow-performance-with-sp,"['spring-integration', 'spring-integration-dsl', 'spring-integration-ip']",101,False,0,1
Is there a way to load test every component of an AWS solution using Distributed Load Testing?,"<p>Is there a way to load test every component of an AWS solution using Distributed Load Testing? <a href=""https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/"" rel=""nofollow noreferrer"">https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/</a></p>
<p>I have an AWS serverless ecommerce solution, which has a step function(which has a few lambda functions), an API gateway and RDS. I want to load test the solution at different endpoints like load the step function, then load the API gateway so on and so forth.
So, I've deployed <a href=""https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/"" rel=""nofollow noreferrer"">https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/</a> and I am facing 2 issues:</p>
<ol>
<li>To test the entire solution I have the target URL for the S3 bucket that is the entry point to the solution, now the problem is that the authentication key and password are cycled every week. So, I have to keep updating script with the latest key id and password. Is there a way for me to use some other mechanism like have a jenkins authorised user and integrate it with the distributed load testing(DLT) solution OR some other way to keep the entire process automated without compromising the security?</li>
<li>Secondly, I have to load test endpoints that do not have external URLs like the step function (there is an async lambda that initiates the step function) and in order to send payload to the step function through DLT I need a target URL. Is it even possible to load test in such a scenario? If yes, how? I have tried using serverless artillery but again it needs a target URL.</li>
</ol>
",https://stackoverflow.com/questions/70764570/is-there-a-way-to-load-test-every-component-of-an-aws-solution-using-distributed,"['amazon-web-services', 'performance-testing', 'load-testing']",299,False,0,1
Any leads on using k6 for temporal workflows load testing ? Any references if we can achieve it,"<p>Can we use k6 to test temporal workflows load testing?
Is there any references which would be helpful</p>
",https://stackoverflow.com/questions/73398632/any-leads-on-using-k6-for-temporal-workflows-load-testing-any-references-if-we,"['load-testing', 'k6', 'temporal-workflow']",113,True,0,1
Load testing asynchronous SOAP app with HTTP2 request results returned as HTTP2 requests instead of HTTP2 responses,"<p>I have been tasked with load testing an app that receives SOAP messages through HTTP/2.0 but does not return HTTP/2.0 responses to the sender. Instead, the app sends what would be a SOAP response message in the form of an HTTP/2.0 request to the original sender*.</p>
<p>My problem is that I need to collect these responses and analyze them but most load testing tools seem to work in standard request-response-postprocessing model. In this case, there is no response so no post processing can be done during the load test. Does anybody have experience with load testing similar applications? What tools would you use for this purpose?</p>
<p>I usually stick to jmeter but it doesn’t seem to be the correct tool for this. I have found a <a href=""https://github.com/pleutres/jmeter-asynchronous-http"" rel=""nofollow noreferrer"">plugin for jmeter</a> that starts a compact HTTP/1.1 server that awaits this kind of “response” but the app in question uses HTTP/2.0. Would this be easier in SoapUI? Or is setting up a webserver to receive and save the “response” data sent by the app the only way to achieve this?</p>
<p>*Side-note: the app sends its requests to an endpoint that is known to the original message sender so this is beside the problem. There are also message identifiers involved, so it is known what request results in what result.</p>
",https://stackoverflow.com/questions/74825192/load-testing-asynchronous-soap-app-with-http2-request-results-returned-as-http2,"['asynchronous', 'jmeter', 'soapui', 'load-testing', 'http2']",28,False,0,0
"Sales force application load testing using JMeter, one of the requests has got response of invalid JSON message","<p>We are using JMeter for salesforce application performance testing and the request information is sent using parameters and one of the parameters holds the Json message and when we execute the request we are getting  as</p>
<p>/{&quot;event&quot;:{&quot;descriptor&quot;:&quot;markup://aura:systemError&quot;,&quot;attributes&quot;:{&quot;values&quot;:{&quot;message&quot;:&quot;[AuraClientInputException from server] Unexpected request input. Expected input format: &quot;Data in a request must be a valid JSON Object and must be in the expected format.&quot;.&quot;}}</p>
<p>when i have validated the request using Json format validator it is valid json however when take the request sent from the view result tree it is not a valid json, something went wrong or JMeter has modified the message. anybody has faced this issue any solution is appreciated.</p>
",https://stackoverflow.com/questions/72537287/sales-force-application-load-testing-using-jmeter-one-of-the-requests-has-got-r,"['jmeter', 'performance-testing', 'jmeter-5.0']",262,False,0,1
The Database Connection is going high and also the RDS CPU is hitting 100% during the load testing,"<p>When doing the load testing on my application the AWS RDS CPU is hitting 100% and corresponding requests are getting errored out. The RDS is m4.2x.large. With the same configuration the things were fine until 2 weeks back. There are no infra changes done on the environment neither the application level changes. The whole load test used to go smooth until complete 2hrs until 2 weeks back. There are no specific exception apart from <strong>GENERICJDBCEXCEPTION</strong>.</p>
<p>All other necessary services are up and running on respective instances.</p>
<p>We are using SQL as Database Management System.</p>
<p>Is there any chance that this happens suddenly? How to resolve this? Suggestions are much appreciated. This has created many problems.</p>
<p>Monitoring the slow logs and resolving them did not solve the problem.</p>
<p>Should we upgrade the RDS to next version?</p>
<p>Does more data on then DB slows the Database?</p>
<p>We have modified the connection pool parameters also and tried it.</p>
",https://stackoverflow.com/questions/74203439/the-database-connection-is-going-high-and-also-the-rds-cpu-is-hitting-100-durin,"['mysql', 'amazon-web-services', 'jmeter', 'amazon-rds', 'load-testing']",136,False,0,1
"I have also run load testing for React native apps, which tools is best for the native mobile apps?","<p>I tried blazemeter and Jmeter, i could not run the program
After set the proxy the wifi is not working on my mobile device so can give solution for that?</p>
<p>I should perform laod testing for native maibile apps (1000 user)</p>
",https://stackoverflow.com/questions/74581886/i-have-also-run-load-testing-for-react-native-apps-which-tools-is-best-for-the,['load'],25,False,0,0
"Cloudfront caching responses with Cache-Control : no-cache, no-store set from origin on traffic spikes(load testing with k6)","<p>Current cache policy is set to</p>
<pre><code>Minimum TTL : 0
Maximum TTL : 31536000
Default TTL : 0 
</code></pre>
<p><strong>Origin Response</strong>
We have a specific url pattern for which we are setting the <code>Cache-Control</code>: <code>no-cache, no-store</code> response header from origin.</p>
<p><strong>Expected behaviour:</strong>
The expected behaviour according to the docs <a href=""https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html#ExpirationDownloadDist"" rel=""nofollow noreferrer"">Managing how long content stays in the cache</a> is all the requests should reach origin server.</p>
<p><strong>Test Condition</strong>
We have been using k6 for load testing and found that under 10 rps for 10s, we get about <code>65% cache hit from cloudfront</code> and only <code>35% cache misses</code> based on the <code>X-Cache</code> header.
We have tried many different combinations of TTL and other possible <code>Cache-Control</code> headers but nothing worked.</p>
<p><strong>Expected Resolution</strong>
We want all the requests with that specific pattern to reach our origin servers.</p>
",https://stackoverflow.com/questions/71274319/cloudfront-caching-responses-with-cache-control-no-cache-no-store-set-from-or,"['amazon-web-services', 'caching', 'amazon-cloudfront', 'cache-control']",331,False,1,0
How to use multiple client certificates stored in keystore.p12 and set jmeter&#39;s system.properties while setting test in Azure Load Testing service?,"<p>I am trying to set up test (manual/yaml) in Azure Load Testing service and my test uses client certificates, so I uploaded jmx, keystore(.p12) and csv (has alias of certificates in keystore) to test plan.</p>
<p>In Azure Load Testing, where can I set javax.net.ssl.keyStoreType, javax.net.ssl.keyStore, javax.net.ssl.keyStorePassword, https.use.cached.ssl.context,https.keyStoreStartIndex and https.keyStoreEndIndex properties?</p>
<p>In case of Jmeter, I would set above properties in jmeter's system.properties file. But, in case of Azure Load Testing, not sure how to get this working.</p>
<p>Please suggest, Thanks</p>
",https://stackoverflow.com/questions/72056385/how-to-use-multiple-client-certificates-stored-in-keystore-p12-and-set-jmeters,"['azure-devops', 'jmeter', 'azure-pipelines', 'azure-pipelines-build-task', 'azure-pipelines-task-lib']",226,True,1,1
I Have tried to test multiple URLs in Jmeter for Load Testing with CSV file but it seems to be not getting result,"<p>I have taken 200 users at a time and ramp up period is 100 seconds.I entered URLs in the CSV file, added path and variables for respective folder in the Jmeter. It also display the results for users but the ramp up period is continuously going on and on. Even though I take 100 seconds it goes up to 2 hours. So is there any alternating way to test the multiple URLs at a time or not?</p>
",https://stackoverflow.com/questions/73289489/i-have-tried-to-test-multiple-urls-in-jmeter-for-load-testing-with-csv-file-but,['jmeter'],58,True,0,1
"API load testing in jmeter, while running for 100 users, 45 -50 users getting 200 reponse but remaining shows 500 internal server error","<p>i tried with one API for 100 users. for 50 users I am getting success response but for remaining 50 I am getting 500 internal server error. how half of the API's alone getting failed. please suggest me a solution</p>
",https://stackoverflow.com/questions/73209374/api-load-testing-in-jmeter-while-running-for-100-users-45-50-users-getting-20,"['jmeter', 'jmeter-5.0', 'jmeter-4.0', 'jmeter-3.2']",300,False,0,1
"I&#39;m trying to do load testing using JMeter 5.5 . I have added cookie values for my request, but the values are not passing during the execution","<p>I'm trying to do load testing using JMeter 5.5. I have added cookie values for my request, but the values are not passing during the execution.</p>
<p>Can someone help me on this.</p>
<p><a href=""https://i.stack.imgur.com/Xi3Me.png"" rel=""nofollow noreferrer"">HTTP Cookie Manager</a></p>
",https://stackoverflow.com/questions/73133051/im-trying-to-do-load-testing-using-jmeter-5-5-i-have-added-cookie-values-for,"['testing', 'jmeter', 'load']",84,False,0,1
Angular Universal Load Testing,"<p>I am testing my Angular Univeral Application which is deployed on App Engine with F2 instance_class which has 512 MB memory 1.2 GHz CPU. I am using Artillery to do the load testing.
I am new to load testing and its figures so not able to understand is my figures are correct or not.</p>
<p>I have tested on single instance it is taking upto 70 req and giving the 200 for all. Now I am doing the load testing with below values and here is what I got. Not able to understand if  I am doing right?</p>
<pre><code>http:
    extendedMetrics: true
    timeout: 60
phases:
     - duration: 60
       arrivalRate: 5
       name: Warm up
     - duration: 120
       arrivalRate: 5
       rampTo: 50
       name: Ramp up load
     - duration: 120
       arrivalRate: 50
       name: Sustained load
</code></pre>
<p><a href=""https://i.stack.imgur.com/3tYnH.png"" rel=""nofollow noreferrer"">Load Test Result</a></p>
<p>Here are my questions.</p>
<ol>
<li>Is App Engine is good for deploying Angular SSR/Universal with large data operations?</li>
<li>Are the figures seem correct for Load Testing?</li>
<li>Do we do such heavy load testing with a Cache or without a Cache?</li>
</ol>
",https://stackoverflow.com/questions/73674561/angular-universal-load-testing,"['angular', 'server-side-rendering', 'load-testing', 'angular-universal']",57,False,0,0
how Effective is k6 load testing for frontend part and how can we use it?,"<p>Effectiveness of k6 load testing for frontend</p>
<p>I am try to implement K6 for frontend? but I don't know How effective it is for frontend ? and how can we use k6 load testing for frontend ?</p>
",https://stackoverflow.com/questions/74484341/how-effective-is-k6-load-testing-for-frontend-part-and-how-can-we-use-it,"['load-testing', 'k6']",41,False,-1,1
How to use multiple client certificates stored in keystore.p12 and set jmeter&#39;s system.properties while setting test in Azure Load Testing service?,"<p>I am trying to set up test (manual/yaml) in Azure Load Testing service and my test uses client certificates, so I uploaded jmx, keystore(.p12) and csv (has alias of certificates in keystore) to test plan.</p>
<p>In Azure Load Testing, where can I set javax.net.ssl.keyStoreType, javax.net.ssl.keyStore, javax.net.ssl.keyStorePassword, https.use.cached.ssl.context,https.keyStoreStartIndex and https.keyStoreEndIndex properties?</p>
<p>In case of Jmeter, I would set above properties in jmeter's system.properties file. But, in case of Azure Load Testing, not sure how to get this working.</p>
<p>Please suggest, Thanks</p>
",https://stackoverflow.com/questions/72056385/how-to-use-multiple-client-certificates-stored-in-keystore-p12-and-set-jmeters,"['azure-devops', 'jmeter', 'azure-pipelines', 'azure-pipelines-build-task', 'azure-pipelines-task-lib']",226,True,1,1
locust Exception: No tasks defined on use the @task decorator or set the tasks property of the User,"<p>Source code is here <a href=""https://github.com/anishnath/vault-load-testing/blob/master/locusts/key_value.py#L65"" rel=""nofollow noreferrer"">https://github.com/anishnath/vault-load-testing/blob/master/locusts/key_value.py#L65</a></p>
<p>To run</p>
<p><code>locust --host https://10.1.3.211:8200  --headless</code></p>
<p>Hello expert getting error with</p>
<pre><code>: No tasks defined on KeyValueLocust. use the @task decorator or set the tasks property of the User (or mark it as abstract = True if you only intend to subclass it)
</code></pre>
<p>Locust Version</p>
<p><code>locust 2.8.2</code></p>
<p>The code</p>
<pre class=""lang-py prettyprint-override""><code>import json
import sys

import os
import random

from locust import HttpLocust, task
sys.path.append(os.getcwd())
import common
from locusts import VaultTaskSet, VaultLocust
class KeyValueTasks(VaultTaskSet):
    def __init__(self, parent):
        super().__init__(parent)
        self.kv_version = 1

    
    def on_start(self):
        self.kv_version = common.get_kv_version(client=self.client)

    @task
    def get_kv_secret(self):
        

    @task
    def put_kv_secret(self):
        

    @task
    def list_l1_secrets(self):
        

    @task
    def list_l2_secrets(self):
        key_path = common.key_path_1()
        


class KeyValueLocust(VaultLocust):
    task_set = KeyValueTasks
    weight = 3
    min_wait = 5000
    max_wait = 10000

</code></pre>
<p>The locustfile.py</p>
<pre><code>from locusts.key_value import KeyValueLocust

__static__ = [KeyValueLocust]
__all__ = __static__
</code></pre>
<p>The</p>
<pre class=""lang-py prettyprint-override""><code>from locust import TaskSet, HttpUser
from locust.clients import ResponseContextManager, HttpSession, RequestException, CatchResponseError
import time

import os
import json


class VaultLocust(HttpUser):

    token = None
    testdata = None
    abstract = True

    def __init__(self,parent):
        super().__init__(parent)
        self.client = VaultSession(base_url=self.host,request_event=self.client.request_event, user=self)

    def setup(self):
        

    @classmethod
    def _set_token(cls, token):
        cls.token = token

    @classmethod
    def _set_testdata(cls, data):
        cls.testdata = data


class VaultTaskSet(TaskSet):

    def mount(self, name: str, mount_point: str=None):
        mount_point = mount_point or name
        r = self.client.get('/v1/sys/mounts')
        if f'{mount_point}/' not in r.json():
            self.client.post(f'/v1/sys/mounts/{mount_point}', json={'type': name})

    def enable_auth(self, name: str, path: str=None):
        path = path or name
        r = self.client.get('/v1/sys/auth')
        if f'{path}/' not in r.json():
            self.client.post(f'/v1/sys/auth/{path}', json={'type': name})

    def revoke_lease(self, lease_id: str):
        self.client.put('/v1/sys/leases/revoke',
                        json={'lease_id': lease_id})

    def is_in_list(self, key: str, uri: str) -&gt; bool:
        with self.client.request('LIST', uri, catch_response=True) as r:
            if r.status_code == 404:
                r.success()
                return False
            else:
                return key in r.json()['data']['keys']

    @property
    def client(self) -&gt; HttpSession:
        client = super().client  # type: HttpSession
        client.headers['X-Vault-Token'] = self.locust.token
        return client


class VaultSession(HttpSession):

    def request(self, method, url, name=None, catch_response=False, **kwargs):

        # Load any TLS certificates specified in the VAULT_CACERT env var
        self.verify = os.environ.get('VAULT_CACERT', None)

        # prepend url with hostname unless it's already an absolute URL
        url = self._build_url(url)

        # store meta data that is used when reporting the request to locust's statistics
        request_meta = dict()

        # set up pre_request hook for attaching meta data to the request object
        request_meta[&quot;method&quot;] = method
        request_meta[&quot;start_time&quot;] = time.time()

        response = self._send_request_safe_mode(method, url, **kwargs)

        # record the consumed time
        request_meta[&quot;response_time&quot;] = int((time.time() - request_meta[&quot;start_time&quot;]) * 1000)

        request_meta[&quot;name&quot;] = name or (response.history and response.history[0] or response).request.path_url

        # get the length of the content, but if the argument stream is set to True, we take
        # the size from the content-length header, in order to not trigger fetching of the body
        if kwargs.get(&quot;stream&quot;, False):
            request_meta[&quot;content_size&quot;] = int(response.headers.get(&quot;content-length&quot;) or 0)
        else:
            request_meta[&quot;content_size&quot;] = len(response.content or &quot;&quot;)

        if catch_response:
            response.locust_request_meta = request_meta
            return ResponseContextManager(response)
        else:
            try:
                response.raise_for_status()
            except RequestException as e:
                try:
                    e = CatchResponseError('. '.join(response.json()['errors']))
                except KeyError:
                    e = CatchResponseError(e)
                except json.JSONDecodeError:
                    e = CatchResponseError(e)

                events.request_failure.fire(
                    request_type=request_meta[&quot;method&quot;],
                    name=request_meta[&quot;name&quot;],
                    response_time=request_meta[&quot;response_time&quot;],
                    exception=e,
                )
            else:
                events.request_success.fire(
                    request_type=request_meta[&quot;method&quot;],
                    name=request_meta[&quot;name&quot;],
                    response_time=request_meta[&quot;response_time&quot;],
                    response_length=request_meta[&quot;content_size&quot;],
                )
            return response

</code></pre>
<p>==== UPDATE ====</p>
<p>Tried @cyberwiz approach still got the same error</p>
<pre class=""lang-py prettyprint-override""><code>class KeyValueLocust(VaultLocust):
    task = [KeyValueTasks]
    weight = 3
    min_wait = 5000
    max_wait = 10000
</code></pre>
<pre><code>[2022-02-17 11:16:40,809] AV-MBP-709/ERROR/locust.user.task: No tasks defined on KeyValueLocust. use the @task decorator or set the tasks property of the User (or mark it as abstract = True if you only intend to subclass it)
Traceback (most recent call last):
  File &quot;/opt/PycharmProjects/vault-load-testing2/venv/lib/python3.9/site-packages/locust/user/task.py&quot;, line 304, in run
    self.schedule_task(self.get_next_task())
  File &quot;/opt/PycharmProjects/vault-load-testing2/venv/lib/python3.9/site-packages/locust/user/task.py&quot;, line 436, in get_next_task
    raise Exception(
Exception: No tasks defined on KeyValueLocust. use the @task decorator or set the tasks property of the User (or mark it as abstract = True if you only intend to subclass it)

</code></pre>
<p>REPO :  <a href=""https://github.com/anishnath/vault-load-testing/blob/master/locusts/key_value.py#L65"" rel=""nofollow noreferrer"">https://github.com/anishnath/vault-load-testing/blob/master/locusts/key_value.py#L65</a></p>
",https://stackoverflow.com/questions/71139875/locust-exception-no-tasks-defined-on-use-the-task-decorator-or-set-the-tasks-p,"['python', 'python-3.x', 'performance-testing', 'locust']",1715,True,1,1
Python locust throwing object has no attribute on self,"<p>I'm not able to perform self. and throw with the below error</p>
<pre><code>[2022-02-18 15:54:54,527] ip-10-1-172-57.eu-west-1.compute.internal/ERROR/locust.user.task: 'KeyValueTasks' object has no attribute 'locust'
Traceback (most recent call last):
  File &quot;/home/ec2-user/.local/lib/python3.7/site-packages/locust/user/task.py&quot;, line 309, in run
    self.execute_next_task()
  File &quot;/home/ec2-user/.local/lib/python3.7/site-packages/locust/user/task.py&quot;, line 334, in execute_next_task
    self.execute_task(self._task_queue.pop(0))
  File &quot;/home/ec2-user/.local/lib/python3.7/site-packages/locust/user/task.py&quot;, line 346, in execute_task
    task(self)
  File &quot;/home/ec2-user/vault-load-testing/locusts/key_value.py&quot;, line 30, in get_kv_secret
    key = random.choice(self.locust.testdata['keys'])
AttributeError: 'KeyValueTasks' object has no attribute 'locust'
</code></pre>
<p>The source code is here <a href=""https://github.com/anishnath/vault-load-testing/blob/master/locustfile.py"" rel=""nofollow noreferrer"">https://github.com/anishnath/vault-load-testing/blob/master/locustfile.py</a></p>
<p>At first, I initialized the Modules</p>
<pre class=""lang-py prettyprint-override""><code>from locusts.key_value import KeyValueLocust
__static__ = [KeyValueLocust]
__all__ = __static__
</code></pre>
<p>while accessing the data on <code>self.locust.testdata['keys']</code> The error is coming out</p>
<p><a href=""https://github.com/anishnath/vault-load-testing/blob/master/locusts/key_value.py#L28"" rel=""nofollow noreferrer"">https://github.com/anishnath/vault-load-testing/blob/master/locusts/key_value.py#L28</a></p>
<pre><code>@task
def get_kv_secret(self):
    key = random.choice(self.locust.testdata['keys'])
    if self.kv_version == 1:
        self.client.get(f'/v1/secret/test/{key}', name='/v1/secret/[key1]/[key2]')
    else:
        self.client.get(f'/v1/secret/data/test/{key}', name='/v1/secret/[key1]/[key2]')
</code></pre>
",https://stackoverflow.com/questions/71176531/python-locust-throwing-object-has-no-attribute-on-self,"['python', 'python-3.x', 'locust']",1232,True,1,1
How to dynamically load GraphQL Queries from different files into JMeter for load testing?,"<p>My team needs to add load testing for our GraphQL API, and we decided to use JMeter because it is supported by Azure Load Testing.</p>
<p>We have several graphql files that define queries like this:</p>
<p>request.graphql</p>
<pre class=""lang-php prettyprint-override""><code>query Foo($id: Long!) {
  name
  time
}
</code></pre>
<p>With corresponding test.json files used for unit testing that defines the query name, variables for the request, and an assert that contains the expected response from our API</p>
<p>request.test.json</p>
<pre class=""lang-json prettyprint-override""><code>[
  {
    &quot;Query&quot;: &quot;Foo&quot;,
    &quot;Variables&quot;: {
      &quot;id&quot;: 001
    },
    &quot;Assert&quot;: {
      &quot;name&quot;: &quot;bar&quot;,
      &quot;time&quot;: &quot;01/01/1999&quot;
    }
  }
]
</code></pre>
<p>We have dozens of these unit tests that we want to use for load testing our API using JMeter. How would we dynamically load our queries, variables, and assertions using JMeter, and load that into Azure Load Testing?</p>
<p>This is currently my very basic test plan with one graphql HTTP request. I want to avoid manually adding every single query, so that the queries in load tests get updated when a graphql and test.json file gets changed for our API.</p>
<p><a href=""https://i.stack.imgur.com/fp4pk.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/fp4pk.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/74074514/how-to-dynamically-load-graphql-queries-from-different-files-into-jmeter-for-loa,"['testing', 'graphql', 'jmeter', 'load-testing', 'azure-load-testing']",32,False,0,1
overwriting parameters in Azure Load Testing,"<p>When the parameters are passed via the 'CSV Data Set Config' in the jmeter script, do we have a way of over-writing the values in Azure Load Testing tool,</p>
<p>I have away of externalising the parameters in Jmeter as well, in azure load testing, but when I combine both the values are not over-written</p>
",https://stackoverflow.com/questions/74608955/overwriting-parameters-in-azure-load-testing,"['jmeter', 'parameter-passing', 'performance-testing', 'load-testing', 'azure-load-testing']",74,True,0,1
Load testing of endpoint in Azure ML,"<p>I wanted to load test a deployed model endpoint and add it to an MLOps framework, so that new deployed models can go through load testing. I tried Azure load testing resource for web app but I think it is just for static content. Also, I saw a python package - locust which seems promising. Is there any other approach? </p>
",https://stackoverflow.com/questions/73412804/load-testing-of-endpoint-in-azure-ml,"['deployment', 'endpoint', 'azure-machine-learning-service', 'azure-deployment']",64,False,0,1
Load testing with JMeter for FLV live streaming,"<p>I am doing a FLV live streaming load testing with JMeter, however, I didn't manage to find any JMeter FLV plug-ins.</p>
<p>I found the below in stackoverflow, but the url of the answer is inaccessible.
<a href=""https://stackoverflow.com/questions/32978728/rtmp-loading-test-with-jmeter"">RTMP loading test with JMeter</a></p>
<p>Anyone can share their experience on how to do load testing for FLV live streaming?</p>
",https://stackoverflow.com/questions/71686166/load-testing-with-jmeter-for-flv-live-streaming,"['jmeter', 'load-testing', 'jmeter-plugins', 'live-streaming', 'flv']",172,False,0,1
Jenkins master server load test,"<p>I am running a jenkins master server.
About 30 agent nodes are registered in the jenkins master server, and there are a total of 1000 jobs.
So I want to load test not only the node but also the master server.
I would like to use a load testing tool like Jmeter or locust.
How should I proceed with load testing?</p>
",https://stackoverflow.com/questions/72683645/jenkins-master-server-load-test,"['jenkins', 'jmeter', 'load-testing', 'locust']",84,False,0,2
Jmeter Duration time does not get reflected in Azure Load Testing,"<p>I am trying to execute my JMeter script via Azure Load Testing, I have setup a duration time in the JMeter script but when I execute via Azure Load Testing ,it does not get reflected, I cant figure from where the time is getting set. I am not sure how to configure that or where it gets overridden. Any support is appreciated.</p>
",https://stackoverflow.com/questions/74874491/jmeter-duration-time-does-not-get-reflected-in-azure-load-testing,"['jmeter', 'performance-testing', 'azure-load-testing']",52,False,0,1
Load (Performance) Testing of Single Page Application (SPA),"<p>I want to perform Load (Performance) Testing of Single Page Application (SPA). Also want to record the performance metrics. I have found that JMeter performs load testing for API calls but not actual browser for SPA.</p>
<p>Could you please suggest any opensource or paid alternatives which i can use to perform load testing of SPA for concurrent 500 users.</p>
<p>Thanks</p>
",https://stackoverflow.com/questions/74202823/load-performance-testing-of-single-page-application-spa,"['testing', 'jmeter', 'load', 'performance-testing']",357,True,0,1
How do you use custom IPv4 headers in K6?,"<p>Is it possible to use custom <a href=""https://en.wikipedia.org/wiki/IPv4#/media/File:IPv4_Packet-en.svg"" rel=""nofollow noreferrer"">IPv4 headers</a> in the <a href=""https://k6.io"" rel=""nofollow noreferrer"">K6</a> load testing framework from Grafana?</p>
<p>For example, I'd like to be able to set the options field in the IPv4 header or change the TTL.</p>
<p>I've looked into using <a href=""https://scapy.net/"" rel=""nofollow noreferrer"">Scapy</a> and <a href=""https://github.com/google/gopacket"" rel=""nofollow noreferrer"">Gopacket</a>, but a higher level framework made for load testing K8s would be very helpful because I won't have to implement those features.</p>
",https://stackoverflow.com/questions/74608069/how-do-you-use-custom-ipv4-headers-in-k6,"['javascript', 'go', 'kubernetes', 'k6']",42,False,1,0
Azure Load Testing External Request (API call) Performance / load testing with Individual Call performance details,"<p>I want to perform load testing of Single Page Application. So i have created JMeter script for that and it is working fine from my single machine for concurrent users. But i want to create actual concurrent users scenario from different machine or location. For that reason i am trying to use Azure Load Testing service and there want to use JMeter script which i have created on my local machine.</p>
<p>Please let me know if Azure Load testing service support below points : -</p>
<ol>
<li>Is it possible to test performance of API call which are going to other servers (non Azure).</li>
<li>Is it possible to track performance report like JMeter for each API call individually.</li>
</ol>
<p>Please let me know if any clue on above problems.</p>
<p>Thanks</p>
",https://stackoverflow.com/questions/74220965/azure-load-testing-external-request-api-call-performance-load-testing-with-i,"['jmeter', 'load-testing', 'azure-load-testing']",71,True,0,1
Why do requests interfere with one another requests and slow performance with Spring Integration during load testing?,"<p><strong>What I am doing?</strong> I'm connecting to a remote server using <strong>TLSv1.2</strong> and sending a max of <strong>300 bytes of data</strong> and receive a response back also of the same size.</p>
<p><strong>What is expected to deliver?</strong> During load testing we are expected to deliver <strong>1000TPS</strong>.
<strong>Use at max using 50 Persistent TLS Connections</strong>.</p>
<hr />
<p><strong>What is going wrong?</strong></p>
<ol>
<li>During load testing, the max TPS we are receiving is 250TPS.</li>
<li>During load testing, we observed that the requests are interfering causing one request's response to get into another request response.</li>
</ol>
<h2>Configurations:</h2>
<pre><code>@EnableIntegration
@IntegrationComponentScan
@Configuration
public class TcpClientConfig implements ApplicationEventPublisherAware {

  private ApplicationEventPublisher applicationEventPublisher;
  private final ConnectionProperty connectionProperty;

  @Override
  public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
    this.applicationEventPublisher = applicationEventPublisher;
  }

  TcpClientConfig(ConnectionProperty connectionProperty) {
    this.connectionProperty = connectionProperty;
  }

  @Bean
  public AbstractClientConnectionFactory clientConnectionFactory() {
    TcpNioClientConnectionFactory tcpNioClientConnectionFactory =
        getTcpNioClientConnectionFactoryOf(
            connectionProperty.getPrimaryHSMServerIpAddress(),
            connectionProperty.getPrimaryHSMServerPort());

    final List&lt;AbstractClientConnectionFactory&gt; fallBackConnections = getFallBackConnections();
    fallBackConnections.add(tcpNioClientConnectionFactory);

    final FailoverClientConnectionFactory failoverClientConnectionFactory =
        new FailoverClientConnectionFactory(fallBackConnections);

    return new CachingClientConnectionFactory(
        failoverClientConnectionFactory, connectionProperty.getConnectionPoolSize());
  }

  @Bean
  DefaultTcpNioSSLConnectionSupport connectionSupport() {

    final DefaultTcpSSLContextSupport defaultTcpSSLContextSupport =
        new DefaultTcpSSLContextSupport(
            connectionProperty.getKeystorePath(),
            connectionProperty.getTrustStorePath(),
            connectionProperty.getKeystorePassword(),
            connectionProperty.getTruststorePassword());

    final String protocol = &quot;TLSv1.2&quot;;
    defaultTcpSSLContextSupport.setProtocol(protocol);
    return new DefaultTcpNioSSLConnectionSupport(defaultTcpSSLContextSupport, false);
  }

  @Bean
  public MessageChannel outboundChannel() {
    return new DirectChannel();
  }



  @Bean
  @ServiceActivator(inputChannel = &quot;outboundChannel&quot;)
  public MessageHandler outboundGateway(AbstractClientConnectionFactory clientConnectionFactory) {
    TcpOutboundGateway tcpOutboundGateway = new TcpOutboundGateway();
    tcpOutboundGateway.setConnectionFactory(clientConnectionFactory);
    return tcpOutboundGateway;
  }
  @ServiceActivator(inputChannel = &quot;error-channel&quot;)
  public void handleError(ErrorMessage em)  {
    Throwable throwable = em.getPayload();
    if(ExceptionUtils.indexOfThrowable(throwable, IOException.class)!=-1){
      ExceptionHandler.throwHsmSystemTimeoutException();
    }
    throw new RuntimeException(throwable);
  }

  private List&lt;AbstractClientConnectionFactory&gt; getFallBackConnections() {
    final int size = connectionProperty.getAdditionalHSMServersConfig().size();
    List&lt;AbstractClientConnectionFactory&gt; collector = new ArrayList&lt;&gt;(size);
    for (final Map.Entry&lt;String, Integer&gt; server :
        connectionProperty.getAdditionalHSMServersConfig().entrySet()) {
      collector.add(getTcpNioClientConnectionFactoryOf(server.getKey(), server.getValue()));
    }
    return collector;
  }

  private TcpNioClientConnectionFactory getTcpNioClientConnectionFactoryOf(
      final String ipAddress, final int port) {
    TcpNioClientConnectionFactory tcpNioClientConnectionFactory =
        new TcpNioClientConnectionFactory(ipAddress, port);
    tcpNioClientConnectionFactory.setUsingDirectBuffers(true);
    tcpNioClientConnectionFactory.setDeserializer(new CustomDeserializer());
    tcpNioClientConnectionFactory.setApplicationEventPublisher(applicationEventPublisher);
    tcpNioClientConnectionFactory.setSoKeepAlive(true);
    tcpNioClientConnectionFactory.setConnectTimeout(connectionProperty.getConnectionTimeout());
    tcpNioClientConnectionFactory.setSoTcpNoDelay(true);
    tcpNioClientConnectionFactory.setTcpNioConnectionSupport(connectionSupport());
    return tcpNioClientConnectionFactory;
  }
}
</code></pre>
<h2>Deserializer</h2>
<pre><code>@Component
class CustomDeserializer extends DefaultDeserializer {
  private static final int MAX_LENGTH = 80;

  @Override
  public Object deserialize(final InputStream inputStream) throws IOException {
    StringBuilder stringBuffer = new StringBuilder(MAX_LENGTH);

    int read = Integer.MIN_VALUE;
    for (int loop = 0; loop &lt; 300 &amp;&amp; read != ']'; loop++) {
      read = inputStream.read();
      stringBuffer.append((char) read);
    }
    String reply = stringBuffer.toString();

    return reply;
  }
</code></pre>
<h2>Gateway:</h2>
<pre><code>@Component
@MessagingGateway(defaultRequestChannel = &quot;outboundChannel&quot;,errorChannel =&quot;error-channel&quot; )
public interface TcpClientGateway {
    String send(String message);
}
</code></pre>
<hr />
<p>Additional Information:</p>
<ol>
<li>Our service is deployed on the GKE having the 8 to 10 Pods.</li>
<li>The target server is capable of handling more than 2000TPS we are licensed to use only 1000TPS.</li>
</ol>
<hr />
<h2>Edit: Added startup logs:</h2>
<pre><code>{
    &quot;logger&quot;: &quot;org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor&quot;,
    &quot;message&quot;: &quot;No bean named \u0027errorChannel\u0027 has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor&quot;,
    &quot;message&quot;: &quot;No bean named \u0027integrationHeaderChannelRegistry\u0027 has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created.&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.cloud.context.scope.GenericScope&quot;,
    &quot;message&quot;: &quot;BeanFactory id\u003da426df04-fa05-397e-a849-44d732e3faa4&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker&quot;,
    &quot;message&quot;: &quot;Bean \u0027org.springframework.integration.config.IntegrationManagementConfiguration\u0027 of type [org.springframework.integration.config.IntegrationManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker&quot;,
    &quot;message&quot;: &quot;Bean \u0027integrationChannelResolver\u0027 of type [org.springframework.integration.support.channel.BeanFactoryChannelResolver] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)&quot;,
}
{
    &quot;logger&quot;: &quot;org.apache.coyote.http11.Http11NioProtocol&quot;,
    &quot;message&quot;: &quot;Initializing ProtocolHandler [\&quot;http-nio-8080\&quot;]&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the \u0027errorChannel\u0027 channel&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.channel.PublishSubscribeChannel&quot;,
    &quot;message&quot;: &quot;Channel \u0027decryptor-api.errorChannel\u0027 has 1 subscriber(s).&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;started bean \u0027_org.springframework.integration.errorLogger\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;Adding {service-activator:tcpClientConfig.handleError.serviceActivator} as a subscriber to the \u0027error-channel\u0027 channel&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.channel.DirectChannel&quot;,
    &quot;message&quot;: &quot;Channel \u0027decryptor-api.error-channel\u0027 has 1 subscriber(s).&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientConfig.handleError.serviceActivator\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;Adding {ip:tcp-outbound-gateway:tcpClientConfig.outboundGateway.serviceActivator} as a subscriber to the \u0027outboundChannel\u0027 channel&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.channel.DirectChannel&quot;,
    &quot;message&quot;: &quot;Channel \u0027decryptor-api.outboundChannel\u0027 has 1 subscriber(s).&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory@619b7436, host\u003d10.1.4.4, port\u003d9021&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory@71c1ca1, host\u003d10.1.4.4, port\u003d9021&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.FailoverClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started org.springframework.integration.ip.tcp.connection.FailoverClientConnectionFactory@20cf3ab3, host\u003d, port\u003d0&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.ip.tcp.connection.CachingClientConnectionFactory&quot;,
    &quot;message&quot;: &quot;started bean \u0027clientConnectionFactory\u0027; defined in: \u0027class path resource [com/globalpay/enterprise/integrations/decrypter/configuration/TcpClientConfig.class]\u0027; from source: \u0027com.globalpay.enterprise.integrations.decrypter.configuration.TcpClientConfig.clientConnectionFactory()\u0027, host\u003d, port\u003d0&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.endpoint.EventDrivenConsumer&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientConfig.outboundGateway.serviceActivator\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.gateway.GatewayProxyFactoryBean$MethodInvocationGateway&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientGateway#send(String)\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.springframework.integration.gateway.GatewayProxyFactoryBean&quot;,
    &quot;message&quot;: &quot;started bean \u0027tcpClientGateway\u0027&quot;,
}
{
    &quot;logger&quot;: &quot;org.apache.coyote.http11.Http11NioProtocol&quot;,
    &quot;message&quot;: &quot;Starting ProtocolHandler [\&quot;http-nio-8080\&quot;]&quot;,
}
</code></pre>
",https://stackoverflow.com/questions/73253127/why-do-requests-interfere-with-one-another-requests-and-slow-performance-with-sp,"['spring-integration', 'spring-integration-dsl', 'spring-integration-ip']",101,False,0,1
Tsung Load testing - Not able to do websocket load testing of Openfire using tsung,"<p>For load testing openfire with websocket connections using tsung script we are able to make the websocket connections but we are not able to make sessions at openfire.</p>
<p>As mentioned in
<a href=""http://tsung.erlang-projects.org/user_manual/conf-options.html#websocket-options"" rel=""nofollow noreferrer"">http://tsung.erlang-projects.org/user_manual/conf-options.html#websocket-options</a>
we have made following additions in options tag in tcp tsung script with multiple phases</p>
<pre><code>&lt;option name=&quot;websocket_path&quot; value=&quot;/ws&quot;/&gt;
&lt;option name=&quot;websocket_frame&quot; value=&quot;text&quot;/&gt;
&lt;option name=&quot;websocket_subprotocols&quot; value=&quot;xmpp&quot;/&gt;
</code></pre>
<p>Do we need any other changes or additions for load testing openfire with websocket connections?</p>
",https://stackoverflow.com/questions/72555958/tsung-load-testing-not-able-to-do-websocket-load-testing-of-openfire-using-tsu,"['websocket', 'load-testing', 'openfire', 'tsung']",87,False,0,1
How to calculate inputs for performace and load testing using Jmeter,"<p>How to calculate inputs (virtual users, ram up period) for performance and load testing using Jmeter.</p>
",https://stackoverflow.com/questions/70916124/how-to-calculate-inputs-for-performace-and-load-testing-using-jmeter,"['jmeter', 'performance-testing', 'load-testing']",62,False,-2,1
How to run a uvicorn server (using FastAPI) and a load test (using locust) parallely?,"<p>I have two files, both of them runs individually without any error.
I used <code>FastAPI</code> to create some endpoints and I am trying to use <code>locust</code> (through a tool <code>invokust</code> from <a href=""https://github.com/FutureSharks/invokust"" rel=""nofollow noreferrer"">FutureSharks</a>) to perform load testing.</p>
<p>In my file <code>run_server.py</code> I have the following code</p>
<pre><code>from main import app
import uvicorn

if __name__ == &quot;__main__&quot;:
   uvicorn.run(app, host=&quot;127.0.0.1&quot;, port=8000)
</code></pre>
<p>In my file <code>load_test.py</code> I have the following code</p>
<pre><code>import invokust

settings = invokust.create_settings(
        locustfile='locustfile.py',
        host='http://127.0.0.1:8000',
        num_users=1,
        spawn_rate=1,
        run_time='1m'
    )

loadtest = invokust.LocustLoadTest(settings)
loadtest.run()
loadtest.stats()
&quot;{'requests': {'GET_/': {'request_type': 'GET', 'num_requests': 923, 'min_response_time': 113.54585000000128, 'median_response_time': 120.0, 'avg_response_time': 145.68631223510297, 'max_response_time': 331.89674199999786, 'response_times': {270.0: 2, 120.0: 479, 150.0: 17, 200.0: 83, 210.0: 80, 160.0: 20, 190.0: 55, 220.0: 9, 130.0: 30, 170.0: 22, 230.0: 5, 110.0: 69, 140.0: 19, 180.0: 27, 240.0: 2, 320.0: 3, 330.0: 1}, 'response_time_percentiles': {55: 120.0, 65: 150.0, 75: 190.0, 85: 200.0, 95: 210.0}, 'total_rps': 5.136500841568583, 'total_rpm': 308.190050494115}, 'GET_/about': {'request_type': 'GET', 'num_requests': 308, 'min_response_time': 113.23035299999873, 'median_response_time': 120.0, 'avg_response_time': 146.04534828246747, 'max_response_time': 290.40608500000076, 'response_times': {120.0: 147, 200.0: 36, 190.0: 25, 110.0: 27, 160.0: 12, 150.0: 6, 180.0: 13, 210.0: 12, 170.0: 13, 220.0: 2, 130.0: 8, 140.0: 6, 290.0: 1}, 'response_time_percentiles': {55: 120.0, 65: 160.0, 75: 180.0, 85: 200.0, 95: 200.0}, 'total_rps': 1.7140219492991589, 'total_rpm': 102.84131695794953}}, 'failures': {}, 'num_requests': 1231, 'num_requests_fail': 0, 'start_time': 1608207776.312684, 'end_time': 1608207956.070369}&quot;
</code></pre>
<p><strong>I want to run them parallely, so when my <code>run_server.py</code> starts the <code>uvicorn</code> server, my <code>load_test.py</code> starts doing the load testing.</strong></p>
<p>How can I do this ?</p>
",https://stackoverflow.com/questions/72233500/how-to-run-a-uvicorn-server-using-fastapi-and-a-load-test-using-locust-paral,"['python', 'load-testing', 'fastapi', 'locust', 'uvicorn']",2338,True,0,1
Any leads on using k6 for temporal workflows load testing ? Any references if we can achieve it,"<p>Can we use k6 to test temporal workflows load testing?
Is there any references which would be helpful</p>
",https://stackoverflow.com/questions/73398632/any-leads-on-using-k6-for-temporal-workflows-load-testing-any-references-if-we,"['load-testing', 'k6', 'temporal-workflow']",113,True,0,1
how to read principal id from jmeter load test task ARM template,"<p>I'm looking to find out a way to read  value once I assign system managed identity to azure load testing resource in arm template. The documentation show below, can anyone help how to get  from ARM template deployment? Should it be part of output variables?</p>
<p>I need to read  value in next azure task, to grant the GET permissions to KV.</p>
<p><a href=""https://learn.microsoft.com/en-us/azure/load-testing/how-to-use-a-managed-identity?tabs=arm"" rel=""nofollow noreferrer"">https://learn.microsoft.com/en-us/azure/load-testing/how-to-use-a-managed-identity?tabs=arm</a></p>
<pre><code>When the resource is created, it gets the following additional properties:

JSON

Copy
&quot;identity&quot;: {
    &quot;type&quot;: &quot;SystemAssigned&quot;,
    &quot;tenantId&quot;: &quot;&lt;TENANTID&gt;&quot;,
    &quot;principalId&quot;: &quot;&lt;PRINCIPALID&gt;&quot;
}
</code></pre>
",https://stackoverflow.com/questions/72082789/how-to-read-principal-id-from-jmeter-load-test-task-arm-template,"['azure', 'jmeter', 'load-testing']",72,False,0,1
How to perform Load testing of SignalR projects,"<p>I have created a project using SignalR C#.
I wanted to perform the load testing. Suggest some ways to perform the same.</p>
",https://stackoverflow.com/questions/72975587/how-to-perform-load-testing-of-signalr-projects,"['c#', 'signalr', 'load-testing']",58,True,1,1
How to load test an asynchronous pipeline?,"<p>I have the following pipeline in AWS</p>
<p><code>API-Gateway -&gt; Lambda -&gt; Kafka(Amazon MSK) -&gt; Consumers</code></p>
<p>I need to load test the entire pipeline and each component in the pipeline <em>(to identify bottlenecks)</em></p>
<p>I don't have any prior experience in load testing. So, didn't know where to start. Some blogs mentioned <code>JMeter</code> can be used to do the load testing. But later got to know that the pipeline is asynchronous and it can't be done using <code>JMeter</code>.</p>
<p>How can I load test the pipeline? Is there any standard way to do it?</p>
<p>Any help is greatly appreciated. Thanks!</p>
",https://stackoverflow.com/questions/72537040/how-to-load-test-an-asynchronous-pipeline,"['amazon-web-services', 'aws-lambda', 'load-testing', 'jmeter-5.0', 'aws-msk']",162,True,0,1
Load testing using jmeter along with influxdb and grafana,"<p>I want to do the load testing using JMeter. I want to give load 24k users at time that is bit difficult because i am getting heap size error and JMeter is not responding could you please suggest how to do the master and slave configuration along with influx dB and Grafana setup.</p>
<p>I want to know that how to analyze the load testing test result means what are the factors i need to analyze and conclude the result .</p>
<p>how to check Server side monitorization ?</p>
",https://stackoverflow.com/questions/74623039/load-testing-using-jmeter-along-with-influxdb-and-grafana,"['server', 'jmeter', 'grafana', 'influxdb', 'master-slave']",82,False,0,1
Using Concurrent thread in jmeter and AWS DLT with .jmx file - How do I provide inputs so that we can achieve 5000 RPS for 5 minutes duration,"<p>We have configured AWS for distributed load testing using - <a href=""https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/"" rel=""nofollow noreferrer"">https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/</a></p>
<p>Our requirement includes achieving 5k RPS.</p>
<p>Please help me in understanding the <a href=""https://i.stack.imgur.com/WMHpy.png"" rel=""nofollow noreferrer"">inputs that needs to be provided here</a></p>
<p>When we consider the system supports 5k RPS then - What should be the Task Count, Concurrency, Ramp Up and Hold For values in order to achieve 5k RPS using AWS DLT.</p>
<p>We are also trying to achieve it using jmeter concurrent threads. Hoping someone could help with values and explaining the usage for the same.</p>
",https://stackoverflow.com/questions/72377434/using-concurrent-thread-in-jmeter-and-aws-dlt-with-jmx-file-how-do-i-provide,"['amazon-web-services', 'jmeter', 'load-testing', 'dlt']",175,False,1,1
How to add custom poetry environment to Locust base Docker image?,"<p>How do you run Locust (load testing tool) in a stable Docker container with extra poetry dependencies installed? From the docs it's known that <a href=""https://docs.locust.io/en/stable/running-in-docker.html"" rel=""nofollow noreferrer"">running Locust in Docker</a> is easily possible through their base image.</p>
<pre><code>docker run -p 8089:8089 -v $PWD:/mnt/locust locustio/locust -f /mnt/locust/locustfile.py
</code></pre>
<p>But if a load testing Python project requires extra libraries which are managed through poetry, the locust command must be run through <code>poetry run locust</code>. The locust docs only give the following example, but with <code>pip</code>:</p>
<pre><code>FROM locustio/locust
RUN pip3 install some-python-package
</code></pre>
<p>It get's more tricky if you want to bind mount a directory to the container, as Poetry environments are linked to the working directory they're created in.</p>
",https://stackoverflow.com/questions/74946433/how-to-add-custom-poetry-environment-to-locust-base-docker-image,"['python', 'docker', 'python-poetry', 'locust']",146,True,1,1
Spring boot application is not reducing the memory when there is no request on openshift container,"<p>My spring boot application is comprised of 8 APIs &amp; deployed applications in an open shift container. I have tested one of the APIs using the JMeter for the load testing till the memory utilized up to 400 to 420Mi but the problem is when I have stopped the load testing still, it's showing the 420Mi on the open shift container. Help me to understand why the Pod or Java is not reducing the memory when it's not used.
Configured the request as 150mi &amp; limit as 512mi
Java version: 1.8</p>
",https://stackoverflow.com/questions/73919515/spring-boot-application-is-not-reducing-the-memory-when-there-is-no-request-on-o,"['java', 'spring-boot', 'kubernetes', 'openshift']",17,False,0,0
Yarn with Webpack: how to use a TypeScript .ts file that is in an outer Node directory not managed by Yarn/Webpack?,"<p>I'm working on a k6 (<a href=""https://k6.io/"" rel=""nofollow noreferrer"">https://k6.io/</a>) load testing project that uses Yarn and Webpack.</p>
<p>It lives as a &quot;sub-project&quot; / sub-folder within a larger project/repo. The larger project uses npm Node modules.</p>
<p>I need to grab a secret from AWS's Secrets Manager in my k6 load testing project. There's a TypeScript Secrets Manager client already in the larger/outside project.</p>
<p>I naively tried importing it:</p>
<p><code>import SecretsManagerClient from &quot;../../helpers/SecretsManagerClient&quot;;</code></p>
<p>and using it:</p>
<p><code>const value = await SecretsManagerClient.getSecret(&quot;fooSecretName&quot;);</code></p>
<p>And I get all kinds of errors like:</p>
<pre><code>Module parse failed: The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
</code></pre>
<p>and:</p>
<pre><code>SyntaxError: /foo/helpers/SecretsManagerClient.ts: Unexpected token (7:10)

   5 | class SecretsManagerClient {
   6 |
&gt;  7 |   private client;
     |           ^
</code></pre>
<p>Is what I'm trying to do possible? Do I need to change settings in <code>webpack.config.js</code>?</p>
",https://stackoverflow.com/questions/74297295/yarn-with-webpack-how-to-use-a-typescript-ts-file-that-is-in-an-outer-node-dir,"['node.js', 'typescript', 'webpack', 'babeljs', 'package.json']",96,False,0,1
Microsoft Azure Load Test tool : Testing Privately Hosted Apps,"<p>We are evaluating new &quot;Microsoft Azure Load Test tool&quot; as an alternative to currently used load testing tool in our project. As per information available with us, currently this tool can test only publicly hosted apps and does not support load testing of applications hosted within private networks. We wanted to check(if anyone else is also exploring this tool), if there can be any option of exposing privately hosted test environments with secure access (using some gateway/firewall configurations/Private IPs) to enable this tool to interact with privately hosted apps.</p>
<p>Thanks</p>
",https://stackoverflow.com/questions/71242298/microsoft-azure-load-test-tool-testing-privately-hosted-apps,"['azure', 'load-testing', 'preview']",159,False,0,0
HTTP status 409 error - Performance Testing,"<p>I am doing this to solve the server with multiple requests for load testing using J meter</p>
<p>How can I solve this? Any settings in J meter?</p>
",https://stackoverflow.com/questions/74472694/http-status-409-error-performance-testing,"['testing', 'jmeter-5.0']",34,False,0,0
Best Ingress Controller in AWS EKS for millions of connections?,"<p>We need a guide on how we can operate millions of connections with Nginx Ingress Controllers. Now, while load testing more than 10,000 users, it says 502 gateway.</p>
",https://stackoverflow.com/questions/71109436/best-ingress-controller-in-aws-eks-for-millions-of-connections,"['amazon-web-services', 'kubernetes', 'kubernetes-ingress', 'amazon-eks', 'nginx-ingress']",373,False,0,1
If condition not working for runtime variables/parameters in Azure YAML file,"<p>Hi I am trying to run the load testing and integration tests simultaneously and I wanted to run the load tests only when we are in &quot;stg&quot; environment but not in any other environments. But my variable value is coming in run time as $(environment) as below</p>
<pre><code>variables:
  - name: loadenv
    value: $(environment)
</code></pre>
<p>My condition before the load testing code block is</p>
<pre><code>   ${{if eq(variables['loadenv'], 'stg') }}:
     loadTestParams:
       executor: jmeter
</code></pre>
<p>This works fine if I hardcode the value: stg whereas in runtime, I am not able to get the variables if it is like this $(environment).
Can anyone please help to solve this issue?</p>
<p>I have tried the same thing with parameters but no luck</p>
",https://stackoverflow.com/questions/74215426/if-condition-not-working-for-runtime-variables-parameters-in-azure-yaml-file,"['azure-devops', 'yaml', 'runtime', 'performance-testing', 'azure-pipelines-yaml']",507,False,1,3
Jmeter thread-groups are not running independent for different users,"<p>I have load testing scenario where test-plan has multiple thread-group and each thread-group has different type of HTTP request and this group is designed to executed in sequence .
Below is scenario I'm testing -</p>
<pre><code>Test-Plan
 +---Thread-Group(Register-Request)
 +---Thread-Group(Container-Request)
 +---Thread-Group(Subscription-Request)
 +---Thread-Group(Data-Request)
 +---Thread-Group(Deregister-Request)
</code></pre>
<p>Load testing has to follow the defined sequence. Each user-thread reads thread specific values from CSV file and during testing, JMeter output shows that:</p>
<p>User-threads don't move from Thread-Group(Register-Request) to Thread-Group(Container-Request) until all user threads have completed execution which looks odd to me.</p>
<p>Any idea what could the reason of this behaviour ?</p>
",https://stackoverflow.com/questions/74312605/jmeter-thread-groups-are-not-running-independent-for-different-users,"['multithreading', 'jmeter', 'load-testing']",56,True,0,1
Bad chunk header load testing - jmeter,"<p>Getting below when run load testing using jmeter, but when check on server log no any exceptions and it has returns response succefully into Jmeter. What could be the issue here.</p>
<pre><code>&lt;responseData 
 class=&quot;java.lang.String&quot;&gt;org.apache.http.MalformedChunkCodingException: Bad chunk 
header: 
{&amp;quot;...&lt;&lt;My Response&gt;&gt;;
,&amp;quot;desc&amp;quot;:&amp;quot;Success&amp;quot;}}    
at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:274)    
at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:222)    
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:183)    
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)    
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:148)    

at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1944)    
at org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:476)    
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:677)    
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)    
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1301)    
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1290)    
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651)    
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570)   
 at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501)    
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268)    
at java.lang.Thread.run(Thread.java:750)
&lt;/responseData&gt;
</code></pre>
",https://stackoverflow.com/questions/74427882/bad-chunk-header-load-testing-jmeter,"['java', 'spring-boot', 'jmeter']",115,True,0,1
AWS authentication in Locust.io python,"<p>How to provide AWS authentication credentials in Locust.io for load testing API's? Currently API is getting failed due to missing credentials.</p>
<p>e.g. Authentication includes Access Key, Secret Key and Session token</p>
<pre><code>import time
from locust import HttpUser, task, between

class QuickstartUser(HttpUser):
    wait_time = between(1, 5)

    @task(3)
    def view_items(self):
        for item_id in range(10):
            self.client.get(f&quot;/item?id={item_id}&quot;, name=&quot;/item&quot;)
            time.sleep(1)
</code></pre>
",https://stackoverflow.com/questions/74002094/aws-authentication-in-locust-io-python,"['python', 'api', 'load-testing', 'locust']",195,False,0,1
Distributed Load testing using Gatling tool,"<p>Can some one please provide me the information that if open source Gatling tool support distributed load testing the way how we implement in jmeter tool master slave setup.</p>
<p>Regards,
Chithra</p>
",https://stackoverflow.com/questions/71240182/distributed-load-testing-using-gatling-tool,"['performance-testing', 'gatling', 'distributed-system']",247,False,-1,1
Module Apache mod_remoteip cause SSL Handshake failed (5) when load testing,"<p>I have Haproxy which load balance the traffic to two apache servers.<br />
When I benchmark with <a href=""https://httpd.apache.org/docs/2.4/programs/ab.html"" rel=""nofollow noreferrer"">apache benchmark tool</a> I have no errors and everything works as expected.</p>
<p><strong>But when I activate the proxy protocol</strong> communication between HAProxy and apaches I start having issues.</p>
<p>There are two scenarios</p>
<p>1- Load testing with less then 500 request/second everything works well.</p>
<p>2- Load testing with <strong>concurrent requests &gt; 600</strong>.  I start having <strong>SSL handshake failed (5)</strong> issues.</p>
<ul>
<li><p>Here is my HAproxy configuration:</p>
<pre><code> #---------------------------------------------------------------------
 # Global settings
 #---------------------------------------------------------------------
 global
 log 127.0.0.1 local0 debug
 chroot      /var/lib/haproxy
 pidfile     /var/run/haproxy.pid
 maxconn     3000
 user        haproxy
 group       haproxy
 daemon

 # turn on stats unix socket
 stats socket /var/lib/haproxy/stats

 #---------------------------------------------------------------------
 # common defaults that all the 'listen' and 'backend' sections will
 # use if not designated in their block
 #---------------------------------------------------------------------
 defaults
 mode                    tcp
     log                     global
     option                  tcplog
     option                  dontlognull
     option http-server-close
     option                  redispatch
     retries                 3
     timeout http-request    10s
     timeout queue           1m
     timeout connect         10s
     timeout client          1m
     timeout server          1m
     timeout http-keep-alive 10s
     timeout check           10s
 #---------------------------------------------------------------------
 # Servers sections
 #---------------------------------------------------------------------
 frontend XXXX:443
   bind XXX:443
   mode tcp
   use_backend https_front

 backend https_front
   balance roundrobin
   server XXX XXX check send-proxy
</code></pre>
</li>
<li><p>My apache vhost conf:</p>
<pre><code>&lt;VirtualHost *:443&gt;
  ...
  ServerName XXXX
  RemoteIPProxyProtocol On
</code></pre>
</li>
<li><p>My benchmark command:</p>
<pre><code> &gt; ab  -c 1020 -n 9000  https://XXXX
  ...
 SSL handshake failed (5).
 SSL handshake failed (5).
 SSL handshake failed (5).
 SSL handshake failed (5).
 SSL read failed (1) - closing connection
 139921183344512:error:140E0197:SSL routines:SSL_shutdown:shutdown while in init:ssl/ssl_lib.c:2094:
...
</code></pre>
</li>
</ul>
<p>I can not find any logs neither in haproxy nor in the apache logs. Did someone face the same issue before ?</p>
<p>Thanks in advance</p>
",https://stackoverflow.com/questions/74142473/module-apache-mod-remoteip-cause-ssl-handshake-failed-5-when-load-testing,"['apache', 'ssl', 'haproxy', 'proxy-protocol']",142,False,1,0
How to carry out API testing testing using JMeter on API url,"<p>I have an API url and body data in xml format.
How to do load testing of available API url using JMeter?.
I need to check the API performance for multiple user login.</p>
",https://stackoverflow.com/questions/71857842/how-to-carry-out-api-testing-testing-using-jmeter-on-api-url,"['api', 'jmeter', 'performance-testing', 'load-testing', 'web-api-testing']",165,False,0,1
How to perform load testing of .net tcp binding WCF services(Any tools or approach)?,"<p>We are working on one of the project and our requirement is to perform load/performance testing of wcf services hosted in windows where client uses .net tcp binding to communicate with the services.
We generally use Jmeter and Gatling for any load testing but as far as we know, these tools does not support TCP protocol services. We did some research and found some tools like like Visual studio 2010 ultimate edition which can be used for load testing of wcf services.
can anyone suggest anything/provide any assistance regarding the same e.g. tools, approach or  any references?
Any help would be greatly appreciated. Thank you.</p>
",https://stackoverflow.com/questions/71437806/how-to-perform-load-testing-of-net-tcp-binding-wcf-servicesany-tools-or-approa,"['.net', 'wcf', 'tcp']",251,False,0,1
Is there a way to load test every component of an AWS solution using Distributed Load Testing?,"<p>Is there a way to load test every component of an AWS solution using Distributed Load Testing? <a href=""https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/"" rel=""nofollow noreferrer"">https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/</a></p>
<p>I have an AWS serverless ecommerce solution, which has a step function(which has a few lambda functions), an API gateway and RDS. I want to load test the solution at different endpoints like load the step function, then load the API gateway so on and so forth.
So, I've deployed <a href=""https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/"" rel=""nofollow noreferrer"">https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/</a> and I am facing 2 issues:</p>
<ol>
<li>To test the entire solution I have the target URL for the S3 bucket that is the entry point to the solution, now the problem is that the authentication key and password are cycled every week. So, I have to keep updating script with the latest key id and password. Is there a way for me to use some other mechanism like have a jenkins authorised user and integrate it with the distributed load testing(DLT) solution OR some other way to keep the entire process automated without compromising the security?</li>
<li>Secondly, I have to load test endpoints that do not have external URLs like the step function (there is an async lambda that initiates the step function) and in order to send payload to the step function through DLT I need a target URL. Is it even possible to load test in such a scenario? If yes, how? I have tried using serverless artillery but again it needs a target URL.</li>
</ol>
",https://stackoverflow.com/questions/70764570/is-there-a-way-to-load-test-every-component-of-an-aws-solution-using-distributed,"['amazon-web-services', 'performance-testing', 'load-testing']",299,False,0,1
Locust - AttributeError when accessing locust web interface,"<p>I'm trying to run a very basic locust load testing which did work previously.</p>
<pre class=""lang-py prettyprint-override""><code>from locust import HttpUser, between, task


class QuickstartUser(HttpUser):
    wait_time = between(1, 5)

    @task
    def get_status(self):
        self.client.get(&quot;/status/&quot;)
</code></pre>
<p>Running the following command: <code>locust -f &lt;package-name&gt;/tests/load_tests.py -r 20 -u 400 -H http://localhost:8000</code> yields the following error message when trying to access the web interface:</p>
<pre><code>[2022-12-28 23:23:30,962] MacBook-Pro.fritz.box/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
[2022-12-28 23:23:30,968] MacBook-Pro.fritz.box/INFO/locust.main: Starting Locust 2.14.0
Traceback (most recent call last):
  File &quot;src/gevent/greenlet.py&quot;, line 906, in gevent._gevent_cgreenlet.Greenlet.run
  File &quot;/Users/&lt;user&gt;/Coding/PycharmProjects/&lt;project&gt;-fastapi/.venv/lib/python3.10/site-packages/gevent/baseserver.py&quot;, line 34, in _handle_and_close_when_done
    return handle(*args_tuple)
  File &quot;/Users/&lt;user&gt;/Coding/PycharmProjects/&lt;project&gt;-fastapi/.venv/lib/python3.10/site-packages/gevent/pywsgi.py&quot;, line 1577, in handle
    handler.handle()
  File &quot;/Users/&lt;user&gt;/Coding/PycharmProjects/&lt;project&gt;-fastapi/.venv/lib/python3.10/site-packages/gevent/pywsgi.py&quot;, line 464, in handle
    result = self.handle_one_request()
  File &quot;/Users/&lt;user&gt;/Coding/PycharmProjects/&lt;project&gt;-fastapi/.venv/lib/python3.10/site-packages/gevent/pywsgi.py&quot;, line 656, in handle_one_request
    if self.rfile.CLOSED:
AttributeError: '_io.BufferedReader' object has no attribute 'CLOSED'
2022-12-28T22:23:35Z &lt;Greenlet at 0x106fbc3a0: _handle_and_close_when_done(&lt;bound method WSGIServer.handle of &lt;WSGIServer at , &lt;bound method StreamServer.do_close of &lt;WSGIServer, (&lt;gevent._socket3.socket [closed] at 0x106fcb460 o)&gt; failed with AttributeError
</code></pre>
<p>The following versions are being used:</p>
<pre><code>$ poetry show locust --tree                                                       
locust 2.14.0 Developer friendly load testing framework
├── configargparse &gt;=1.0
├── flask &gt;=2.0.0
│   ├── click &gt;=8.0 
│   │   └── colorama * 
│   ├── itsdangerous &gt;=2.0 
│   ├── jinja2 &gt;=3.0 
│   │   └── markupsafe &gt;=2.0 
│   └── werkzeug &gt;=2.2.2 
│       └── markupsafe &gt;=2.1.1 (circular dependency aborted here)
├── flask-basicauth &gt;=0.2.0
│   └── flask * 
│       ├── click &gt;=8.0 
│       │   └── colorama * 
│       ├── itsdangerous &gt;=2.0 
│       ├── jinja2 &gt;=3.0 
│       │   └── markupsafe &gt;=2.0 
│       └── werkzeug &gt;=2.2.2 
│           └── markupsafe &gt;=2.1.1 (circular dependency aborted here)
├── flask-cors &gt;=3.0.10
│   ├── flask &gt;=0.9 
│   │   ├── click &gt;=8.0 
│   │   │   └── colorama * 
│   │   ├── itsdangerous &gt;=2.0 
│   │   ├── jinja2 &gt;=3.0 
│   │   │   └── markupsafe &gt;=2.0 
│   │   └── werkzeug &gt;=2.2.2 
│   │       └── markupsafe &gt;=2.1.1 (circular dependency aborted here)
│   └── six * 
├── gevent &gt;=20.12.1
│   ├── cffi &gt;=1.12.2 
│   │   └── pycparser * 
│   ├── greenlet &gt;=2.0.0 
│   ├── setuptools * 
│   ├── zope-event * 
│   │   └── setuptools * (circular dependency aborted here)
│   └── zope-interface * 
│       └── setuptools * (circular dependency aborted here)
├── geventhttpclient &gt;=2.0.2
│   ├── brotli * 
│   ├── certifi * 
│   ├── gevent &gt;=0.13 
│   │   ├── cffi &gt;=1.12.2 
│   │   │   └── pycparser * 
│   │   ├── greenlet &gt;=2.0.0 
│   │   ├── setuptools * 
│   │   ├── zope-event * 
│   │   │   └── setuptools * (circular dependency aborted here)
│   │   └── zope-interface * 
│   │       └── setuptools * (circular dependency aborted here)
│   └── six * 
├── msgpack &gt;=0.6.2
├── psutil &gt;=5.6.7
├── pywin32 *
├── pyzmq &gt;=22.2.1,&lt;23.0.0 || &gt;23.0.0
│   ├── cffi * 
│   │   └── pycparser * 
│   └── py * 
├── requests &gt;=2.23.0
│   ├── certifi &gt;=2017.4.17 
│   ├── charset-normalizer &gt;=2,&lt;3 
│   ├── idna &gt;=2.5,&lt;4 
│   └── urllib3 &gt;=1.21.1,&lt;1.27 
├── roundrobin &gt;=0.0.2
├── typing-extensions &gt;=3.7.4.3
└── werkzeug &gt;=2.0.0
    └── markupsafe &gt;=2.1.1 
</code></pre>
",https://stackoverflow.com/questions/74945549/locust-attributeerror-when-accessing-locust-web-interface,"['python', 'locust']",56,True,1,1
"I&#39;m trying to do load testing using JMeter 5.5 . I have added cookie values for my request, but the values are not passing during the execution","<p>I'm trying to do load testing using JMeter 5.5. I have added cookie values for my request, but the values are not passing during the execution.</p>
<p>Can someone help me on this.</p>
<p><a href=""https://i.stack.imgur.com/Xi3Me.png"" rel=""nofollow noreferrer"">HTTP Cookie Manager</a></p>
",https://stackoverflow.com/questions/73133051/im-trying-to-do-load-testing-using-jmeter-5-5-i-have-added-cookie-values-for,"['testing', 'jmeter', 'load']",84,False,0,1
Locust integration with product SDK is not showing stats,"<p>I'm not getting so much in documentation for sdk load testing using Locust.</p>
<pre><code>from locust import HttpUser, task
import random
import string
from cnvrgv2 import Cnvrg
from cnvrgv2.modules.users.users_client import UsersClient


class CnvrgUser(HttpUser):
    def on_start(self):
      print(&quot;This is on start method&quot;)
      
      # Start an instance of of the SDK
      self.cnvrg: Cnvrg = Cnvrg(domain='***',email='***',password='***', organization='performance')
      # overwrite the internal _session attribute with the locust session
      self.cnvrg._session = self.client

    @task
    def Create_project(self):
      &quot;&quot;&quot;User creates project&quot;&quot;&quot;
      print(&quot;Inside project create&quot;)
      i = 0
      while i&lt; 10:
          project_name = 'project_name' + \
        &quot;&quot;.join(random.choices(string.ascii_letters, k=6))
        
        # import pdb; pdb.set_trace()
        response = self.cnvrg.projects.create(project_name)
        i+=1
        # self.arch.assets.create(behaviours=[&quot;Builtin&quot;, &quot;RecordEvidence&quot;, &quot;Attachments&quot;], attrs={&quot;foo&quot;: &quot;bar&quot;})
</code></pre>
<p>As in sdk we have Session with a value <code>{}</code> as mentioned in <a href=""https://docs.locust.io/en/stable/testing-requests-based%20SDK%27s.html"" rel=""nofollow noreferrer"">doc</a></p>
<p>what is required inside this <code>request.Sessions </code> class in my sdk</p>
",https://stackoverflow.com/questions/73475381/locust-integration-with-product-sdk-is-not-showing-stats,"['python', 'python-requests', 'locust']",48,True,0,1
MongoDB WiredTiger Exception,"<p>We are using MongoDB version 4.2.11. We have one primary and two secondary nodes of MongoDB on Kubernetes. During load testing phase, despite having ample disk space we got a WiredTiger exception saying disk space is full.</p>
<pre><code>2022-05-01T19:57:03.058+0000 W  FTDC     [ftdc] Uncaught exception in 'FileStreamFailed: Failed to write to interim file buffer for full-time diagnostic data capture: /var/data/mon      godb/diagnostic.data/metrics.interim.temp' in full-time diagnostic data capture subsystem.Shutting down the full-time diagnostic data capture subsystem.
10622 2022-05-01T19:57:04.534+0000 I  NETWORK  [conn12883] received client metadata from 127.0.0 .1:33116 conn12883: { driver: { name: &quot;nodejs&quot;, version: &quot;2.2.36&quot; }, os: { type: &quot;Linux&quot;,name: &quot;linux&quot;, architecture: &quot;x64&quot;, version: &quot;5.4.0-87-generic&quot; }, platform: &quot;Node.js v12.16.1, LE, mongodb-core: 2.1.20&quot; }
10623 2022-05-01T19:57:04.607+0000 E  STORAGE  [WTCheckpointThread] WiredTiger error (28) [1651435024:607232][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __posix_file_      write, 539: /var/data/mongodb/WiredTiger.turtle.set: handle-write: pwrite: failed to write 1262 bytes at offset 0: No space left on device Raw: [1651435024:607232][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __posix_file_write, 539: /var/data/mongodb/      WiredTiger.turtle.set: handle-write: pwrite: failed to write 1262 bytes at offset 0: No space left on device


2022-05-01T19:57:04.608+0000 E  STORAGE  [WTCheckpointThread] WiredTiger error (28) [16514      35024:608377][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __posix_file_      write, 539: /var/data/mongodb/WiredTiger.turtle.set: handle-write: pwrite: failed to write       1262 bytes at offset 0: No space left on device Raw: [1651435024:608377][80:0x7f0b7fe7e70      0], file:WiredTiger.wt, WT_SESSION.checkpoint: __posix_file_write, 539: /var/data/mongodb/      WiredTiger.turtle.set: handle-write: pwrite: failed to write 1262 bytes at offset 0: No sp      ace left on device
10625 2022-05-01T19:57:04.608+0000 E  STORAGE  [WTCheckpointThread] WiredTiger error (28) [16514      35024:608480][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_turtle_u      pdate, 391: WiredTiger.turtle: fatal turtle file update error: No space left on device Raw      : [1651435024:608480][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_      turtle_update, 391: WiredTiger.turtle: fatal turtle file update error: No space left on de      vice

2022-05-01T19:57:04.608+0000 E  STORAGE  [WTCheckpointThread] WiredTiger error (-31804) [1      651435024:608496][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_pani      c, 489: the process must exit and restart: WT_PANIC: WiredTiger library panic Raw: [1`enter code here`5024:608496][80:0x7f0b7fe7e700], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_panic, 489: the process must exit and restart: WT_PANIC: WiredTiger library panic
2022-05-01T19:57:04.608+0000 F [WTCheckpointThread] Fatal Assertion 50853 at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 486
2022-05-01T19:57:04.608+0000 F[WTCheckpointThread] \n\n***aborting after fassert() failure\n\n
</code></pre>
",https://stackoverflow.com/questions/72094754/mongodb-wiredtiger-exception,"['mongodb', 'mongodb-replica-set', 'wiredtiger']",498,False,0,0
Websites load testing using k6 from multiple IP addresses,"<p>I am planning to do a load testing of an e-commerce website, where request I want to simulate from 100 IP addresses. New to k6 any input will help. Even input for jmeter will also help.
Thanks.</p>
",https://stackoverflow.com/questions/72016444/websites-load-testing-using-k6-from-multiple-ip-addresses,"['jmeter', 'load-testing', 'k6']",732,False,0,1
JMeter: How do I connect a raw socket then send + receive a byte array?,"<p>I have a custom protocol based on TCP and need to load test it using a JMeter script in the Azure load testing tool.</p>
<pre><code>1. Connect
Loop 
{
  2. Send 'Hello' + #0
  3. Listen for response
  4. Pause for 1 second
}
5. Loop to step 2, 30 times
</code></pre>
<p>How is can I do a raw connect to a socket and send a byte array?</p>
",https://stackoverflow.com/questions/70837308/jmeter-how-do-i-connect-a-raw-socket-then-send-receive-a-byte-array,"['azure', 'jmeter', 'load-testing']",280,False,0,1
Load testing tool for Repository on GitHub Enterprise,"<p>I am looking for a load testing tool which can execute Git clone command to clone a repository on GitHub Enterprise for multiple users concurrently and provide me the metrics of performance. Please let me know how can I achieve this.</p>
",https://stackoverflow.com/questions/71489992/load-testing-tool-for-repository-on-github-enterprise,"['github', 'load-testing', 'git-clone', 'github-enterprise']",132,False,0,1
Nbomber How to execute steps just one time,"<p>I'm using NBomber for load testing. Is there a way to execute steps just one time? (or exactly n times)</p>
<p>I've found this:
<code> context.StopScenario(context.ScenarioInfo.ScenarioName, &quot;Stop Reason&quot;);</code>
But it doesn't seem to work, the statistics show 0 requests. Maybe I’m doing something wrong.</p>
<p>Here my code:</p>
<pre><code>[Test]
public void METHOD()
{
    var step2 = Step.Create(&quot;step 2&quot;, timeout: TimeSpan.FromHours(1), execute: async context =&gt;
    {
        try
        {
            await Task.Delay(TimeSpan.FromSeconds(1));

            context.Logger.Information(&quot;step 2 is invoked!!!&quot;);

            return Response.Ok();
        }
        finally
        {
            context.StopScenario(context.ScenarioInfo.ScenarioName, &quot;Executed 1 time ended&quot;);
        }
    });

    var scenario = ScenarioBuilder.CreateScenario(&quot;hello_world&quot;, step2).WithoutWarmUp()
        .WithLoadSimulations(Simulation.KeepConstant(1, TimeSpan.FromSeconds(50)));

    NBomberRunner.RegisterScenarios(scenario).Run();
}
</code></pre>
<p>And the statistics:</p>
<p><a href=""https://i.stack.imgur.com/nfaGH.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/nfaGH.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/72490843/nbomber-how-to-execute-steps-just-one-time,"['c#', 'load-testing']",1023,True,1,1
HTTP status 429 too many requests,"<p>429 too many requests</p>
<p>How can i solve this? Any settings in J meter?</p>
<p>I am trying this to solve the server with multiple requests for load testing by using J meter. Each request read data but after few requests i am getting error.</p>
",https://stackoverflow.com/questions/74470107/http-status-429-too-many-requests,"['testing', 'jmeter-5.0']",11,False,0,0
How to quickly load file data into Clickhouse local tables？,"<p>I wanted to load some data to CH for using  it.</p>
<p>After spending a long time with CH, found that write Distributed table is faster then local table</p>
<p>First file: csv.data  <strong>60GB+</strong>
Sample data:</p>
<pre><code>1,SEX,1,2022-06-12 00:00:00,1
2,SEX,1,2022-06-12 00:00:00,1
3,SEX,1,2022-06-12 00:00:00,1
</code></pre>
<p>Second file: This is the local table  load.</p>
<pre><code>CREATE TABLE tag.tag_test_base_info
(
     `offset` UInt64,
    `tag_code` String,
    `tag_value` String,
     `ts` DateTime,
    `sign` Int8
)
ENGINE = ReplicatedCollapsingMergeTree('/clickhouse/tables/{shard}/tag_test_base_info', '{replica}', sign)
PARTITION BY ts
ORDER BY (ts, tag_code, offset)
SETTINGS storage_policy = 'default', use_minimalistic_part_header_in_zookeeper = 1, index_granularity = 8192
</code></pre>
<p>Testing CSV load:</p>
<pre><code>cat csv.dat | clickhouse-client -h 127.0.0.1 -d default -m -u default --password 123456 --format_csv_delimiter= ',' --query=&quot;INSERT INTO tag.tag_test_base_info FORMAT CSV&quot;;

</code></pre>
<p>So it took <strong>39:12.29</strong> seconds.</p>
<p>Three file:This is the Distributed table load.</p>
<pre><code>CREATE TABLE tag.tag_test_base_info
(
     `offset` UInt64,
    `tag_code` String,
    `tag_value` String,
     `ts` DateTime,
    `sign` Int8
)
ENGINE = Distributed('tagclickhouse', 'tag', 'tag_test_base_info', rand())
</code></pre>
<p>Testing CSV load:</p>
<pre><code>cat csv.dat | clickhouse-client -h 127.0.0.1 -d default -m -u default --password 123456 --format_csv_delimiter= ',' --query=&quot;INSERT INTO tag.tag_test_base_info_dist FORMAT CSV&quot;;

</code></pre>
<p>So it took <strong>16:50.01</strong> seconds.</p>
<p>The  Server is  6  virtual machine  <strong>16C+64g+500G</strong></p>
<p>That means using Distributed table  is = <strong>2X</strong> faster (39:12.29 seconds / 16:50.01 seconds)
Or local table  is <strong>2X</strong> slower!</p>
<p>My question</p>
<ol>
<li>Why is it faster to load Distributed tables than local tables</li>
<li>How to quickly load data into local tables？(i 'am using <code> --input_format_parallel_parsing=0 --compression=0</code> ,args There is no change in speed)</li>
</ol>
<p>thank you</p>
",https://stackoverflow.com/questions/73123531/how-to-quickly-load-file-data-into-clickhouse-local-tables,"['csv', 'clickhouse', 'clickhouse-client']",676,False,0,1
Error generating the report: org.apache.jmeter.report.core.SampleException: Could not read metadata,"<p>I'm trying to run jmeter load testing scripts in non GUI mode to generate HTML report with below command</p>
<pre><code>./jmeter.sh -n -t &quot;/home/dsbloadtest/DSB_New_21_01_2022/apache-jmeter-5.4.3/dsb_test_plans/SERVICE_BOOKING.jmx&quot; -l /home/dsbloadtest/DSB_New_21_01_2022/apache-jmeter-5.4.3/dsb_test_results/testresults.csv -e -o /home/dsbloadtest/DSB_New_21_01_2022/apache-jmeter-5.4.3/dsb_test_results/HTMLReports
</code></pre>
<p>It was working fine, but now not getting the result as im getting as below</p>
<pre><code>summary =      0 in 00:00:00 = \*\*\*\*\*\*/s Avg:     0 Min: 9223372036854775807 Max: -9223372036854775808 Err:     0 (0.00%)
Tidying up ...    @ Fri Apr 01 11:22:40 IST 2022 (1648792360414)
Error generating the report: org.apache.jmeter.report.core.SampleException: Could not read metadata !
... end of run
</code></pre>
<p>I have tried to generate HTML report in J meter non GUI mode.</p>
",https://stackoverflow.com/questions/71702715/error-generating-the-report-org-apache-jmeter-report-core-sampleexception-coul,"['linux', 'performance', 'testing', 'jmeter', 'report']",896,False,0,1
Jmeter csv data split,"<p>I am load testing using Jmeter containers inside k8s cluster.Right now the jmx and the csv files are copied to all the containers.Is there a way to split the data file so that each JMeter instance in container gets its own subset of the original file?</p>
",https://stackoverflow.com/questions/71487790/jmeter-csv-data-split,"['kubernetes', 'jmeter']",177,False,0,1
Load testing asynchronous SOAP app with HTTP2 request results returned as HTTP2 requests instead of HTTP2 responses,"<p>I have been tasked with load testing an app that receives SOAP messages through HTTP/2.0 but does not return HTTP/2.0 responses to the sender. Instead, the app sends what would be a SOAP response message in the form of an HTTP/2.0 request to the original sender*.</p>
<p>My problem is that I need to collect these responses and analyze them but most load testing tools seem to work in standard request-response-postprocessing model. In this case, there is no response so no post processing can be done during the load test. Does anybody have experience with load testing similar applications? What tools would you use for this purpose?</p>
<p>I usually stick to jmeter but it doesn’t seem to be the correct tool for this. I have found a <a href=""https://github.com/pleutres/jmeter-asynchronous-http"" rel=""nofollow noreferrer"">plugin for jmeter</a> that starts a compact HTTP/1.1 server that awaits this kind of “response” but the app in question uses HTTP/2.0. Would this be easier in SoapUI? Or is setting up a webserver to receive and save the “response” data sent by the app the only way to achieve this?</p>
<p>*Side-note: the app sends its requests to an endpoint that is known to the original message sender so this is beside the problem. There are also message identifiers involved, so it is known what request results in what result.</p>
",https://stackoverflow.com/questions/74825192/load-testing-asynchronous-soap-app-with-http2-request-results-returned-as-http2,"['asynchronous', 'jmeter', 'soapui', 'load-testing', 'http2']",28,False,0,0
Azure load test task fails with invalid secret url,"<p>I'm trying azure load test config yaml as listed in <a href=""https://learn.microsoft.com/en-us/azure/load-testing/reference-test-config-yaml"" rel=""nofollow noreferrer"">https://learn.microsoft.com/en-us/azure/load-testing/reference-test-config-yaml</a>.</p>
<p>My yaml looks like below. Changed the values to obscure actual values.</p>
<pre><code>version: v0.1
testName: myloadtest
testPlan: myloadtest_openedit.jmx
description: Load test my web api
engineInstances: 1
configurationFiles:
  - 'loadtestconfig.csv'
failureCriteria:
  - avg(response_time_ms) &gt; 3000
  - percentage(error) &gt; 50

secrets:
  - name: secret_one
    value: https://&lt;resource&gt;.vault.azure.net/secrets/&lt;secret1-id&gt;
  - name: secret_two
    value: https://&lt;resource&gt;.vault.azure.net/secrets/&lt;secret2-id&gt;
keyVaultReferenceIdentity: /subscriptions/&lt;subscription-id&gt;/resourceGroups/&lt;rg-name&gt;/providers/Microsoft.ManagedIdentity/userAssignedIdentities/&lt;identity-name&gt;
</code></pre>
<p>The load test task fails with error (invalid secret url) attached</p>
<p><a href=""https://i.stack.imgur.com/4v6sZ.png"" rel=""nofollow noreferrer"">Azure load test task failure</a></p>
",https://stackoverflow.com/questions/72093158/azure-load-test-task-fails-with-invalid-secret-url,"['azure', 'azure-devops', 'jmeter', 'azure-keyvault']",233,False,0,0
Redis timeout in cloudrun environment on load testing,"<p>we are using cloudrun service with laravel. Our existing app is hosted in digitalocean services [both redis &amp; app]. we did a load testing of 500 hits per second using digital coean and got success response. Recently we moved our service from digital ocean to google cloudrun. Cloudrun service is working fine but load testing we got redis timeout error after 120+ hits. what we tried so far ?</p>
<ol>
<li>Hosted redis in digital ocean and tried with cloudrun - timeout after 100+ hits</li>
<li>Hosted redis in google managed service and tried with cloudrun - timeout after 100+ hits</li>
<li>Hosted redis in Virtual machine and tried with cloudrun. - timeout after 100+ hits</li>
<li>Hosted redis in Virtual Machine and app in Virtual Machine - <strong>Success</strong> no errors</li>
</ol>
<p>I am getting timeout error only in cloudrun. did any faced this issue ? or guidance will be helpful.</p>
",https://stackoverflow.com/questions/71039743/redis-timeout-in-cloudrun-environment-on-load-testing,"['google-cloud-platform', 'redis', 'google-cloud-run']",196,False,0,0
How can I know which versions of Jmeter are obsolete and are no longer supported?,"<p>I'am using Apache Jmeter 5.3 for load testing purpose and someone has asked me the question that 1.What is the end of life and support of Jmeter 5.3?
I have gone through the Apache official site but couldn't find this information.
Can someone answer this.
Thank you in advance!!!</p>
",https://stackoverflow.com/questions/74874242/how-can-i-know-which-versions-of-jmeter-are-obsolete-and-are-no-longer-supported,"['jmeter', 'performance-testing', 'load-testing', 'jmeter-plugins', 'jmeter-5.0']",135,False,0,1
Worload modelling -Calculate number of users and think time for load testing,"<p>I want to know how to calculate number of users, Think time, Pacing time and number of Iteration for load testing.</p>
<p>Requirement is:</p>
<ol>
<li><p>I need to achieve 10000 transaction per hour.</p>
</li>
<li><p>Need to do 1 hour execution.</p>
</li>
<li><p>My script contains 7 transactions.</p>
</li>
<li><p>Overall Response time is 16 sec without think time.</p>
</li>
</ol>
",https://stackoverflow.com/questions/70739201/worload-modelling-calculate-number-of-users-and-think-time-for-load-testing,"['performance-testing', 'load-testing']",203,False,-1,1
Thread limits for Azure Load Testing,"<p>Azure Load Testing (Preview) has a limit of 250 threads per Engine Instance. Each test can only run up to 45 Engines, so the theoretical maximum number of concurrent sessions that can be run is 11,250.</p>
<p>I need to simulate 120k concurrent users. Is there a suitable workaround to do this with ALT?</p>
",https://stackoverflow.com/questions/74855177/thread-limits-for-azure-load-testing,"['azure', 'load-testing', 'azure-load-testing']",175,True,1,1
GKE vs Cloud run,"<p>I have a python Flask APIs deployed on cloud run. Autoscaling, CPU, concurrency everything is configurable in cloud run.
Now the problem is with the actual load testing with around 40k concurrent users hitting APIs continuously.</p>
<p>Does cloud run handle these huge volumes or should we port our app to GKE?
What are the factors decide Cloud run vs GKE?</p>
",https://stackoverflow.com/questions/71612593/gke-vs-cloud-run,"['google-cloud-platform', 'google-kubernetes-engine', 'google-cloud-run']",2991,True,6,1
ExecutionException: java.util.concurrent.TimeoutException,"<p>Facing below exception while making multiple concurrent requests to an external API. But when I am trying to perform the same operation using any bulk load testing tool like Jmeter, the issue is not encountered.
Also, the issue is not encountered when making requests in a sequential manner.</p>
<pre><code>&gt; java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException
    at org.apache.http.concurrent.BasicFuture.getResult(BasicFuture.java:70)
    at org.apache.http.concurrent.BasicFuture.get(BasicFuture.java:80)
    at org.apache.http.impl.nio.client.FutureWrapper.get(FutureWrapper.java:70)
    at com.paytm.oe.common.utils.HttpUtil.hit(HttpUtil.java:98)
    at com.paytm.oe.http.service.impl.HttpServiceImpl.hit(HttpServiceImpl.java:471)
    at com.paytm.oe.http.service.impl.HttpServiceImpl.post(HttpServiceImpl.java:164)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.TimeoutException: null
    at org.apache.http.nio.pool.AbstractNIOConnPool.processPendingRequest(AbstractNIOConnPool.java:375)
    at org.apache.http.nio.pool.AbstractNIOConnPool.processNextPendingRequest(AbstractNIOConnPool.java:355)
    at org.apache.http.nio.pool.AbstractNIOConnPool.release(AbstractNIOConnPool.java:319)
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.releaseConnection(PoolingNHttpClientConnectionManager.java:364)
    at org.apache.http.impl.nio.client.AbstractClientExchangeHandler.releaseConnection(AbstractClientExchangeHandler.java:245)
    at org.apache.http.impl.nio.client.MainClientExec.responseCompleted(MainClientExec.java:387)
    at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:172)
    at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:437)
    at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:327)
    at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
    at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
    at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:121)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
    ... 1 common frames omitted
</code></pre>
<p>Also attaching the code snippet for reference.</p>
<pre><code>    public static HttpResponse hit(CloseableHttpAsyncClient client, HttpRequestBase requestBase, HttpRequest request, boolean clearCookies) {
        HttpResponse response = null;
        requestBase.setHeaders(convertMapToHeaders(request.getHeaders()));
        response = new HttpResponse();
        HttpContext context = HttpClientContext.create();
        if (clearCookies) {
            context.setAttribute(HttpClientContext.COOKIE_STORE, new BasicCookieStore());
        }
        long startTime = 0;
        int call = 0;
        while (call &lt; 2) {
            HttpResponse resp = null;
            try {
                Future&lt;HttpResponse&gt; future = client.execute(requestBase, context, null);
                resp = future.get();
                long timeTaken = System.currentTimeMillis() - startTime;
                response.setHttpCode(resp.getStatusLine().getStatusCode());
                if (resp.getEntity() != null) {
                    response.setBody(EntityUtils.toString(resp.getEntity()));
                }
                response.setHeaders(convertHeadersToMap(resp.getAllHeaders()));
                call = 2;
            } catch (Exception e) {
                &lt;Printing exception logs here.&gt;
            }
        }
        return response;
    }
</code></pre>
",https://stackoverflow.com/questions/70721006/executionexception-java-util-concurrent-timeoutexception,"['java', 'spring', 'httpclient', 'timeoutexception']",979,False,1,0
Socket.io: Load testing by Manual multiple client connections creation - Not working,"<p>I am trying to do load testing of my side which using socket.io. I would like to know how my application performing with more socket.io client connections. So, I have tired to inject multiple client connections programmatically as mentioned in Socket.io documentation <a href=""https://socket.io/docs/v4/load-testing/#manual-client-creation"" rel=""nofollow noreferrer"">https://socket.io/docs/v4/load-testing/#manual-client-creation</a> as below.</p>
<pre><code>const { io } = require(&quot;socket.io-client&quot;);

const URL = process.env.URL || &quot;https://MYSITEURL.com&quot;;
const MAX_CLIENTS = 2;
const POLLING_PERCENTAGE = 0.05;
const CLIENT_CREATION_INTERVAL_IN_MS = 1000;
const EMIT_INTERVAL_IN_MS = 1000;

let clientCount = 0;
let lastReport = new Date().getTime();
let packetsSinceLastReport = 0;



const createClient = () =&gt; {
  // for demonstration purposes, some clients stay stuck in HTTP long-polling
  const transports =
    Math.random() &lt; POLLING_PERCENTAGE ? [&quot;websocket&quot;] : [&quot;polling&quot;, &quot;websocket&quot;];

    
  const socket = io(URL, {
    transports,
  });

  setInterval(() =&gt; {
    socket.emit(&quot;client to server event&quot;);
  }, EMIT_INTERVAL_IN_MS);

  socket.on(&quot;server to client event&quot;, () =&gt; {
    packetsSinceLastReport++;
  });

  socket.on(&quot;disconnect&quot;, (reason) =&gt; {
    console.log(`disconnect due to ${reason}`);
  });

  if (++clientCount &lt; MAX_CLIENTS) {
    setTimeout(createClient, CLIENT_CREATION_INTERVAL_IN_MS);
  }
};

createClient();

const printReport = () =&gt; {
  const now = new Date().getTime();
  const durationSinceLastReport = (now - lastReport) / 1000;
  const packetsPerSeconds = (
    packetsSinceLastReport / durationSinceLastReport
  ).toFixed(2);

  console.log(
    `client count: ${clientCount} ; average packets received per second: ${packetsPerSeconds}`
  );

  packetsSinceLastReport = 0;
  lastReport = now;
};

setInterval(printReport, 5000);
 
</code></pre>
<p>But on viewing the IIS requests of my site, seems only one connection is created all other connections are failing with 404 errors. Below I pasted list of logs.</p>
<p>My questions why for some connection my client is connection not for others. Also, in successful connection I found like one GET and POST calls are parsing but for unsuccessful connection only GET call get passed with same code, I don't know how? It would be helpful I I get any help. Thanks in advance.</p>
<p><strong>Successful connection IIS log</strong></p>
<pre><code>2022-03-09 05:21:57 127.0.0.1 GET /vnext/socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj84Vv&amp;X-ARR-CACHE-HIT=0&amp;X-ARR-LOG-ID=6fcf93eb-6e4f-4ab1-bc05-ace14e8218a0&amp;SERVER-STATUS=200 443 - XXX.X.X.X Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:97.0)+Gecko/20100101+Firefox/97.0 - 200 0 0 572
2022-03-09 05:21:57 XXX.X.X.X POST /vnext/socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj874I&amp;sid=lICvErLJGwMgaV2ZAADP&amp;X-ARR-CACHE-HIT=0&amp;X-ARR-LOG-ID=82cbb426-5a80-4553-8155-dedf522fe489&amp;SERVER-STATUS=200 443 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:97.0)+Gecko/20100101+Firefox/97.0 - 200 0 0 6
</code></pre>
<p><strong>For Unsuccessful call IIS logs</strong>*</p>
<pre><code>2022-03-09 05:23:16 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8P-K&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 939
2022-03-09 05:23:16 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Ppj&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 1068
2022-03-09 05:23:16 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8PvO&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 944
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Qnt&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 2
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Qno&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 3
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8QpT&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 6
2022-03-09 05:23:18 XXX.X.X.X GET /socket.io/ EIO=4&amp;transport=polling&amp;t=Nzj8Qyg&amp;b64=1 443 - XXX.X.X.X node-XMLHttpRequest - 404 0 2 3
</code></pre>
",https://stackoverflow.com/questions/71404958/socket-io-load-testing-by-manual-multiple-client-connections-creation-not-wor,"['performance', 'websocket', 'socket.io', 'load']",473,True,0,1
Azure data explorer Concurrent queries,"<p>In azure data explorer, we have made load tests on the cluster with Azure Load testing going through a function app (In consumption tier, function app ) that do request on ADX.</p>
<p>We have never been able to go over 2 concurrent queries . What should we do to go over ? We cannot pass 200 req/s for a simple query.</p>
<p><a href=""https://i.stack.imgur.com/O2OFV.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/O2OFV.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/73730028/azure-data-explorer-concurrent-queries,"['azure', 'azure-functions', 'azure-data-explorer', 'azure-load-testing']",94,False,2,0
starlette doesn&#39;t appear to run requests concurrently,"<p>I am using a simple demo Starlette app (right out of the docs, just added an <code>asyncio.sleep()</code> statement there:</p>
<pre><code>import asyncio
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route


async def homepage(request):
    await asyncio.sleep(1)
    return JSONResponse({'hello': 'world'})


app = Starlette(debug=True, routes=[
    Route('/', homepage),
])
</code></pre>
<p>I am running this using <code>uvicorn</code></p>
<p>Using a load testing client (e.g. locust, or a custom test client), I see that I get 1 response per second, which implies no parallelism.</p>
<p>Shouldn't Starlette serve multiple requests concurrently?</p>
",https://stackoverflow.com/questions/72508856/starlette-doesnt-appear-to-run-requests-concurrently,"['python', 'locust', 'uvicorn', 'starlette']",132,False,0,0
Load test Oracle Apex applications,"<p>I have various Oracle apex apps which are session encrypted, protected and on friendly URLs. My objective is to load test the apps. My team is using NeoLoad but it is causing so many issues because of session encryption and protection as HTTP request gets changed.</p>
<p>Is there any tool which is optimized for Load testing apex apps?</p>
",https://stackoverflow.com/questions/74770710/load-test-oracle-apex-applications,"['oracle', 'oracle-apex', 'oracle12c', 'oracle-apex21.2']",79,False,0,0
ASP.NET Core Kestrel throughput,"<p>I create an empty asp.net core project base on .net6 and do load testing using python locust. The average response time is about 900ms, but using MiniProfile monitors the API executed time, almost zero. That's why? How to optimize it?</p>
<p>Load test result:<br />
<a href=""https://i.stack.imgur.com/jXtkM.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/jXtkM.png"" alt=""enter image description here"" /></a></p>
<p>Use MiniProfile to monitor the APIs execution time:<br />
<a href=""https://i.stack.imgur.com/kBAeH.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/kBAeH.png"" alt=""enter image description here"" /></a></p>
<p>Resource usage:<br />
<a href=""https://i.stack.imgur.com/q1cr9.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/q1cr9.png"" alt=""enter image description here"" /></a></p>
<p>Program.cs:</p>
<pre class=""lang-cs prettyprint-override""><code>var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

builder.Services.AddMemoryCache();
builder.Services.AddMiniProfiler(opt =&gt;
{
    opt.RouteBasePath = &quot;/profiler&quot;;

});

var app = builder.Build();

app.UseMiniProfiler();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

// app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();
</code></pre>
<p>HomeController.cs:</p>
<pre class=""lang-cs prettyprint-override""><code>using Microsoft.AspNetCore.Mvc;

namespace del.Controllers;

[Route(&quot;[controller]&quot;)]
public class HomeController : ControllerBase
{
    [HttpGet]
    public IActionResult Get() =&gt; Ok();

    [HttpPost]
    public IActionResult Post() =&gt; Ok();
}
</code></pre>
<p>Python script:</p>
<pre class=""lang-py prettyprint-override""><code>from locust import HttpUser, task


class Date(HttpUser):
    @task
    def get_date(self):
        self.client.get('/home')
</code></pre>
",https://stackoverflow.com/questions/73245317/asp-net-core-kestrel-throughput,"['c#', 'asp.net-core', '.net-6.0']",152,True,0,1
Is it possible to run Angular Cypress Test with K6?,"<p>We have a lot of cypress tests in our Angular Project. But we want to use k6 as our new main load testing tool. But also we want to keep our already written cypress tests.</p>
<p>Is it possible to execute cypress tests within k6? e.g run k6 with 1000 VUs but instead of k6 test script, use cypress test scrpts.</p>
",https://stackoverflow.com/questions/72639421/is-it-possible-to-run-angular-cypress-test-with-k6,"['cypress', 'browser-extension', 'k6']",379,False,2,2
bombardier load test error response time out,"<p>When we stimulate cocurrent user load testing using bombardier we are getting the below error</p>
<pre><code>bombardier -m POST  https://domain/profile  -c 25 --duration 1s -l -H &quot;Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ....&quot; -H &quot;Content-Type: application/json&quot; -f  &quot;payload.json&quot; --http2
</code></pre>
<p>Errors:
Post &quot;https://domain/profile&quot;: net/http: request canceled (Client.Timeout exceeded while awaiting headers) - 14
Post &quot;https://domain/profile&quot;: context deadline exceeded (Client.Timeout exceeded while awaiting headers) - 11
Throughput:   104.64KB/s</p>
<p>Is the error valid does it mean the server is not able to handler 25 concurrent users ?</p>
",https://stackoverflow.com/questions/73898151/bombardier-load-test-error-response-time-out,"['azure', 'testing', 'load', 'bombardier']",122,False,0,0
Testing AWS AppStream,"<p>What tool might one use to perform load testing on an AppStream Fleet? We would like to monitor our Application Auto Scaling Scaling Policies behavior on a larger scale. Is there a tool that would automate the process of connecting to the streaming URL and maybe even logging in? What are our options here for getting some statistics over for example response time?</p>
",https://stackoverflow.com/questions/74110204/testing-aws-appstream,"['amazon-web-services', 'load-testing', 'aws-appstream']",33,False,0,0
jmeter error:org.apache.http.conn.HttpHostConnectException,"<p>I would like to use jmeter(5.4.3) for load testing.
The site I am trying to test is an azure static site.</p>
<pre><code>https://XXXXX.web.core.windows.net
</code></pre>
<p>So I started jmeter and configured the following.</p>
<pre><code>In Thread Group,

・Nunumber of threads: 1

・Ramp-up period:1

・Loop Count:1
</code></pre>
<p>And,</p>
<pre><code>In HTTP Request,

・Protocol:https

・Server Name or IP : XXXXX.web.core.windows.net

・HTTP Request
　GET 

・Path:/
</code></pre>
<p>Then I got this error.</p>
<pre><code>org.apache.http.conn.HttpHostConnectException
</code></pre>
<p>This is the only configuration I have performed, what am I missing?
I am a beginner and not sure.</p>
<p>Thank you!</p>
<p>These are the error statements.</p>
<pre><code>org.apache.http.conn.HttpHostConnectException: Connect to XXXXX.web.core.window.net:443 [XXXXX.web.core.window.net/52.XXX.XX.XXX] failed: Connection refused: connect
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:404)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:935)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:646)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1296)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285)
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368)
    at org.apache.jmeter.protocol.http.sampler.hc.LazyLayeredConnectionSocketFactory.connectSocket(LazyLayeredConnectionSocketFactory.java:91)
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
</code></pre>
",https://stackoverflow.com/questions/72039974/jmeter-errororg-apache-http-conn-httphostconnectexception,"['jmeter', 'load-testing']",1172,True,0,1
Add duplicate records to sql table,"<p>I have 300,000K records in the sql table and i want to add duplicate records randomly to that table at least 100,000k duplicate records need to be added to the table.</p>
<p>Purpose:
I am doing bulk load testing from our end if our process checks for duplicate records.</p>
<p>I have no clue on how to take this forward, can anyone help me.</p>
",https://stackoverflow.com/questions/72805825/add-duplicate-records-to-sql-table,"['sql', 'sql-server']",37,False,0,0
GUI based load testing for Blazor Application,"<p>Blazor is a new Microsoft technology that we have used to build Blazor App.</p>
<p>We want to do GUI based performance testing simulating user action like login.</p>
<p>Traditional load testing tool like Jmeter, NeoLoad which we were using for web app testing fails here as Blazor makes socket calls instead of http calls.</p>
<p>Can anyone please suggest a tool which can help me here.</p>
<p>Regards,
Abhishek</p>
",https://stackoverflow.com/questions/70616026/gui-based-load-testing-for-blazor-application,"['blazor', 'performance-testing']",1185,False,2,1
How to scale EKS Pods and Nodes?,"<p>In AWS console CloudWatch &gt; Container Insights &gt; Performance Monitoring. I selected EKS Pods. There are 2 charts: <code>Node CPU Utilization</code> and <code>Pod CPU Utilization</code>.</p>
<p>I have several images deployed.</p>
<p>During my load testing, <code>Node CPU Utilization</code> shows Image A at spiking up to 98%. However, <code>Pod CPU Utilization</code> shows Image A below 0.1%.</p>
<p>Anybody understands what does these 2 metrics mean? Does it mean I should increase the number of nodes instead of number of pods?</p>
<p>Example of the dashboard:</p>
<p><a href=""https://i.stack.imgur.com/Guq8A.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Guq8A.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/74217638/how-to-scale-eks-pods-and-nodes,"['amazon-web-services', 'kubernetes', 'amazon-eks']",134,False,1,0
How to trigger azure load test from azure dev-ops release pipeline,"<p>I am able to CREATE and then RUN a new Azure Load test from Azure Dev-Ops Release pipeline.</p>
<p>I followed below article
<a href=""https://learn.microsoft.com/en-gb/azure/load-testing/tutorial-cicd-azure-pipelines"" rel=""nofollow noreferrer"">https://learn.microsoft.com/en-gb/azure/load-testing/tutorial-cicd-azure-pipelines</a></p>
<p>But it creates a new Test even if a test of same name already exists.</p>
<p>How do I trigger <strong>EXISTING</strong> load test with OR without passing CSV and other config files ?</p>
",https://stackoverflow.com/questions/73374833/how-to-trigger-azure-load-test-from-azure-dev-ops-release-pipeline,"['azure', 'azure-devops', 'jmeter']",68,True,0,1
Bulk upload data to cloudant or any efficient way of uploading data to cloudant using python?,"<p>I have been using the below script for uploading the data to do load testing of my module:</p>
<pre><code>import json
import ast
import pandas as pd
import sys
import cloudant_connection as cloud

df = pd.read_csv(&quot;./deviceId_data/device_starts_&quot;+ sys.argv[1] + &quot;.csv&quot;)
print(&quot; checkpoint 1 cleared &quot;)
def push_data_to_cloudant(ID,Key,Value,Database):
    Value = ast.literal_eval(Value)
    temp_doc = {}
    temp_doc[&quot;_id&quot;] = ID
    temp_doc[&quot;value&quot;] = Value[&quot;value&quot;]
    temp_doc[&quot;devId&quot;] = Value[&quot;devId&quot;]
    temp_doc[&quot;eDateTime&quot;] = Key[0]
    temp_doc[&quot;eDate&quot;] = Value[&quot;eDate&quot;]
    temp_doc[&quot;cDateTime&quot;] = Key[0]
    temp_doc[&quot;cDate&quot;] = Value[&quot;cDate&quot;]
    
    new_doc = Database.create_document(temp_doc)
    
    if new_doc.exists():
        #print(&quot;doc created&quot;)
        return &quot;Success&quot;
    else:
        print(&quot;Failed in pushing document&quot;)
        return &quot;Failure&quot;

with open(&quot;./connection_config_source.json&quot;) as f:
    connect_conf = json.load(f)
print(&quot; checkpoint 2 cleared &quot;)
API_KEY = connect_conf['cloudant_api_key']
ACC_NAME = connect_conf['cloudant_account_name']
print(&quot; checkpoint 3 cleared &quot;)
try:
    client = cloud.connecting_to_cloudant_via_api(ACC_NAME,API_KEY)

    database_name = 'DB_NAME'
    
    Database = client[database_name]
    print(&quot; checkpoint 4 cleared &quot;)
    if Database.exists():
        print(&quot;Connected&quot;)
      
    status = [push_data_to_cloudant(ID,Key,Value,Database) for (ID,Key,Value) in zip(df['id'],df['key'],df['value'])]
    print(&quot; last checkpoint cleared &quot;)
except Exception as e:
    print(&quot;Failed:&quot; + str(e))

</code></pre>
<p>I know that there are faster ways than using list comprehension. But I don't know how to use them in this scenario.</p>
<p>I know df.apply() is faster than this, but I wanted to know if I could use Pandas Vectorization or Numpy Vectorization for this use case.</p>
",https://stackoverflow.com/questions/70655178/bulk-upload-data-to-cloudant-or-any-efficient-way-of-uploading-data-to-cloudant,"['python', 'pandas', 'python-cloudant']",129,True,0,1
is there way to write data in CSV file using jmx script in Azure load testing?,"<p>I have added beanshell postprocessor in sampler to write data in CSV file and it is working fine in Jmeter. But when I uploaded same jmx script in Azure load testing and ran it, I don't see any CSV file where my response data is added.</p>
<p><strong>Logs:</strong>
WARN o.a.j.u.SSLManager: Keystore file not found, loading empty keystore
WARN c.a.c.j.j.c.MALTListener: TEST ENDED EVENT - uploading jmeter.log file</p>
",https://stackoverflow.com/questions/71172060/is-there-way-to-write-data-in-csv-file-using-jmx-script-in-azure-load-testing,"['azure', 'azure-devops', 'jmeter', 'load-testing']",220,False,0,1
how to script for sharepoint app using jmeter for performance testing,"<p>I am having a SharePoint-based application, using which I need to perform load testing.
But When I m recording the script, the response is not as same as the browser, and thus unable to get what needs to be done
And in first 2 requests:
get page
post login
in these, there is no dynamic value, so I am not able to understand it.</p>
",https://stackoverflow.com/questions/71435290/how-to-script-for-sharepoint-app-using-jmeter-for-performance-testing,"['sharepoint', 'jmeter', 'performance-testing', 'sharepoint-online']",291,False,0,1
Rps is very low compare to given number of users,"<p>I am new in load testing , For understanding the statistics generated by locust , I give very low load to an API, See my below snapshot, there is only 1 user run against given API and it finish its process within milliseconds but my RPS is showing 0 . I am expecting RPS value as 1 because the request able to finish within one second.</p>
<p><a href=""https://i.stack.imgur.com/vJ2Aa.png"" rel=""nofollow noreferrer"">Test Result</a></p>
",https://stackoverflow.com/questions/74126280/rps-is-very-low-compare-to-given-number-of-users,"['performance', 'testing', 'load', 'performance-testing', 'locust']",77,False,0,1
Very high number of threads in active use in Cadence cluster,"<p>While performing the load testing of the cadence cluster, we are seeing extremely high number of threads ( &gt; 4000) and it constantly remains like this consuming high CPU and memory. It remains like this, when there are no external signals or active workflows. I have disabled the sticky workflow options so no workflow should be cached, instead the thread count is not going down. Is there any way to resolve this further ?</p>
",https://stackoverflow.com/questions/72570623/very-high-number-of-threads-in-active-use-in-cadence-cluster,"['cadence-workflow', 'temporal-workflow', 'uber-cadence']",200,True,2,1
AWS Lamdba slow responses,"<p>Currently, I'm doing load testing using Gatling and I have one issue with my lambdas. I have two lambdas one is written in Java 8 and one is written in Python. I'm using Gatling for my load testing and I have a test where I'm doing one request with 120 concurrent users then I'm ramping them from 120 to 400 users in 1 minute, and then Gatling is doing requests with 400 constants users per second for 2 minutes.<br />
There is a weird behavior in these lambdas because the responses are very high. In the lambdas there is no logic, they are just returning a String.
Here are some screenshots of Gatling reports:<br />
<a href=""https://i.stack.imgur.com/sCx9M.png"" rel=""nofollow noreferrer"">Java Report</a><br />
<a href=""https://i.stack.imgur.com/SuHU0.png"" rel=""nofollow noreferrer"">Python Report</a>
I can add that I did some tests when Lambda is warm-up and there is the same behaviour as well.<br />
I'm using API Gateway to run my lambdas.</p>
<p>Do you have any idea why there is such a big response time? Sometimes I'm receiving an HTTP error that says:</p>
<pre><code> i.n.h.s.SslHandshakeTimeoutException: handshake timed out after 10000ms 
</code></pre>
<p>Here is also my Gatling simulation code:</p>
<pre><code>public class OneEndpointSimulation extends Simulation {

HttpProtocolBuilder httpProtocol = http
        .baseUrl(&quot;url&quot;) // Here is the root for all relative URLs
        .acceptHeader(&quot;text/html,application/xhtml+xml,application/json,application/xml;q=0.9,*/*;q=0.8&quot;) // Here are the common headers
        .acceptEncodingHeader(&quot;gzip, deflate&quot;)
        .acceptLanguageHeader(&quot;en-US,en;q=0.5&quot;)
        .userAgentHeader(&quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0&quot;);

ScenarioBuilder scn = scenario(&quot;Scenario 1 Workload 2&quot;)
        .exec(http(&quot;Get all activities&quot;)
                .get(&quot;/dev&quot;)).pause(1);

{
    setUp(scn.injectOpen(
                    atOnceUsers(120),
                    rampUsersPerSec(120).to(400).during(60),
                    constantUsersPerSec(400).during(Duration.ofMinutes(1))
            ).protocols(httpProtocol)
    );
}
}
</code></pre>
",https://stackoverflow.com/questions/71745142/aws-lamdba-slow-responses,"['python', 'java', 'amazon-web-services', 'performance', 'aws-lambda']",226,False,0,0
Load testing kafka with multiple producers and multiple consumers,"<p>I am trying to load test my Kafka cluster with multiple producers and multiple consumers. I came across a lot of available tools and article but all of them generates load(Producer) from a single machine and similarly reads(Consumer) from a single machine.</p>
<p>I am looking for a tool which can be deployed across/spawn multiple producers and consumers and load test a given kafka cluster.</p>
<ul>
<li>As input, we can give the number of producers and consumers.</li>
<li>It can then spawn those number of machines with producers and consumers (On AWS, Azure or GCP). Or we can spawn machines manually and then the tool can initiate producer and consumer on them.</li>
<li>Post that it load test's the target kafka cluster.</li>
<li>At the end, it gives out test results like, write/sec, read/sec etc.</li>
</ul>
<p>Tools/Articles I checked are:</p>
<ul>
<li><a href=""https://www.blazemeter.com/blog/apache-kafka-how-to-load-test-with-jmeter"" rel=""nofollow noreferrer"">https://www.blazemeter.com/blog/apache-kafka-how-to-load-test-with-jmeter</a></li>
<li><a href=""https://medium.com/selectstarfromweb/lets-load-test-kafka-f90b71758afb"" rel=""nofollow noreferrer"">https://medium.com/selectstarfromweb/lets-load-test-kafka-f90b71758afb</a></li>
<li><a href=""https://stackoverflow.com/questions/58982753/load-testing-with-kafka-and-storm"">Load testing with Kafka and Storm</a></li>
<li><a href=""https://stackoverflow.com/questions/66248486/load-test-kafka-consumer"">Load test kafka consumer</a></li>
<li><a href=""https://stackoverflow.com/questions/61873279/load-testing-a-kafka-consumer"">Load testing a kafka consumer</a></li>
</ul>
",https://stackoverflow.com/questions/71046359/load-testing-kafka-with-multiple-producers-and-multiple-consumers,"['apache-kafka', 'load-testing']",473,True,-1,1
How to fire N Requests per Second in Scala,"<p>I am developing an application in Scala, which is kind of request processor in batch. It gets the required data from storage and forms the request and calls an API of another service (named ServiceB)</p>
<p>ServiceB allocates 110TPS of its throughput to my service. In order to utilize max available throughput, I want to make request at the rate of 100TPS.</p>
<p>How can I fire requests at rate of exactly 100 TPS ?</p>
<p>In theory, if the API call takes around 500 milliseconds to execute. One thread can execute max 2 request per second. So, 50 threads are needed to achieve 100TPS per second.</p>
<p>But Futures in scala are anyway executed parallely. This makes it difficult to come up with an exact number of threads required.</p>
<p>I tried the following</p>
<pre><code>  def main(args: Array[String]): Unit = {

    val executorService = Executors.newFixedThreadPool(1) // threadpoolsize 1
    implicit val executionContext: ExecutionContextExecutor = ExecutionContextFactory.get(executorService)


   ....

    val request = getRequest(..)
    val responseList = ListBuffer[Future[Response]]();
    val stTime = System.currentTimeMillis()
    val rateLimiter = RateLimiter.create(300) //guava-ratelimiter

    
    while(System.currentTimeMillis() - stTime &lt;= (1000*60*3)) { // Running for 3 mins
      rateLimiter.acquire(1)
      responseList +=  http(request) // using dispatch 
    }

    //TODO : use different threadpool to process the futures in responseList.
    
  } 
</code></pre>
<p>Metrics from DataDog:</p>
<pre><code>TPS is 83 
Total no of calls to tat api is 16.4k 

</code></pre>
<p>This doesn't seem to be firing calls at even 100 TPS (though I allowed 300 request per seconds, check the rate limiter value)</p>
<p>This problem is similar to load testing, how are load testing frameworks firing requests at X TPS constantly?</p>
<p>Thanks.</p>
",https://stackoverflow.com/questions/72889328/how-to-fire-n-requests-per-second-in-scala,"['multithreading', 'scala', 'concurrency', 'load-testing', 'rate-limiting']",99,False,0,0
Create waf rule if environment is nonprod Terraform,"<p>I'm trying to create an IP whitelist in nonprod for load testing, the WAF is dynamically created in prod and nonprod based on the envname/envtype:</p>
<pre><code>resource &quot;aws_waf_ipset&quot; &quot;pwa_cloudfront_ip_restricted&quot; {
  name = &quot;${var.envname}-pwa-cloudfront-whitelist&quot;
  dynamic &quot;ip_set_descriptors&quot; {
    for_each = var.cloudfront_ip_restricted_waf_cidr_whitelist
    content {
      type  = ip_set_descriptors.value.type
      value = ip_set_descriptors.value.value
    }
  }
}

resource &quot;aws_waf_rule&quot; &quot;pwa_cloudfront_ip_restricted&quot; {
  depends_on  = [aws_waf_ipset.pwa_cloudfront_ip_restricted]
  name        = &quot;${var.envname}-pwa-cloudfront-whitelist&quot;
  metric_name = &quot;${var.envname}PWACloudfrontWhitelist&quot;

  predicates {
    data_id = aws_waf_ipset.pwa_cloudfront_ip_restricted.id
    negated = false
    type    = &quot;IPMatch&quot;
  }
}

resource &quot;aws_waf_ipset&quot; &quot;pwa_cloudfront_ip_restricted_load_testing&quot; {
  name  = &quot;${var.envname}-pwa-cloudfront-whitelist_load_testing&quot;
  count = var.envtype == &quot;nonprod&quot; ? 1 : 0
  dynamic &quot;ip_set_descriptors&quot; {
    for_each = var.cloudfront_ip_restricted_waf_cidr_whitelist_load_testing
    content {
      type  = ip_set_descriptors.value.type
      value = ip_set_descriptors.value.value
    }
  }
}

resource &quot;aws_waf_rule&quot; &quot;pwa_cloudfront_ip_restricted_load_testing&quot; {
  depends_on  = [aws_waf_ipset.pwa_cloudfront_ip_restricted_load_testing]
  count = var.envtype == &quot;nonprod&quot; ? 1 : 0
  name        = &quot;${var.envname}-pwa-cloudfront-whitelist-load_testing&quot;
  metric_name = &quot;${var.envname}PWACloudfrontWhitelistload_testing&quot;

  predicates {
    data_id = aws_waf_ipset.pwa_cloudfront_ip_restricted_load_testing[count.index].id
    negated = false
    type    = &quot;IPMatch&quot;
  }
}

resource &quot;aws_waf_web_acl&quot; &quot;pwa_cloudfront_ip_restricted&quot; {
  name        = &quot;${var.envname}-pwa-cloudfront-whitelist&quot;
  metric_name = &quot;${var.envname}PWACloudfrontWhitelist&quot;

  default_action {
    type = &quot;BLOCK&quot;
  }

  rules {
    action {
      type = &quot;ALLOW&quot;
    }

    priority = 1
    rule_id  = aws_waf_rule.pwa_cloudfront_ip_restricted.id
    type     = &quot;REGULAR&quot;
  }

    rules {
    action {
      type = &quot;ALLOW&quot;
    }

    priority = 2
    rule_id  = aws_waf_rule.pwa_cloudfront_ip_restricted_load_testing.id
    type     = &quot;REGULAR&quot;
  }
}
</code></pre>
<p>The second rules block throws and error in the terraform plan:</p>
<pre><code>Error: Missing resource instance key

  on waf.tf line 73, in resource &quot;aws_waf_web_acl&quot; &quot;pwa_cloudfront_ip_restricted&quot;:
  73:     rule_id  = aws_waf_rule.pwa_cloudfront_ip_restricted_load_testing.id

Because aws_waf_rule.pwa_cloudfront_ip_restricted_load_testing has &quot;count&quot; set,
its attributes must be accessed on specific instances.

For example, to correlate with indices of a referring resource, use:
    aws_waf_rule.pwa_cloudfront_ip_restricted_load_testing[count.index]
</code></pre>
<p>However if I add [count.index] :</p>
<pre><code>Error: Reference to &quot;count&quot; in non-counted context

  on waf.tf line 73, in resource &quot;aws_waf_web_acl&quot; &quot;pwa_cloudfront_ip_restricted&quot;:
  73:     rule_id  = aws_waf_rule.pwa_cloudfront_ip_restricted_load_testing[count.index].id

The &quot;count&quot; object can only be used in &quot;module&quot;, &quot;resource&quot;, and &quot;data&quot;
blocks, and only when the &quot;count&quot; argument is set.
</code></pre>
<p>Is there a way to do this that doesn't use the count param? Or am I missing something in the way that I am using it?</p>
",https://stackoverflow.com/questions/74067925/create-waf-rule-if-environment-is-nonprod-terraform,"['amazon-web-services', 'terraform', 'terraform-provider-aws']",65,True,0,1
Karate shows huge jump in active users,"<p>I am using karate-gatling to perform load testing. As i managed to generate the gatling reports, chart report creates confusion.
I have used below code in my class.</p>
<p>Radius.inject(nothingFor(5 seconds),rampUsers(500) during ( 10 seconds))</p>
<p>So i expect 50 calls per second on average. But chart gives a huge jump in active users from 26 to 474 over some seconds.
Does anyone know whats wrong here ?</p>
<p><a href=""https://i.stack.imgur.com/3u1ZA.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/3u1ZA.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/73472984/karate-shows-huge-jump-in-active-users,"['load', 'karate']",35,False,0,0
Locust giving &quot;HTTPError(&#39;404 Client Error: Not Found for url:,"<p>I have a react web application, i want to do load testing on it using locust, on these 2 URL. (Homepage &amp; Privacy Policy page). for homepage, it is working but for privacy page, it is giving &quot;HTTPError('404 Client Error: Not Found for url: https://xxx/privacy-policy/') &quot; error. when I am hitting these URL on browser both URL open &amp; not giving any error. Why Locust giving this error.</p>
<p>this is my code -</p>
<pre><code>    import time
    from locust import HttpUser, task, constant

    class CreateLead(HttpUser):
    host = &quot;https://xxx&quot;
    wait_time = constant(0)

   @task
   def loadtest(self):
       self.client.get(&quot;/&quot;)
       time.sleep(1)

       self.client.get(&quot;/privacy-policy&quot;)
       time.sleep(1)
</code></pre>
",https://stackoverflow.com/questions/72626097/locust-giving-httperror404-client-error-not-found-for-url,"['python', 'performance-testing', 'load-testing', 'locust']",1043,False,1,0
Kafka Connect Skipping Messages due to Confluent Interceptor,"<p>I am seeing following messages in my connect log</p>
<p><code>WARN Monitoring Interceptor skipped 2294 messages with missing or invalid timestamps for topic TEST_TOPIC_1. The messages were either corrupted or using an older message format. Please verify that all your producers support timestamped messages and that your brokers and topics are all configured with log.message.format.version, and message.format.version &gt;= 0.10.0 respectively. You may also experience this if you are consuming older messages produced to Kafka prior to any of those changes taking place. (io.confluent.monitoring.clients.interceptor.MonitoringInterceptor)</code></p>
<p>I have changed my kafka broker with this</p>
<pre><code>KAFKA_INTER_BROKER_PROTOCOL_VERSION: 0.11.0
KAFKA_LOG_MESSAGE_FORMAT_VERSION: 0.11.0
</code></pre>
<p>I am guessing this is reducing my overall producer throughput and I am trying load testing.</p>
<p>PS:
I don't want to remove the confluent interceptor because it helps me with throughput and consumer lag.</p>
<pre><code>CONNECT_PRODUCER_INTERCEPTOR_CLASSES: &quot;io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor&quot;
CONNECT_CONSUMER_INTERCEPTOR_CLASSES: &quot;io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor&quot;
</code></pre>
<p>Any way to not skip those messages, I am using <a href=""https://github.com/GSLabDev/pepper-box/"" rel=""nofollow noreferrer"">pepperbox</a> to produce messages and it doesn't have timestamp</p>
<pre><code>{
        &quot;messageId&quot;:{{SEQUENCE(&quot;messageId&quot;, 1, 1)}},
        &quot;messageBody&quot;:&quot;{{RANDOM_ALPHA_NUMERIC(&quot;abcedefghijklmnopqrwxyzABCDEFGHIJKLMNOPQRWXYZ&quot;, 2700)}}&quot;,
        &quot;messageCategory&quot;:&quot;{{RANDOM_STRING(&quot;Finance&quot;, &quot;Insurance&quot;, &quot;Healthcare&quot;, &quot;Shares&quot;)}}&quot;,
        &quot;messageStatus&quot;:&quot;{{RANDOM_STRING(&quot;Accepted&quot;,&quot;Pending&quot;,&quot;Processing&quot;,&quot;Rejected&quot;)}}&quot;
}
</code></pre>
<p>Thanks in advance!</p>
",https://stackoverflow.com/questions/73245600/kafka-connect-skipping-messages-due-to-confluent-interceptor,"['apache-kafka', 'apache-kafka-connect', 'confluent-platform']",167,False,0,1
Performance Issues with Dotnet Web API Load Testing,"<p>We are performing load testing on Dotnet WebAPIs using Jmeter and also we have AWS load balancers.</p>
<p>The APIs in my cloud watch hardly takes 1s however in the Jmeter log it takes upto 30s.</p>
<p>The CPU isn't hitting &gt;80%.</p>
<p>Not sure where is the bottleneck. Is it at the Jmeter or Load Balancers or WebAPI (highly unlikely).</p>
<p>We checked the metrics of Load Balancers and it does hit 30s response time.</p>
",https://stackoverflow.com/questions/74220398/performance-issues-with-dotnet-web-api-load-testing,"['performance', 'jmeter', 'load-balancing', 'load-testing']",53,False,-1,1
Java service looses a connection to Rabbitmq and throws a NullPointerException,"<p>I have a java service that works with Rabbitmq server, it gets tasks and send answers to the queue. However, after 334 handling to the Rabbitmq queue connection looses and throw nullPointerException. I can not understand why after long time working service looses connection to Rabbitmq.</p>
<p>How error looks</p>
<pre><code> [1;31mERROR[0;39m - Consumer com.rabbitmq.client.impl.ChannelN$4@59ef17e4 (amq.ctag-_itVmRHd4yWS6gG-Gh4XqQ) method handleDelivery for channel AMQChannel(amqp://guest@0.0.0.0:5672/,1) threw an exception for channel AMQChannel(amqp://guest@0.0.0.0:5672/,1)
java.lang.NullPointerException: null
    at com.peterservice.artifactory.deployPlugins.RabbitWorker.getSenderChannel(RabbitWorker.java:1364)
    at com.peterservice.artifactory.deployPlugins.RabbitWorker.lambda$runWorker$0(RabbitWorker.java:269)
    at com.rabbitmq.client.impl.ChannelN$4.handleDelivery(ChannelN.java:1404)
    at com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:149)
    at com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:104)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)
</code></pre>
<p>Where error happens</p>
<pre><code>private static Channel getSenderChannel(Connection connection) throws IOException {
    Channel channel = connection.createChannel();
    channel.queueDeclare(settings.deployDoneQueue(), durable, false, false, null);
    return channel;
}
</code></pre>
<p>I made a load testing and understood that this error happens every time after 334 counts that service connects to Rabbitmq.</p>
",https://stackoverflow.com/questions/74890568/java-service-looses-a-connection-to-rabbitmq-and-throws-a-nullpointerexception,"['java', 'nullpointerexception', 'rabbitmq', 'amqp']",136,False,0,0
Performance issue nodejs connecting to Oracle Database by node-oracledb,"<p>I am facing the performance issue during load testing of the Rest API for Oracle Database developed by using Express and OracleDB nodejs modules.
I see the decrease in performance during load testing during increasing number of the requests per seconds to the developed API.This issue is reproduced on stored procedure and standard select requests to the database.
From database side I see the standard and stable response time for each of the requests. Requests are recieved by the database in the same time as they were initiated.
From application(reponse) side it looks like responses being puted in some kind queue and being readed by nodejs(OracleDB module) in packages.
With a standard response time in 0,5 seconds per requests, I might recieve 3-5 seconds response time on 10 request per second.</p>
<p>This issues is reproduced on different connection pool sizes(grater than number of requests per seconds).
At the moment I am stuck with possible options that might lead to the issue. What might be the reason for such behaviour? Or what options for diagnostic or turning is available for oracleDB module for the nodejs?</p>
<p>some code bellow:</p>
<pre><code>creating the connection:
const init = async () =&gt; {
  try {
    Logger.info(`oracle instant client address ${process.env.LD_LIBRARY_PATH}`);
    const pool = await oracledb.createPool(dbCredentials);
    Logger.info('db connections pool created');
    return pool;
  } catch (err) {
    Logger.error(`init() error: ${err.message}`);
  }
};

let pool = await init();
</code></pre>
<p>route:</p>
<pre><code>    router.get('/test', async (req, res, next) =&gt; {
  try {
    const result = await testController(pool);
    sendResponse(res, 200, result);
  } catch (e) {
    sendErrResponse(res, 500, e.message);
  }
});
</code></pre>
<p>controller:</p>
<pre><code>    const testController = async (pool) =&gt; {
  let connection;

  try {
    connection = await pool.getConnection();
  } catch (error) {
    return error;
  }

  try {
    let items = { items: [{ itemSKU: 'xxxxx', itemQTY: 1234 }, { itemSKU: 'yyyyy', itemQTY: 123}] };
    items = JSON.stringify(items);
    const { rows: data } = await connection.execute(
      'select shop_id, prod_id, qnt from TABLE(pkg_ecom.check(:items))',
      { items },
    );
    return data;
  } catch (error) {
    return error;
  } finally {
    if (connection) {
      try {
        await connection.close();
      } catch (err) {
        console.error(err);
      }
    }
  }
};
</code></pre>
",https://stackoverflow.com/questions/73583359/performance-issue-nodejs-connecting-to-oracle-database-by-node-oracledb,"['node.js', 'node-oracledb']",417,False,0,1
Google Cloud SQL + Go Gin connection timeout with 200 concurrent,"<p>I was trying to do load testing for the production. I see a lot of errors get from Google Cloud SQL &quot;connection timeout&quot;. Firstly, I was trying to increases the Google SQL instance to higher, but the errors still happened.</p>
<p>FYI, I run an application connected to the database via proxy.</p>
<p>Anyone, please suggest to me how to fix this. I am OK to know it is impossible in the real world.</p>
<p>EDIT: Add example code</p>
<p>db.go</p>
<pre><code>func DB() *pgxpool.Pool {

schema := os.Getenv(&quot;DB_SCHEMA&quot;)
port := os.Getenv(&quot;DB_PORT&quot;)
user := os.Getenv(&quot;DB_USERNAME&quot;)
password := os.Getenv(&quot;DB_PASSWORD&quot;)
host := os.Getenv(&quot;DB_HOST&quot;)
dbName := os.Getenv(&quot;DB_DATABASE&quot;)
sslMode := os.Getenv(&quot;DB_SSL_MODE&quot;)
sslCertificate := os.Getenv(&quot;DB_SSL_CERTIFICATE&quot;)
sslPrivateKey := os.Getenv(&quot;DB_SSL_PRIVATE_KEY&quot;)
sslRootCert := os.Getenv(&quot;DB_SSL_ROOT_CA&quot;)

connStr := fmt.Sprintf(
    &quot;host=%s port=%s user=%s password=%s dbname=%s sslmode=%s search_path=%s sslcert=%s sslkey=%s sslrootcert=%s&quot;,
    host,
    port,
    user,
    password,
    dbName,
    sslMode,
    schema,
    sslCertificate,
    sslPrivateKey,
    sslRootCert,
)

db, err := pgxpool.Connect(context.Background(), connStr)
helpers.CheckErr(err)

return db
</code></pre>
<p>}</p>
<p>data_repository.go</p>
<pre><code>func GetDataByPhone(phone string) (model.Data, error) {
db := db.DB()
defer db.Close()

var d model.Data
var strQuery = &quot;SELECT phone, payload, updated_at &quot; +
    &quot;FROM example_db.public.data WHERE phone=$1&quot;

db.QueryRow(
    context.Background(),
    strQuery,
    phone,
).Scan(
    &amp;d.Phone,
    &amp;d.Payload,
    &amp;d.UpdatedAt,
)

return d, nil
</code></pre>
<p>}</p>
",https://stackoverflow.com/questions/71380284/google-cloud-sql-go-gin-connection-timeout-with-200-concurrent,"['go', 'google-cloud-sql', 'go-gin', 'google-cloud-proxy']",418,True,1,1
Jmeter throws 403 forbidden when calling multiple threads,"<p>I am using jmeter to perform load testing on my dev cluster. I have used HTTP Authorization Manager  and have passed baseurl, username, password etc. Now my thread group have:</p>
<blockquote>
<p>Number of threads:100 ,
Ramp-up period: 1 and Loop Count:1</p>
</blockquote>
<p>Now for the first 50-60 calls the authorization works as expected but later it starts failing by giving error as 403. can anyone please tell me how to fix this?</p>
<p><a href=""https://i.stack.imgur.com/QoRuR.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/QoRuR.png"" alt=""enter image description here"" /></a></p>
<p>I am using jmeter 5.4.1</p>
",https://stackoverflow.com/questions/70873653/jmeter-throws-403-forbidden-when-calling-multiple-threads,"['jmeter', 'performance-testing', 'load-testing', 'jmeter-5.0']",319,False,0,2
Postgres DB goes into read only mode during load testing,"<p>During the load testing - we have observed that the Postgres databases are going to read only mode for a brief amount of time and getting recovered within minutes.</p>
<p>could any one suggest what is happening here?</p>
<p>The below is the exception observed in the application when Postgres DB is going into read only mode.</p>
<blockquote>
<p>could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement<br>
Caused by: org.postgresql.util.PSQLException: ERROR: cannot execute UPDATE in a read-only transaction</p>
</blockquote>
",https://stackoverflow.com/questions/70602848/postgres-db-goes-into-read-only-mode-during-load-testing,"['postgresql', 'jdbc']",546,False,0,0
how to read the CPU utilization in k8s LENS,"<p>It may sound like a naive question, I am running some load testing on one of the deployments on k8s. So to get an idea of the CPU utilization, I opened LENS HPA and CPU utilization is being shown like this</p>
<p><a href=""https://i.stack.imgur.com/8SHmR.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/8SHmR.png"" alt=""enter image description here"" /></a></p>
<p>can anyone please tell me how to understand this number, earlier it was 380/50% for CPU.</p>
<p>I just want to get an idea of what does this number means, if it is 380/50, is my CPU not big enough?</p>
",https://stackoverflow.com/questions/70837094/how-to-read-the-cpu-utilization-in-k8s-lens,"['kubernetes', 'autoscaling', 'hpa']",2404,True,1,1
JMeter - different HTTP request for different number of threads in the same thread group,"<p>I am load-testing a web application. I have recorded 5 different test scenarios using HTTP test script recorder under the same thread group.
I want to run the script with 5 threads, different thread for each request.<br />
For Ex:<br />
5 HTTP Requests in the same Thread Group.<br />
5 Users. Different user for each HTTP request<br />
1st user 1st HTTP request, 2nd user 2nd HTTP request... 5th user 5th HTTP request.</p>
<p>How to implement this. Any help would be much appreciated.</p>
",https://stackoverflow.com/questions/74119653/jmeter-different-http-request-for-different-number-of-threads-in-the-same-thre,['jmeter'],183,False,0,1
Mobile application Load testing,"<p>I want to do the load and performance testing for mobile app like wtapp,facebook separate apk. so is there any method to do the load testing using jmeter.</p>
<p>As I have seen jmeter proxy setup in mobile application but there are recording mobile web application. I want test the separate application not browser dependent.</p>
<p>I want to record the separate apk for example.. i will open wtapp and login into wtapp those API calls should be recorded in jmeter.</p>
",https://stackoverflow.com/questions/74532871/mobile-application-load-testing,"['mobile', 'jmeter', 'performance-testing', 'load-testing']",33,False,0,1
Azure Load Testing: How to add 20k test files into my test?,"<p>I have created a JMeter test that randomly selects orders from a pool of 20K .json data files.
I need to upload the .json files along with the .jmx file, however, the Azure Load Testing UI allows the upload of 10 files at most.</p>
<p>I have read the documentation and I could not find anything relevant on how to upload the 20k data files.</p>
<p>Is there a way to upload the 20k files to my test in one go?
Thanks,
P.</p>
",https://stackoverflow.com/questions/74414749/azure-load-testing-how-to-add-20k-test-files-into-my-test,"['azure', 'azure-load-testing']",95,False,0,1
Google App Engine instance being restarted,"<p>I have a java app deployed to GCP App Engine with a jar. I tested with a load testing framework to generate steady state 100 QPS of traffic. I have also set the maximum instance count to 1. I am following the automatic scaling.</p>
<p>When I go to &quot;instances&quot; page, it says &quot;This instance is being restarted&quot; all the time. But all requests are succeeding.</p>
<ol>
<li>Why is the instance being restarted while serving requests?</li>
<li>How do I know the cause for this restart?</li>
</ol>
",https://stackoverflow.com/questions/74746156/google-app-engine-instance-being-restarted,"['google-app-engine', 'google-cloud-platform']",35,False,0,0
Load testing workflow for POST API calls,"<p>I have a few questions about server-cost estimations.</p>
<ol>
<li>How do you decide what type of instance is required for X number of concurrent users? Is it totally based on experience or is there a certain rule that you follow for the same?</li>
<li>I was using JMeter for load testing, and I was wondering, how do you test POST APIs with separate data for each user? Or is there any other platform that you use?</li>
<li>In the case of POST API calls, do we need to create a separate DB for load testing (which I think, we should)? If yes, should we create a test DB in the same DB instance (i.e., in the same AWS RDS)? And does it needs to have some data present in it? As that might change its performance, right?</li>
<li>How to load test a workflow? Suppose we need to load test a case where we want 5,000 users to hit Auth API. It will consist of two APIs, one to request an OTP and the other to use that OTP to get the token.</li>
</ol>
<p>Please help me out, on this. As I am quite new to scaling and was just wondering if someone with experience in this can help.
Thanks.</p>
",https://stackoverflow.com/questions/73181804/load-testing-workflow-for-post-api-calls,"['amazon-web-services', 'performance', 'architecture', 'devops', 'load-testing']",190,True,0,1
Random IDs showing up in Firestore collection,"<p>I’m getting auto generated IDs in my firestore collection even though I’m specifying IDs when creating documents.</p>
<p>I am currently load testing my FastAPI app, currently testing it synchronously. My firestore IDs are coming from a counter stored in firebase’s realtime DB. The counter consists of alphanumeric characters and I’m incrementing them in a transaction. I’m then seeing if a document with that ID exists in firestore, when I find a ID that doesn’t exist I use .set() to create a document with that ID.</p>
<pre><code>def increment_realtimedb() -&gt; str:
    try:
        return rdb.transaction(crement)
    except db.TransactionAbortedError:
        increment_realtimedb()


def insert_firestore(payload: dict):
    new_id = increment_realtimedb()
    doc = collection.document(new_id).get()

    while doc.exists:
        new_id = increment_realtimedb()
        doc = collection.document(new_id).get()

    collection.document(new_id).set(payload)
</code></pre>
",https://stackoverflow.com/questions/70970003/random-ids-showing-up-in-firestore-collection,"['python', 'firebase', 'google-cloud-firestore']",83,True,0,1
Can we club parallel request in JMeter during recording,"<p>I am testing an application which invokes groups of parallel http requests during multiple-page navigation.</p>
<p>To mimic real user behaviour I want to club the requests hitting the server parallel.
I know I can use the &quot;Parallel controller&quot; but for that, I need to see the developer tool and club them.</p>
<p>My <strong>question</strong> is <strong>&quot;Can we club parallel requests in JMeter during recording&quot;</strong> as in other load testing tools we have functions to club the parallel calls which attach to the script during the recording itself.</p>
<p>&quot;<em><code> The reason for this question is --&gt; I am getting question from the developer that we can't accept the JMeter result as it does not mimic the real user behaviour(Brower behaviour)</code></em>&quot; Give me your thought on this also.</p>
",https://stackoverflow.com/questions/74863690/can-we-club-parallel-request-in-jmeter-during-recording,['jmeter'],29,False,0,1
Immediate help required - Getting error 403 and 500 in jmeter,"<p>I am working with Jmeter to do load testing. I created a simple login script using BlazeMeter. Then I imported the file into Jmeter.
Whenever I try to run the script, it fails. The problem I encounter here is that 2 of my https requests I receive a 403 and 500 response code.</p>
<p><a href=""https://i.stack.imgur.com/eUels.png"" rel=""nofollow noreferrer"">enter image description here</a>
<a href=""https://i.stack.imgur.com/htKXr.png"" rel=""nofollow noreferrer"">Output</a></p>
<p>I added an HTTP Authorization Manager to try and solve this but it is not working. Do you have any suggestions on how to resolve this?
I tried adding post processors but couldn't make them work.</p>
",https://stackoverflow.com/questions/71201887/immediate-help-required-getting-error-403-and-500-in-jmeter,"['jmeter', 'http-status-code-403', 'http-status-code-500']",52,False,0,1
Spring boot Application Pods crashing in EKS,"<p>I have a spring boot application[java 11] hosted in AWS EKS Fargate with 2 replicas initially and HPA configured as well.</p>
<p>When I am doing load testing, both pods crash when the load increases and they will be restarted and then HPA kicks in and increase the pod count to 4.</p>
<p>I tried looking into the application logs and pod logs using --previous option as well But I couldn't understand the reason for the crash.</p>
<p>Could you help me with some pointers to trouble shoot this issue?</p>
",https://stackoverflow.com/questions/74254532/spring-boot-application-pods-crashing-in-eks,"['spring-boot', 'kubernetes', 'amazon-eks', 'aws-fargate']",369,True,0,1
How to get input/request data for higher load test execution,"<p>I have a login scenario to be tested for 10000 users, which contains phone# as input and have given in csv file. Im able to perform load testing for 10000 users and able to show the report with total samples, throughput etc post exporting to a file. However issue is customer wants proof that we are giving input as 10000 users and not using loop eg(500 threads * 2 loops). Kindly help with suggestions if we have any option to show that we are using 10000 unique users.</p>
",https://stackoverflow.com/questions/74701707/how-to-get-input-request-data-for-higher-load-test-execution,"['jmeter', 'performance-testing']",36,False,0,1
JMeter - Performance Testing - Third Party Backend GET Response,"<p>I am currently working on load testing an application, where the users can create orders. Once the order is created, the request reaches the Middleware which triggers a scheduler. From the scheduler, the GET Status reaches a 3rd Party API and the Response is stored at the Backend (DB). The GET Status response can only be seen on the Backend and it will not be visible to the User Interface. Please help on How to record this GET Status Response at the Backend using latest version of Jmeter.</p>
",https://stackoverflow.com/questions/70643403/jmeter-performance-testing-third-party-backend-get-response,"['performance', 'jmeter', 'performance-testing', 'load-testing', 'jmeter-5.0']",92,True,0,1
JMeter distributed testing create counter unique in each slave using terraform,"<p>Is there a way to create a counter which is unique in each slave from terraform when using JMeter distributed testing mode?</p>
<p>I got the load testing script from here <a href=""https://github.com/marcosborges/terraform-aws-loadtest-distribuited"" rel=""nofollow noreferrer"">https://github.com/marcosborges/terraform-aws-loadtest-distribuited</a>. But my requirement is to assign an offset for the slave counter since we would need more than 10M unique.</p>
<p>The solution reference is somewhat related to this -&gt; <a href=""https://stackoverflow.com/questions/41636398/jmeter-discributed-testing-create-counter-unique-in-each-slave/41636993?newreg=1b9f11e5b9c1488aaad5f6db43d6f39c"">JMeter discributed testing create counter unique in each slave</a></p>
<p>But it would be a hassle to individually assign offset to more than 50 slaves.</p>
",https://stackoverflow.com/questions/73589923/jmeter-distributed-testing-create-counter-unique-in-each-slave-using-terraform,"['jmeter', 'terraform']",55,False,-1,1
ISO 8583 Message Giving Timeout Error in JMeter,"<p>I'm scripting for ISO Messages using JMeter to do Load Testing. I have used the ISO 8583 Sampler and connection configuration. All the data field by field is mapped correctly including the MTI (Field 0). But the issue is that the request is not being sent to the server from the JMeter. It just keep on giving the timeout issue and I'm getting no response against it. I've seen the request and validated it format from the implementer himself and he says that the format is correct. Can anyone help to trouble shoot this issue?</p>
",https://stackoverflow.com/questions/72442691/iso-8583-message-giving-timeout-error-in-jmeter,"['jmeter', 'performance-testing', 'iso8583', 'banking', 'jpos']",517,True,0,1
When is the mysql performance schema event &quot;wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done&quot; fired?,"<p>I am using Aurora Mysql 5.7.mysql_aurora.2.07.2 and am facing bottlenecks on load testing with a write-heavy workload. On enabling performance insights I noticed that a large number of sessions were waiting on the event <strong>wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done</strong>.</p>
<p>After going through the AWS <a href=""https://aws.amazon.com/premiumsupport/knowledge-center/aurora-mysql-synch-wait-events/"" rel=""nofollow noreferrer"">documentation</a>, I figured that this is caused by large number of commits which is the case in my codebase but the explanation is generic in nature for all the <strong>wait/synch/*/sql/MYSQL_BIN_LOG</strong> events and nowhere in Mysql's or Aurora's documentation I could find the exact situation in which the particular <strong>COND_DONE</strong> event is fired.</p>
",https://stackoverflow.com/questions/71523791/when-is-the-mysql-performance-schema-event-wait-synch-cond-sql-mysql-bin-logc,"['mysql', 'amazon-web-services', 'amazon-aurora']",1592,False,4,1
How to make TFLite handle multiple api calls at simultaneously?,"<p>I am performing Cloud Cost Optimization on AWS and am currently exploring deployment of TFLite models on AWS t4g instances which use AWS custom ARM chip - Graviton2. They pack ~2x performance for 1/2 cost when compared to t3 instances. I have created a basic deployment container for InceptionNet-v3 pretained on Image-Net (no fine-tuning) using FastApi.</p>
<p>InceptionNet-v3 tflite model is quantized to float16. I have shared the deployment code.</p>
<pre class=""lang-py prettyprint-override""><code>import tflite_runtime.interpreter as tflite
import numpy as np
from PIL import Image
import copy

def load_model(model_path):
    '''
    Used to load the model as a global variable
    '''
    model_interpreter = tflite.Interpreter(model_path)   
    return model_interpreter

def infer(image, model_interpreter):
    '''
    Runs inference on the input image
    '''
    model_interpreter.allocate_tensors()
    input_details = model_interpreter.get_input_details()[0]
    output_details = model_interpreter.get_output_details()[0]
    input = model_interpreter.tensor(input_details[&quot;index&quot;])
    output = model_interpreter.tensor(output_details[&quot;index&quot;])
 
    image = image.resize(input_details[&quot;shape&quot;][1:-1])
    image = np.asarray(image, dtype=np.float32)
    image = np.expand_dims(image, 0)
    image = image/255
   
    input()[:] = image
    model_interpreter.invoke()
    results = copy.deepcopy(output())
    
    return results
</code></pre>
<p>When I run my load testing program (written using <code>Locust</code> - a python load testing package), then I don't see any error till the user count breaches '3'. After that I start seeing Runtime error given below:</p>
<pre><code>RuntimeError: There is at least 1 reference to internal data
      in the interpreter in the form of a numpy array or slice. Be sure to
      only hold the function returned from tensor() if you are using raw
      data access.
</code></pre>
<p>I don''t see the error for every request. It is random in nature.</p>
<p>When I placed the model loading codelines inside <code>infer</code> function. I stopped seeing this error. But, this will load a new model everytime. This is fine while the model size is less. But, after sometime, this will contribute a good amount towards the inference time.</p>
<p>Is there a way to solve this random error while having the TFLite model as a global variable?</p>
<p>Thanks.</p>
<p><strong>EDIT:</strong>
I tried out <code>signature runners</code> api. I didn't get the error but, for some reason my docker container kept on exiting without any error. I think, it was because of lack of memory.</p>
<p>Does <code>signature runner</code> create multiple interpreter instances in different threads when the current intrepreter is being run thus using up all the available RAM?</p>
",https://stackoverflow.com/questions/71410392/how-to-make-tflite-handle-multiple-api-calls-at-simultaneously,"['amazon-web-services', 'machine-learning', 'tensorflow2.0', 'tensorflow-lite']",224,False,3,0
Ktor - how to choose client engine for JVM platform?,"<p>We have JVM (JDK 8) and used okhttp as client engine by developers. Each time we makes a request, a new instance of client is created and closed finally.</p>
<p>During load testing, we got occasionally unusual &quot;io.ktor.client.features.HttpRequestTimeoutException: Request timeout has expired &quot; while request timeout was configured 30 seconds. The service httpclient called had no performance issue and returned in about 60ms around that time to other requests.</p>
<p>What might be wrong? Can we use okhttp as client engine for JVM platform? What is the best engine we should use for JVM platform?  Thank you so much for your help!</p>
<pre><code>fun getClient() : HttpClient {
    val httpClient = HttpClient() {

        if (httpClientLogging) {
            install(Logging) {
                logger = Logger.DEFAULT
                level = LogLevel.BODY
            }
        }

        install(JsonFeature) {
            serializer = KotlinxSerializer(KotlinJson {
                isLenient = true
                ignoreUnknownKeys = true
            })
        }
        install(HttpTimeout) {
            requestTimeoutMillis = 30000 
            connectTimeoutMillis = 30000 
            socketTimeoutMillis  = 30000
        }
    }

    return httpClient
}
</code></pre>
",https://stackoverflow.com/questions/72147285/ktor-how-to-choose-client-engine-for-jvm-platform,"['kotlin', 'timeout', 'client', 'okhttp']",404,False,1,0
Not able to hit the meteor app server using Jmeter,"<p>Required a quick help.</p>
<p>I am preparing a load testing script in jmeter which is hitting the meteor app server.</p>
<p>The problem is that, all the requests are executing without any error but in the server we have a option to see how many request are being hit to the server ,but that counter is not increasing and not able to hit the request.</p>
<p><a href=""https://i.stack.imgur.com/Sz5JV.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Sz5JV.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/nQ9JX.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/nQ9JX.png"" alt=""enter image description here"" /></a></p>
<p>so in above image you can see the connection tab which shows the no. of user currently active, i am hitting more than 50 users but still counter is not getting increased.</p>
",https://stackoverflow.com/questions/71034554/not-able-to-hit-the-meteor-app-server-using-jmeter,"['node.js', 'testing', 'meteor', 'jmeter', 'load-testing']",43,False,0,1
How to push request a CSRF Token in k6 performance testing tool - ReferenceError,"<p>I am quite new to k6 and load testing and I could not figure out why I am not able to push a token from one request to another, to test the login process in a Laravel-built web app. I hope somebody can help me out with this issue.</p>
<p>So my script looks like the following:</p>
<p><strong>First request from where I want the token:</strong></p>
<pre><code>import { parseHTML } from 'k6/html';
import { sleep, group, check } from &quot;k6&quot;;
import http from 'k6/http'

export const options = {}

export default function main() {
  let response

   group('page_1 - http://localhost:81/login', function () {
    response = http.get('http://localhost:81/login', {
      headers: {
        host: 'localhost:81',
        'user-agent':
          'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0',
        accept:
          'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
        'accept-language': 'en-US,en;q=0.5',
        'accept-encoding': 'gzip, deflate, br',
        connection: 'keep-alive',
        cookie:
          'XSRF-TOKEN=eyJpdiI6InY5ckZiaGdFTkI4Q0YyRi8rdmtyNUE9PSIsInZhbHVlIjoiT0NjZXlWWVBubTE5Zjh6cXBmNmZFWTdZKzBjVXlEOGhheGR0aVUybURSSGRZbEFmQ0N2RW5BQ3pOYzBQUXgweXhUaGNpRDhrcTV5SHBJUkEvU0FYTmN3eCswYTFsVnhQdk8wL1dkeHMvOTNXRTU4dnk2WjJ0QWFCSWdyQzEwQkwiLCJtYWMiOiIyODI1YmFkMDI1MzlkOGY4ODEyMDg4YWU5M2I5MWE3NmI3Yjg2ODczYTBkMzhhNmZiZTU5ODNlZDBjOGViNWIzIn0%3D; dev_session=eyJpdiI6ImNGalhPQW9GTWlYLzdsaEg1Qk0zdnc9PSIsInZhbHVlIjoiVU5jQ21OZmkyUDVnUmd2WUxUc3Z5dWhRbzBJTm1HWFhmQ1RuNzdFaEpRb1IzdVlIa1VhUkNXYTBlc2IxMHRMajl6UTAzYmFVTHZheEdTV2RrYU84d3pmdEUxYUlkaVFFT3J5YUVWSE1wVklRektqemVmbjhmK3hLWHo2ZmlMYlgiLCJtYWMiOiI3MTQ2ODg0Yjk4YjhhNjg2Yzg1YjllZjdmMWMyNzVkY2ZmNGM1NjAzYWUyN2NlMmE0ZjAwOTAyNWMwNGI2YmM2In0%3D',
        'upgrade-insecure-requests': '1',
        'sec-fetch-dest': 'document',
        'sec-fetch-mode': 'navigate',
        'sec-fetch-site': 'none',
        'sec-fetch-user': '?1',
        'sec-gpc': '1',
      }, 
    })
      
  // Query the HTML for an input field named &quot;_token&quot;.
  const elem = response.html().find('input[name=_token]');

  // Get the value of the attribute &quot;value&quot; and save it to a variable
  const token = Elem.attr('value');

  // Now you can concatenate this extracted value in subsequent requests that require it.

  // console.log() works when executing k6 scripts locally and is handy for debugging purposes
  console.log('The value of the hidden field is: ' + token);
  
  check(response, { 
      list_OK: (r) =&gt; r.status === 200,
    });
  })
</code></pre>
<p><strong>Second request - I want to use the token from the previous request to log in:</strong></p>
<pre><code>    group('page_2 - http://localhost:81/customlogin', function () {
        const url = 'http://localhost:81/customlogin';
        const payload = JSON.stringify({
    _token: `${token}`,
    email: 'user',
    password: '1234',
    });
  const params = {
    headers: {
        'Content-Type': 'application/json',
      host: 'localhost:81',
          'user-agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0',
          accept:
            'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
          'accept-language': 'en-US,en;q=0.5',
          'accept-encoding': 'gzip, deflate, br',
          'content-type': 'application/x-www-form-urlencoded',
          origin: 'http://localhost:81',
          connection: 'keep-alive',
          referer: 'http://localhost:81/login',
          cookie:
            'XSRF-TOKEN=eyJpdiI6ImlnZFZCUGF1b1FYUlJOdTJHNDd2Vnc9PSIsInZhbHVlIjoiTXhhdnZyQzlPamRFQ21rajdQVEZXcThzWittZndqU2d1L0hyN1BmRTA2a2RBbEpYZUhIUlRpWjh1RWJoQ1Y5dWJoTWVnaXEzZ1NVTjBndG1tenUyN2phY1lMdkIxSzBGek5aYndlSmRxaEhVTGY4WkNCcE1UY3N6YmowUnkrTkciLCJtYWMiOiJlNDIxNjhkYTc1NjYxNTVkNWZhOWViZDYwMGU1ODRkNmQ2ZGU0NjgyMjU5NjIxMzQ0MjYyYzRjMmJkYTVmNjUwIn0%3D; dev_session=eyJpdiI6IndxWXpobW9BUm1GSHNVZkorN0N0OGc9PSIsInZhbHVlIjoiSE82by9aRnBXQjFkNG5JMHFkVzUzc3kraUZOYUdIdjNlUGN6a3c2SjBSZy9TaVNxNmRsWnQzMTltMGt0MGQvWUoxQndyQXFvd2theWViNU94Z2FXaXlGTkc4ZVdERGY2KzRpUUZDZDIxNG85UFhhanRiajBCWElmcmthMWE0R3IiLCJtYWMiOiJjMDllMmRmNGJjNDRlMjM2MmZmZTViOWEwZmUzNWQ3MzNjZDI1NWQwYmU3MjE4OTZiMTRhN2U0NWNkMTcxMDAzIn0%3D',
          'upgrade-insecure-requests': '1',
          'sec-fetch-dest': 'document',
          'sec-fetch-mode': 'navigate',
          'sec-fetch-site': 'same-origin',
          'sec-fetch-user': '?1',
          'sec-gpc': '1',
    },
  };
  response = http.post(url, payload, params);
    console.log(response)
    check(response, {
      list_OK: (r) =&gt; r.status === 200,
    });
  })
</code></pre>
<p>After running the script I get an error message saying:</p>
<p><strong>&gt; ReferenceError: token is not defined</strong></p>
<p>Thank you for your passionate help!</p>
",https://stackoverflow.com/questions/73687855/how-to-push-request-a-csrf-token-in-k6-performance-testing-tool-referenceerror,"['request', 'csrf', 'load-testing', 'k6']",406,True,0,1
Concurrency Problem in spring boot: &quot;out of memory&quot; on 16GB ram allocation but only consuming 6GB,"<blockquote>
<p>&quot;http-nio-8080-exec-3&quot; java.lang.OutOfMemoryError: Java heap space</p>
</blockquote>
<p>Getting above error when calling my rest apis (using elasticsearch as dataabse) when using apache ab with command</p>
<blockquote>
<p>ab -n 20 -n 1000 &quot;localhost:8080/getData&quot;</p>
</blockquote>
<p>running jar using below command</p>
<blockquote>
<p>nohup java -Xms 2g -Xmx 16g server.jar</p>
</blockquote>
<p>Even with these settings java is using 6 - 8GB ram and not more than that but ends up giving OOM issue or sometimes just dies without any error on load testing.</p>
<p>how do I resolve this ? As launching multiple instances under a load balancer will not solve this problem</p>
<p>Below is the error stack:</p>
<pre><code>java.lang.OutOfMemoryError: Java heap space
    at org.apache.coyote.http11.Http11OutputBuffer.&lt;init&gt;(Http11OutputBuffer.java:126)
    at org.apache.coyote.http11.Http11Processor.&lt;init&gt;(Http11Processor.java:238)
    at org.apache.coyote.http11.AbstractHttp11Protocol.createProcessor(AbstractHttp11Protocol.java:636)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:771)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
java.lang.OutOfMemoryError: Java heap space
    at org.apache.coyote.http11.Http11OutputBuffer.&lt;init&gt;(Http11OutputBuffer.java:126)
    at org.apache.coyote.http11.Http11Processor.&lt;init&gt;(Http11Processor.java:238)
    at org.apache.coyote.http11.AbstractHttp11Protocol.createProcessor(AbstractHttp11Protocol.java:636)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:771)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Exception in thread &quot;http-nio-8080-exec-2&quot; Exception in thread &quot;http-nio-8080-exec-3&quot; java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
    at org.apache.coyote.http11.Http11InputBuffer.init(Http11InputBuffer.java:717)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:980)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Exception in thread &quot;http-nio-8080-exec-7&quot; Exception in thread &quot;http-nio-8080-exec-9&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-15&quot; Exception in thread &quot;http-nio-8080-exec-16&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-4&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-11&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-12&quot; java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-14&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-13&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-18&quot; java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-19&quot; java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
Exception in thread &quot;http-nio-8080-exec-29&quot; java.lang.OutOfMemoryError: Java heap space
</code></pre>
",https://stackoverflow.com/questions/74920688/concurrency-problem-in-spring-boot-out-of-memory-on-16gb-ram-allocation-but-o,"['java', 'spring', 'concurrency']",277,True,0,1
I was analyzing the aggregate report ..where i see that maximum time took too high than 99 percentile . where server side cpu utilization was ok,"<p>i have to load testing of the web application . there were approx 10 different HTTPS requests .
Executed script for 30 minute duration. and script executed properly without any error .
I was analyzing the aggregate report ..where i see that maximum time took too high than 99 percentile ..it mean only 1 user took too much type.
and server side there was average load like CPU utilization of application was 45% and CPU utilization of DB instance was very low approx 8 %
I could not understand that then why maximum time was too high .. but 99 percentile was OK
<a href=""https://i.stack.imgur.com/lvBZN.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/lvBZN.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/70930706/i-was-analyzing-the-aggregate-report-where-i-see-that-maximum-time-took-too-hi,"['testing', 'jmeter', 'load']",37,True,0,1
JMeter with MQTT how to count Ramp-up-period(Seconds),"<p><a href=""https://i.stack.imgur.com/xfljJ.png"" rel=""nofollow noreferrer"">enter image description here</a> - I want to test with JMeter to MQTT for load Testing.</p>
<ul>
<li><p>I tried with appliance on/off using JMeter to MQTT it working But i need to clarify
with
<a href=""https://i.stack.imgur.com/xfljJ.png"" rel=""nofollow noreferrer"">enter image description here</a>how to count Ramp-up-period(Seconds) when i connect with appliances.</p>
<p><strong>For example
Number of Threads (Users)=10
Ramp-up-period(Seconds)=5
loop count=1</strong></p>
</li>
</ul>
<p>i used the formula for Ramp-up-period(Seconds)= i need 0.5 second
for each thread *for 10 user =5 Second it is correct formula for
Ramp-up-period(Seconds) MQTT using with appliances on and off
command</p>
",https://stackoverflow.com/questions/73247475/jmeter-with-mqtt-how-to-count-ramp-up-periodseconds,"['jmeter', 'mqtt', 'load-testing']",63,False,0,1
Jmeter- Nginx-Non HTTP response code: org.apache.http.conn.HttpHostConnectException/Non HTTP response message: Connection timed out: connect,"<p>Im executing a load testing using Jmeter. Sometimes I get the error &quot;Non HTTP response code: org.apache.http.conn.HttpHostConnectException/Non HTTP response message: Connect to example.com failed: Connection timed out: connect&quot; even for 100 users. But sometimes it passes 5000 users without any errors. Im unable to find out where exactly is the issue, if its on Nginx webserver or at the network end.</p>
<p>In the nginx configuration, I have added keepalive, keepalive_requests, keepalive_timeout in the upstream module part. Kindly help me with a solution on how to fix this issue and any suggestions to optimize the server configuration.</p>
",https://stackoverflow.com/questions/72788393/jmeter-nginx-non-http-response-code-org-apache-http-conn-httphostconnectexcept,"['nginx', 'jmeter', 'load-testing']",82,False,0,0
You have exceeded the maximum limit for Hyperplane ENIs for your account,"<p>Our AWS CodePipeline recently started failing at one of our steps with this error - <code>You have exceeded the maximum limit for Lambda HyperPlane ENIs for your VPC. Contact AWS support to increase the VPC limit for Lambda HyperPlane ENIs</code>. We do use a lambda for our load-testing. From <a href=""https://aws.plainenglish.io/dealing-with-you-have-exceeded-the-maximum-limit-for-hyperplane-enis-for-your-account-223147e7ab64"" rel=""nofollow noreferrer"">this article I found</a>, it seems lambdas run in their own VPC and need an ENI or a HENI (i.e. HyperPlane ENI) to connect to our VPC.</p>
<p>There is a soft limit of 250 HENIs total for the entire VPC in AWS.</p>
<p>How can I fix this issue? There is no mention of ENIs in our IaC code, so maybe they are automatically created for a lambda function? Is there a resource leak?</p>
",https://stackoverflow.com/questions/72781562/you-have-exceeded-the-maximum-limit-for-hyperplane-enis-for-your-account,"['amazon-web-services', 'aws-codepipeline']",1609,False,0,1
Concurrently Load Test Using Lambda,"<p>I’m trying to perform a load-test to an external integration environment, using a Lambda function. I want to be able to use <code>15</code> concurrent executions of this function to handle thousands of requests and have provided the following config values provoke that;</p>
<ul>
<li><code>EVENT_BATCH_SIZE = 2 // The number of events that will be grouped together and sent to this microservice at once</code></li>
<li><code>EVENT_BATCH_WAIT_TIME_IN_SECS = 1 // The amount of time in seconds that DynamoDB streams will wait before sending the next batch of events to this microservice.</code></li>
<li><code>MAX_INSTANCES = 15 // max concurrent lambdas</code></li>
<li><code>TIMEOUT_IN_MILLIS = 350 // The amount of time in milliseconds that this microservice will wait for a response from the integration api</code></li>
</ul>
<p>I have attempted to send 25,000 events.</p>
<p>However, it appears the concurrent executions never go beyond <code>5</code>, which brings the requests/min rate quite low and not really suitable for load testing… any suggestions on how to force Lambda to use all of the <code>&quot;ReservedConcurrentExecutions&quot;: 15</code>, other than increasing the amount of events created to a huge number?</p>
<p><a href=""https://i.stack.imgur.com/MEDW8.jpg"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/MEDW8.jpg"" alt=""metrics"" /></a></p>
",https://stackoverflow.com/questions/73290848/concurrently-load-test-using-lambda,"['amazon-web-services', 'aws-lambda', 'microservices', 'performance-testing']",132,False,0,0
Guzzle creating too many TCP connections and causing 502 timeouts - Laravel,"<p>When doing load testing with a large amount of concurrent requests on a Laravel endpoint that consumes a 3rd party service using the Guzzle client, it creates a new TCP connection for every request eventually causing 502 timeouts and slowing down the whole application.</p>
<p>I've tried adding the client and the handler as a singleton in the AppServiceProvider, but it didn't make any difference - still does a connection for each request.</p>
<p>Please see below example of using the same handler.</p>
<p><strong>AppServiceProvider register function:</strong></p>
<pre><code>$curlHandler = new CurlHandler();
$this-&gt;app-&gt;singleton(HandlerStack::class, function() use ($curlHandler) {
    return HandlerStack::create($curlHandler));
});
</code></pre>
<p><strong>Usage in controller:</strong></p>
<pre><code>$client = new Client(['handler' =&gt; app(HandlerStack::class)]);
</code></pre>
<p>I'd appreciate if anyone could assist with this please and provide a possible solution.</p>
<p>Thanks</p>
",https://stackoverflow.com/questions/74017612/guzzle-creating-too-many-tcp-connections-and-causing-502-timeouts-laravel,"['php', 'laravel', 'curl', 'guzzle', 'php-curl']",156,False,0,0
Jmeter loadtesting for WebApp -Load not distributed to all API servers,"<p>I have a webapp to be tested. The current configuration is with 4 API servers with hash method as load balancer.</p>
<pre><code>    upstream example{
      hash $remote_addr consistent;
      server abc;
      server def;
       ---
       ---
}
</code></pre>
<p>While performing the load testing, im observing its hitting only 1 server and not all 4 servers.
I also tried using load balancer methods as &quot;ip_hash&quot;,&quot;round robin&quot; and &quot;sticky cookie srv_id;&quot; as i have server with nginx-plus but the application is not working as it needs persistent server for completing 1 user session (uses sticky session).</p>
<p>Is there any way to distribute the load to all servers? Or Am I missing out something
Kindly help me.</p>
",https://stackoverflow.com/questions/72570680/jmeter-loadtesting-for-webapp-load-not-distributed-to-all-api-servers,"['nginx', 'jmeter', 'nginx-config', 'nginx-plus']",82,False,0,1
Finding performance of the NGINX with datadog vs kubectl,"<p>I had made some configuration where I ran some load test and the CPU milli cores usage was different considerably when compared with kubectl.</p>
<p>During load testing I am keeping track of the milli cores via kubectl command each second(script which run kubectl command write the values to text file). The difference would came like 40-50 ml cores and from datadog we can see there is more fluctuation of data compared to kubectl.</p>
<p>Which tool can be trusted here ? or there is any other tools that can be used to find out the proper values.</p>
",https://stackoverflow.com/questions/74687814/finding-performance-of-the-nginx-with-datadog-vs-kubectl,"['kubectl', 'datadog']",24,False,0,0
Same request but different responses from API when employing text-to-speech model on server,"<p>I just trained my text-to-speech model successfully and I decided to deploy the model to the server.
I created an API on server where i request a text and I will be responded with an array which can be converted latter to an audio.
But i got a following problem and some questions:</p>
<p>If i request the same text, i will received the different responses through time. I dont know why it happens.</p>
<p>for example: if i using apache load testing on my api</p>
<pre><code>ab -v 2 -l -k -c 50 -n 1000 -p data.json -T application/json -rk http://my_server_port
</code></pre>
<p>i will received different responses with different content-length like:</p>
<pre><code>{&quot;audio&quot;:[-7.423350325552747e-05,-2.1047946574981324e-05,9.325844075647183e-06,9.124634743784554e-06,-2.4708829187147785e-06,-1.0283396250088117e-06,-6.650391242146725e-06,2.5113597530435072e-06,8.37431798572652e-06,6.80460880175815e-06,-1.5071226755480893e-07,1.6641188267385587e-05,8.38576761452714e-06,-3.0194114515325055e-06,2.1294155885698274e-05,2.1820762412971817e-05,1.7816884792409837e-05,-3.483104592305608e-06,2.768885860859882e-05,2.2586074919672683e-05,5.095521373732481e-06,6.305455826804973e-06,7.078514499880839e-06,-3.3209059893124504e-06,1.9214032363379374e-05,1.783237348718103e-05,7.473254754586378e-06,3.893216216965811e-06,1.7985210433835164e-05,8.278251698357053e-06,2.6474042897461914e-05,1.2571800652949605e-05,1.2030096513626631e-05,1.4547090358973946e-05,1.241670543095097e-05,-1.476818283663306e-06,2.9840850402251817e-05,1.9380806406843476e-05,1.3785952432954218e-05,1.243586575583322e-05,4.494916083785938e-06,8.380916369787883e-06,7.806430403434206e-06,5.0648554861254524e-06,8.04245973995421e-06,1.2896463886136189e-05,8.21663979877485e-06,-5.516363671631552e-06,1.1092388376710005e-05,2.52366007771343e-05,7.738391104794573e-06,-1.235365925822407e-05,6.934483280929271e-06,2.192153078794945e-05,1.3452627172227949e-05,-1.0170933819608763e-05,2.5624203772167675e-05,2.9433518648147583e-05,2.3057138605508953e-05,-6.409165962395491e-06,1.971040001080837e-05,2.2817768694949336e-05,8.069925570453051e-06,-5.092448418508866e-07,2.441259493934922e-05,1.4206249943526927e-05,1.942902417795267e-05,1.315591453021625e-05,1.0455156370881014e-05,5.804651209473377e-06,1.50088089867495e-05,1.125138169300044e-05,2.6653533495846204e-05,9.925555787049234e-06,6.108827619755175e-06,2.224073432444129e-05,1.0918428415607195e-05,-1.4573974112863652e-05,3.271942478022538e-05,2.7123531253891997e-05,1.8350259779253975e-05,3.1701531497674296e-06,2.218450936197769e-05,1.9283193978480995e-05,3.13040186483704e-06,1.2619701919902582e-05,1.0842371011676732e-05,-6.987173946981784e-06,3.5264016332803294e-05,2.993772432091646e-05,1.5872346921241842e-05,1.2875061656814069e-06,2.0096982552786358e-05,1.577859256940428e-05,9.337199116998818e-06,1.1879182238772046e-05,-6.542350092786364e-07,6.403893621609313e-06,1.2006760698568542e-05,5.780885203421349e-06,4.710972007160308e-06,1.664119918132201e-05,1.778664591256529e-05,-7.5927000580122694e-06,1.787409928510897e-05,4.13107882195618e-05,-1.9296661776024848e-05,-2.4432834834442474e-05,7.22612776371534e-06,1.70267576322658e-05,8.565736607124563e-06,8.506499398208689e-06,-2.177361420763191e-05



{&quot;audio&quot;:[-7.420518522849306e-05,-2.073943687719293e-05,9.503228284302168e-06,8.753058864385821e-06,-2.2817434910393786e-06,-8.694430562172784e-07,-8.566342330595944e-06,1.2815601166948909e-06,1.5979132513166405e-05,4.39063660451211e-06,9.161682100966573e-06,2.353204763494432e-05,5.621448053716449e-06,-5.149947355675977e-06,1.8312277461518534e-05,1.5471456208615564e-05,1.9066425011260435e-05,-2.2908733399162884e-07,2.2432970581576228e-05,2.008153205679264e-05,-2.5258216851398174e-07,5.138720098329941e-06,7.110614205885213e-06,-6.9790612542419694e-06,2.1201685740379617e-05,2.0385839889058843e-05,7.894856025814079e-06,-2.7666123969538603e-07,1.7583770386409014e-05,1.1622013516898733e-05,1.849187901825644e-05,9.53527614910854e-06,1.2597358363564126e-05,9.821907951845787e-06,1.9801344024017453e-05,5.4703418754797895e-06,2.9878745408495888e-05,1.5236278159136418e-05,1.8311324311071075e-05,1.3548414244723972e-05,8.351536962436512e-06,9.776646038517356e-06,3.719480218933313e-06,5.1014917517022695e-06,5.9505591707420535e-06,9.178397704090457e-06,1.0406990440969821e-05,-7.715407264186069e-07,7.423148872476304e-06,2.184179174946621e-05,2.6208858798781876e-06,-9.234613571607042e-06,6.285838935582433e-06,1.7693546396913007e-05,2.5428462322452106e-05,-5.639964001602493e-06,3.05264511553105e-05,3.2628930057398975e-05,2.2700047338730656e-05,-1.1032716429326683e-05,2.1791334802401252e-05,2.8623329853871837e-05,9.63995171332499e-06,-3.1881354516372085e-06,2.4671946448506787e-05,1.7006457710522227e-05,1.7634822143008932e-05,1.1291735063423403e-05,1.3884495274396613e-05,4.4872444959764834e-06,1.7274362107855268e-05,1.4909089259163011e-05,2.117067197104916e-05,4.9929199121834245e-06,8.474249625578523e-06,2.3428268832503818e-05,1.0199912139796652e-05,-1.2862687071901746e-05,3.154578371322714e-05,2.3897051505628042e-05,1.119890293921344e-05,7.408782494167099e-06,1.2067095667589456e-05,9.192099241772667e-06,2.529345692892093e-06,1.4922801710781641e-05,1.141111169999931e-05,-8.025640454434324e-06,3.312749686301686e-05,2.9743428967776708e-05,1.2637726285902318e-05,-5.348430818230554e-07,1.5626614185748622e-05,1.3584838598035276e-05,1.0890807971009053e-05,1.0727622793638147e-05,-1.6982817214739043e-06,1.042641724779969e-05,8.150030225806404e-06,2.6541424631432164e-06,1.288183921133168e-05,1.241666450368939e-05,1.9964465536759235e-05,1.673338715590944e-06,6.934636076039169e-06,4.3300377001287416e-05,-1.3977723028801847e-05,-1.9686389350681566e-05,1.644095391384326e-05,3.338007809361443e-05,2.6197794795734808e-06,4.0461658500134945e-05,-1.2347378287813626e-05,4.919712228002027e-05,-1.3089335880067665e-05,4.180472387815826e-06,2.3132655769586563e-05,6.600459073524689e-06,-3.65530354429211e-07,4.3468149669934064e-05,1.1303562814646284e-06,-2.4461316570523195e-05,4.001529305242002e-05,1.649748628551606e-05,1.423891808371991e-05,-2.5155468392767943e-05,-1.3476787898980547e-05,1.6860620235092938e-05,1.0472264193595038e-06,1.9239789253333583e-05,1.005693593469914e-05,-3.714154217959731e-06,2.1199713955866173e-05,-1.9121437162539223e-06,-1.5073590020620031e-06,5.1492752390913665e-06,2.1823527276865207e-05,-5.562197202380048e-06,8.526866622560192e-06,3.9139667933341116e-05,5.2409814088605344e-06,-1.1168492164870258e-05,3.004677091666963e-05,-1.3667826124219573e-06,8.320737833855674e-06,1.325245921179885e-05,-1.1443185030657332e-05,3.506239227135666e-05,-3.1136994493863313e-06,4.878381332673598e-06,-6.193377430463443e-06,-9.109250640904065e-06,2.2133541278890334e-05,1.4225409358914476e-05,-3.450880512900767e-06,2.1175712390686385e-05,-1.1907340194738936e-05,1.8063037714455277e-05,-1.3285753993841354e-05,-3.394313125681947e-06,3.0622471967944875e-05,-3.534668167048949e-06,2.5003388145705685e-05,2.8774020393029787e-05,2.3187438273453154e-05,2.5171757442876697e-05,2.7774323825724423e-05,-1.2312881153775379e-05,3.206680412404239e-05,1.4588803765036573e-07,7.6042674663
</code></pre>
<p>What are the reasons?</p>
",https://stackoverflow.com/questions/73371999/same-request-but-different-responses-from-api-when-employing-text-to-speech-mode,"['api', 'deep-learning', 'text-to-speech', 'audio-processing']",26,False,0,0
loopCount and threadCount in user.property file in Azure pipeline using Azure Load test,"<p>I am trying to pass the loopCount and threadCount values from the jmeter user.properties
file in azure pipeline in the Azure load test.</p>
<p>It is still taking the default value of 1 and just running 1 thread and 1 loop. I have been following the link
&quot;https://learn.microsoft.com/en-us/azure/load-testing/how-to-configure-user-properties?pivots=experience-azp&quot;</p>
<p>Jmeter View for Thread Porperties:</p>
<p><a href=""https://i.stack.imgur.com/HqmaE.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/HqmaE.png"" alt=""enter image description here"" /></a></p>
<p>And i have added these lines in user.property file:</p>
<p><a href=""https://i.stack.imgur.com/sF0u6.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/sF0u6.png"" alt=""User.Property"" /></a></p>
<p>Have also added this in my YAMl file :</p>
<p>properties:
userPropertyFile: 'user.properties'</p>
<p>Not sure where it is going wrong..Any help would be appreciated</p>
",https://stackoverflow.com/questions/72869342/loopcount-and-threadcount-in-user-property-file-in-azure-pipeline-using-azure-lo,"['jmeter', 'azure-pipelines', 'performance-testing', 'load-testing']",120,False,0,1
How do upload the Loader.io verification token in a Strapi app?,"<p>We have an app built with Strapi, let's say, <a href=""https://my-strapi-app.com"" rel=""nofollow noreferrer"">https://my-strapi-app.com</a></p>
<p>I want to load testing of the application</p>
<p>For that, I went with Loader.io</p>
<p>Now before loader.io can start sending the load to the app, I need to verify that the website belongs to me.</p>
<p>For that Loader.io ask me to place a verification token that is accessible via one of the following links:</p>
<ol>
<li><a href=""https://my-strapi-app.com/loaderio-c56xxxxx.txt"" rel=""nofollow noreferrer"">https://my-strapi-app.com/loaderio-c56xxxxx.txt</a></li>
<li><a href=""https://my-strapi-app.com/loaderio-c56xxxxx.html"" rel=""nofollow noreferrer"">https://my-strapi-app.com/loaderio-c56xxxxx.html</a></li>
<li><a href=""https://my-strapi-app.com/loaderio-c56xxxxx/"" rel=""nofollow noreferrer"">https://my-strapi-app.com/loaderio-c56xxxxx/</a></li>
</ol>
<p>What steps can I take to make the verification token accessible at any one of the above URL?</p>
",https://stackoverflow.com/questions/70782494/how-do-upload-the-loader-io-verification-token-in-a-strapi-app,"['load-testing', 'strapi']",291,False,0,1
Is there a way to find out the actual creation time of an access policy?,"<p>I've got a container in a storage account. An access policy has been added programmatically with a start time (in the past) and an expiry time (in the future). I can view these in the portal. However, is there a way to actually seen when the access policy was created?</p>
<p>The reason for wanting to know this is that occasionally during load testing I'm getting a 403 when trying to download from the container. I suspect this is because the access policy hasn't actually been created at that point, which means the SAS token won't work, but I'd like to be able to confirm that.</p>
",https://stackoverflow.com/questions/73386451/is-there-a-way-to-find-out-the-actual-creation-time-of-an-access-policy,['azure-blob-storage'],36,True,1,1
Gunicorn async worker class increase average time while sync is fine,"<p>I am running two separate Flask apps. in containers targeted to be run on AWS ECS. One of them is a CPU-bound service and being called by the other to complete the incoming request. CPU-bound is simply an API (CPU-bound) for the other.</p>
<p>I am using JMeter to do the load testing with a rather small payload (json payload with a few key/value pairs, something really small).</p>
<p>For CPU-bound (math model running on it), I decided to go with sync worker class (2 workers) as suggested in the docs for CPU-bound apps. Also done a load testing on it while threads enabled (async class) and indeed sync worked better than async in terms of average response time.</p>
<p>However, the problem is I observed the same behavior on the other app calling that CPU-Bound API. Simply, it's processing the incoming data (transformation, logging and etc.) and send it to the API via using requests library.</p>
<p>It's ok with sync workers, but when I switch to async the average response time is becoming more and more. As far as I understood from the docs and tutorials on the internet I/O bound operations like making an HTTP call (is it?) should be handled better with threads because such ops not blocks the interpreter due to GIL. However, what I saw is just increasing average response times.</p>
<p>I wonder if it's something totally unexpected or a possible case which needs more details, benchmarking and further configuration?</p>
",https://stackoverflow.com/questions/72683389/gunicorn-async-worker-class-increase-average-time-while-sync-is-fine,['gunicorn'],121,False,2,0
"Cloudfront caching responses with Cache-Control : no-cache, no-store set from origin on traffic spikes(load testing with k6)","<p>Current cache policy is set to</p>
<pre><code>Minimum TTL : 0
Maximum TTL : 31536000
Default TTL : 0 
</code></pre>
<p><strong>Origin Response</strong>
We have a specific url pattern for which we are setting the <code>Cache-Control</code>: <code>no-cache, no-store</code> response header from origin.</p>
<p><strong>Expected behaviour:</strong>
The expected behaviour according to the docs <a href=""https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html#ExpirationDownloadDist"" rel=""nofollow noreferrer"">Managing how long content stays in the cache</a> is all the requests should reach origin server.</p>
<p><strong>Test Condition</strong>
We have been using k6 for load testing and found that under 10 rps for 10s, we get about <code>65% cache hit from cloudfront</code> and only <code>35% cache misses</code> based on the <code>X-Cache</code> header.
We have tried many different combinations of TTL and other possible <code>Cache-Control</code> headers but nothing worked.</p>
<p><strong>Expected Resolution</strong>
We want all the requests with that specific pattern to reach our origin servers.</p>
",https://stackoverflow.com/questions/71274319/cloudfront-caching-responses-with-cache-control-no-cache-no-store-set-from-or,"['amazon-web-services', 'caching', 'amazon-cloudfront', 'cache-control']",331,False,1,0
o.h.engine.jdbc.spi.SqlExceptionHelper : FATAL: query_wait_timeout,"<p>I am using SpringBoot application with PostgreSQL as database, I am doing Load Testing from Jmeter, Database is hosted in azure, when I try to hit 150 Rest request to Single API or endpoint parallelly/concurrently, I am getting below error but with 100 request it works successfully.</p>
<p><strong>ERROR</strong>:</p>
<pre><code>2022-12-21 17:29:43.000  WARN 1 --- [http-nio-8080-exec-60] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 08P01
2022-12-21 17:29:43.000 ERROR 1 --- [http-nio-8080-exec-60] o.h.engine.jdbc.spi.SqlExceptionHelper   : FATAL: query_wait_timeout
2022-12-21 17:29:43.000  WARN 1 --- [http-nio-8080-exec-60] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 08006
2022-12-21 17:29:43.001 ERROR 1 --- [http-nio-8080-exec-60] o.h.engine.jdbc.spi.SqlExceptionHelper   : An I/O error occurred while sending to the backend.
2022-12-21 17:29:43.090  WARN 1 --- [http-nio-8080-exec-61] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 08P01
2022-12-21 17:29:43.090 ERROR 1 --- [http-nio-8080-exec-61] o.h.engine.jdbc.spi.SqlExceptionHelper   : FATAL: query_wait_timeout
</code></pre>
<p>I want to improve the performance of the application in short solve the above error when we auto-scale our application with two instances, 150 request are passed but when we run with a single instance, it gives the above error, I want to understand</p>
<ol>
<li>whether it is a memory issue or a db issue?</li>
<li>How to resolve it ?`</li>
</ol>
",https://stackoverflow.com/questions/74880019/o-h-engine-jdbc-spi-sqlexceptionhelper-fatal-query-wait-timeout,"['spring-boot', 'spring-data-jpa', 'jmeter', 'performance-testing', 'load-testing']",326,False,0,1
504 Gateway Time Out on Load Testing on Apache Instance,"<p>I have a Laravel app deployed over Apache Instance Instance Config</p>
<pre><code>T3A.2xLarge  (vCPU = 4 , Memory 16 GIB)
</code></pre>
<p>I have increased apache timeout to 600 Seconds , configured mpm_prefork Module as below</p>
<pre><code>&lt;IfModule mpm_prefork_module&gt;
        StartServers            16
        MinSpareServers         0
        MaxSpareServers         0
        MaxClients              16
        ServerLimit             256
        MaxRequestWorkers       400
        MaxConnectionsPerChild  25
&lt;/IfModule&gt;
</code></pre>
<p>I have also changed PHP Configuration according.</p>
<p>The RDS DB have a max_connection of 600 so i have configured the maxRequestWorker to 400 to 600 else it is giving me Too Many Connection error</p>
<p>But along with this configuration when we do load testing for <strong>3000 users per 20 Rampup period</strong> It gives <strong>504 Gateway Timeout</strong> Error for Half of the request</p>
<p>But when i see other tools and logs for error it doesnt logs any error</p>
<p>Any suggestion on configuration ?</p>
",https://stackoverflow.com/questions/74599225/504-gateway-time-out-on-load-testing-on-apache-instance,"['amazon-ec2', 'apache2', 'performance-testing', 'apache2-module']",90,False,0,0
Load testing using Locust,"<p>So I have been trying to do some load testing with <a href=""https://github.com/locustio/locust"" rel=""nofollow noreferrer"">Locust</a>, and I got very different results in two scenarios - one using <code>wait_time</code> between 1 and 2 and other between 0.01 and 0.1. <strong>The actual SLA for the service is under 100ms</strong>.</p>
<pre><code>class PerformanceTest(HttpUser):
    wait_time = between(0.01, 0.1) # second case where wait time is between 1 and 2

    @task(1)
    def load_test(self):
    ... # POST request
</code></pre>
<p>Parameter to run : total 100 users, ramping up at 10/sec and testing for 30 sec.</p>
<pre><code>locust -f performance_test.py --headless -u 100 -r 10 --host http://127.0.0.1:8080 -t 30s
</code></pre>
<p><strong>Case 1 : wait time between 0.01 and 0.1</strong> ---&gt; <em>99 percentile is 5100ms</em> (scroll to the right)</p>
<pre><code>Response time percentiles (approximated)
Type     Name                                                                                  50%    66%    75%    80%    90%    95%    98%    99%  99.9% 99.99%   100% # reqs
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
POST     /rest/confidence                                                    1300   1500   1600   1800   2000   2300   4700   5100   5500   5500   5500   1405
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
         Aggregated                                                                           1300   1500   1600   1800   2000   2300   4700   5100   5500   5500   5500   1405
</code></pre>
<p><strong>Case 2 : wait time between 1 and 2</strong> ---&gt; <em>99 percentile is 1100ms</em> (scroll to the right)</p>
<pre><code>Response time percentiles (approximated)
Type     Name                                                                                  50%    66%    75%    80%    90%    95%    98%    99%  99.9% 99.99%   100% # reqs
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
POST     /rest/logincontextclassifications                                                     460    600    670    710    870    970   1100   1100   1300   1300   1300   1251
--------|--------------------------------------------------------------------------------|--------|------|------|------|------|------|------|------|------|------|------|------
         Aggregated                                                                            460    600    670    710    870    970   1100   1100   1300   1300   1300   1251
</code></pre>
<p>Does anyone know why is this happening? Why is the <code>wait_time</code> creating this much of difference 5100ms vs 1100ms?</p>
",https://stackoverflow.com/questions/74293325/load-testing-using-locust,"['python', 'python-3.x', 'performance-testing', 'load-testing', 'locust']",619,True,0,1
How to make load tests for bot on Pyrogram?,"<p>I created a bot on BotFather and wrote code for it in Pyrogram. There is a rather complex logic with a lot of functions and I am looking for an opportunity to conduct load testing of the bot, but I do not understand how it can be carried out.<br />
As an option, I tried to create mock testing of updates, but by simulating an update through MTProto protocol, it turns out that the bot is talking to itself, which is obviously not the right testing...
So I didn't find something about good bot testing, especially for bot on Pyrogram.</p>
<p>I will be really pleasant for useful tips and good examples.</p>
",https://stackoverflow.com/questions/74655460/how-to-make-load-tests-for-bot-on-pyrogram,"['mocking', 'load-testing', 'pyrogram']",97,False,0,1
How to Resolve Keycloak Gateway Timeout Error,"<p>We are getting gateway timeout error when doing load testing with 1000 users producing 90k sessions in an hour on Keycloak.
It seems like Heap is not releasing memory. Here are the configurations</p>
<p>We are using Cluster mode with 2 instances ( each with 2 core and 4GB RAM )</p>
<p><strong>Keycloak Version : 16.0.0</strong>
With default Infinispan in-memory cache configuration</p>
<p><strong>Standalone.config</strong>
JBOSS_JAVA_SIZING=&quot;-Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=512m&quot;</p>
<p><a href=""https://i.stack.imgur.com/mVDXq.png"" rel=""nofollow noreferrer"">Heap Graph</a>
<a href=""https://i.stack.imgur.com/rzyJE.png"" rel=""nofollow noreferrer"">CPU Utilization</a></p>
<p>We also tried increasing heap size upto 8GB but ran into same problem after 4hours. Looked into heap found that old G1 heap memory not releasing its increasing with the rate of 4-5MB/min.</p>
",https://stackoverflow.com/questions/73230233/how-to-resolve-keycloak-gateway-timeout-error,"['heap-memory', 'keycloak']",191,False,0,0
Timestamp server for automated load testing,"<p>I'm looking for a timestamp server that will be safe to use for automated load testing. I need to test hundreds of users digitally signing files using a timestamp server. There are various free TSAs available but I'm afraid of having our auto testing machines IP blocked during testing because it may be considered a DDOS attack.</p>
<p>I've done some searching but haven't been able to find a recommended TSA to use for this.</p>
<p>If there isn't one available, the alternative would be to setup our own TSA on an in house server using something like <a href=""https://www.openssl.org/"" rel=""nofollow noreferrer"">https://www.openssl.org/</a> but was hoping to not need to take this route.</p>
",https://stackoverflow.com/questions/73868972/timestamp-server-for-automated-load-testing,"['timestamp', 'trusted-timestamp', 'timestamping']",94,False,0,0
Python memory shoot,"<p>I have a Python app deployed on my ec2 machine via uwsgi-nginx. There are 2 scenarios.</p>
<ol>
<li>Integrating with a third-party service that takes &gt; 10-15secs</li>
<li>Firing an expensive DB query on AWS RDS that takes &gt; 15secs.</li>
</ol>
<p>I want to understand whether making these 2 operations would shoot up my ec2 memory/RAM. I'm in a dilemma right now, although the CPU process is blocked (for 10-15secs), however, both the above 2 operations are done on external services, ie RDS and third-party servers.</p>
<p>So, in the time of load-testing my app, why should I receive 503? Why does uwsgi stops accepting new requests?</p>
",https://stackoverflow.com/questions/73371318/python-memory-shoot,"['python', 'nginx', 'uwsgi']",22,False,0,0
JMeter Performance testing is failing at OAuth2 authorization - Token expired,"<p>We are doing load testing on a portal which uses Azure AAD authentication using JMeter and it is currently failing with this issue:</p>
<p>{&quot;error&quot;:&quot;invalid_grant&quot;,&quot;error_description&quot;:&quot;AADSTS70008: The provided authorization code or refresh token has expired due to inactivity. Send a new interactive authorization request for this user and resource.\r\nTrace ID: e4af3a0a-84cc-4f7e-854f-09XXXXXX9a00\r\nCorrelation ID: 54b8a5fd-b1ea-4c1f-bfe0-505XXXXXX944\r\nTimestamp: 2022-06-21 12:14:23Z&quot;,&quot;error_codes&quot;:[70008],&quot;timestamp&quot;:&quot;2022-06-21 12:14:23Z&quot;,&quot;trace_id&quot;:&quot;e4af3a0a-84cc-4f7e-854f-0975ea5a9a00&quot;,&quot;correlation_id&quot;:&quot;54b8a5fd-b1ea-4c1f-bfe0-5058478be944&quot;,&quot;error_uri&quot;:&quot;https://login.windows.net/error?code=70008&quot;}</p>
<p>Could you please help us troubleshoot the above issue?</p>
",https://stackoverflow.com/questions/72701288/jmeter-performance-testing-is-failing-at-oauth2-authorization-token-expired,"['oauth-2.0', 'jmeter', 'azure-active-directory']",487,True,0,1
LoadRunner - Calling One Script from another,"<p>I am currently working on the load testing of SAP application where in I need to trigger an action in the SAP Frontend - Fiori Screen and the corresponding response time is available in the SAP Backend (i mean SAP GUI screen).</p>
<p>I need to capture like this because there is no request for the particular action is captured in either Fiddler or via Browser Dev-Tools.</p>
<p>My Question is - Currently I have 2 scripts - <strong>a. SAP Web b. SAP GUI</strong>.</p>
<p>Can i call the SAP GUI script from the SAP Web script to capture the response time and write it in the log file. ?</p>
<p>TIA</p>
",https://stackoverflow.com/questions/73163361/loadrunner-calling-one-script-from-another,"['performance-testing', 'load-testing', 'loadrunner', 'sap-fiori', 'sap-gui']",109,False,0,1
Springboot Hikari Config - Connection Timeout,"<p>I am load testing a REST endpoint in a Springboot application that get products data from MySQL database. Under low traffic it seems to be working fine, but if I send 100 concurrent requests, the calls starts getting slower and I see logs full of the following error</p>
<p><code>o.h.e.jdbc.spi.SqlExceptionHelper - HikariPool-1 - Connection is not available, request timed out after 30000ms. </code></p>
<p><code>org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection] with root cause java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms</code>S</p>
<p>My hikari config looks like below</p>
<pre><code>spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.maximum-pool-size=50
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.minimum-idle=20
spring.datasource.hikari.validation-timeout=3000
spring.datasource.hikari.idle-timeout=60000
</code></pre>
<p>All the tables are linked with each using foreign key, index etc. so shouldn't be time consuming. The table has only around 2000 records and is linked by a couple of small size tables.</p>
<p>I have tried different configs but nothing seems to make it work under load. Please guide me what I am doing wrong.</p>
<p>Many thanks</p>
",https://stackoverflow.com/questions/74478349/springboot-hikari-config-connection-timeout,"['java', 'mysql', 'spring-boot', 'hikaricp']",651,False,1,0
serverless artillery package not converting boolean to boolean values and null values to null,"<p>I am trying to use serverless artillery package for load testing AWS lambda functions(nodejs). I see two issues with this package. As the documentation claims, the boolean values in the input are not taken as boolean values, but are converted to string values. Also when input is null, it is converted to string value just in the case of boolean inputs. This is the link to their documentation -</p>
<p><a href=""https://www.npmjs.com/package/serverless-artillery#2-create-scriptyml"" rel=""nofollow noreferrer"">https://www.npmjs.com/package/serverless-artillery#2-create-scriptyml</a></p>
<p>Am I missing something or are they bugs. When I gave the hardcoded input, I did not see any conversions to string for boolean and null values, but not in the case of inputs through csv file.</p>
",https://stackoverflow.com/questions/71745144/serverless-artillery-package-not-converting-boolean-to-boolean-values-and-null-v,"['aws-lambda', 'load-testing', 'serverless', 'artillery']",98,False,1,0
"Load Testing Service: Kafka Consumer, Aerospike Reader","<p>I have a service with the following architecture.</p>
<ol>
<li>It consumes messages from one Kafka topic.</li>
<li>It reads records from <a href=""https://aerospike.com/"" rel=""nofollow noreferrer"">Aerospike</a>.</li>
<li>It puts enriched message to another Kafka topic.</li>
</ol>
<p>Here is the schema.</p>
<p><a href=""https://i.stack.imgur.com/yG1dF.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/yG1dF.png"" alt=""service schema"" /></a></p>
<p>We're using <a href=""https://locust.io/"" rel=""nofollow noreferrer"">Locust</a> for load testing. The question is how to test
<code>Enricher</code> for the maximum load? I could send messages to Kafka topic. But as far as I understood, I would test Kafka itself but not the <code>Enricher</code>. Because the service cannot consume more messages that it is able to proceed. By the way, Aerospike interaction is also important. I have to be sure that the amount of reads won't break the cluster.</p>
<p>So, what are the common practices to test Kafka consumer in such scenario?</p>
",https://stackoverflow.com/questions/71360790/load-testing-service-kafka-consumer-aerospike-reader,"['performance', 'apache-kafka', 'load-testing', 'aerospike', 'locust']",365,True,1,2
Locust Python: Kafka Consumer in a separate thread,"<p>I'm using <a href=""https://locust.io/"" rel=""nofollow noreferrer"">Locust</a> for load testing. I want to register a Kafka consumer in separate thread to measure the time of message processing. Here is what I got now:</p>
<pre class=""lang-py prettyprint-override""><code>def register_kafka_consumer(topic, environment):
    def poll():
        request_type = 'KAFKA_MESSAGE_CONSUMED'
        consumer = Consumer({
            'bootstrap.servers': bootstrap_servers,
            'group.id': group_id
        })
        consumer.subscribe([topic])
        logging.getLogger().info(&quot;Consumer subscribed to topic '%s': %s&quot;, topic, consumer)
        try:
            while True:
                msg = consumer.poll()
                if msg is not None and not msg.error():
                    # diff_millis calculation
                    environment.events.request.fire(
                        request_type=request_type,
                        name=topic,
                        response=msg.value(),
                        response_time=diff_millis,
                    )
        except Exception:
            logging.getLogger().error(&quot;Error during polling message for consumer: %s&quot;,
                                      str(consumer), exc_info=True)
        finally:
            logging.getLogger().info(&quot;Kafka consumer closed: %s&quot;, str(consumer))

    # here. I'm starting a separate thread
    t = threading.Thread(target=poll)
    t.start()
    logging.getLogger().info(&quot;Thread started&quot;)


@events.init.add_listener
def on_locust_init(environment, **kwargs):
    register_kafka_consumer(raw_topic, environment)
</code></pre>
<p>But according to logs the execution is stuck in <code>while True</code> loop.</p>
<pre><code>[2022-05-11 17:20:53,309] INFO/locust.main: Starting web interface at http://localhost:8089
[2022-05-11 17:20:53,340] INFO/root: Consumer subscribed to topic 'some_topic': &lt;cimpl.Consumer object at 0x10c28c510&gt;
</code></pre>
<p>Because there is no <code>Thread started</code> log entry.</p>
<p>What am I doing wrong? Is there any approach to overcome this issue?</p>
<h2>EDIT 1</h2>
<p>I found <a href=""https://docs.locust.io/en/1.4.2/extending-locust.html"" rel=""nofollow noreferrer"">this page</a> in Locust documentation with an example of greenlets usage. Here is what I got now.</p>
<pre class=""lang-py prettyprint-override""><code>def register_kafka_consumer(topic, environment):
    def poll():
        request_type = 'KAFKA_MESSAGE_CONSUMED'
        consumer = Consumer({
            'bootstrap.servers': bootstrap_servers,
            'group.id': group_id
        })
        consumer.subscribe([topic])
        logging.getLogger().info(&quot;Consumer subscribed to topic '%s': %s&quot;, topic, consumer)
        try:
            while environment.runner.state not in [STATE_STOPPING, STATE_STOPPED, STATE_CLEANUP]:
                time.sleep(1)
                msg = consumer.poll()
                if msg is not None and not msg.error():
                    # diff_millis calculation
                    environment.events.request.fire(
                        request_type=request_type,
                        name=topic,
                        response=msg.value(),
                        response_time=diff_millis,
                    )
        except Exception:
            logging.getLogger().error(&quot;Error during polling message for consumer: %s&quot;,
                                      str(consumer), exc_info=True)
        finally:
            logging.getLogger().info(&quot;Kafka consumer closed: %s&quot;, str(consumer))

    if not isinstance(environment.runner, WorkerRunner):
        gevent.spawn(poll)
        logging.getLogger().info(&quot;Greenlet started&quot;)


@events.init.add_listener
def on_locust_init(environment, **kwargs):
    register_kafka_consumer(raw_topic, environment)
</code></pre>
<p>According to logs, the Kafka consumer is registered now.</p>
<pre><code>[2022-05-12 12:39:03,310] INFO/locust.main: Starting web interface at http://localhost:8089
[2022-05-12 12:39:03,323] NFO/root: Greenlet started
[2022-05-12 12:39:03,323] INFO/locust.main: Starting Locust 2.8.2
[2022-05-12 12:39:03,379] INFO/root: Consumer subscribed to topic 'kafka_topic': &lt;cimpl.Consumer object at 0x111ef4880&gt;
</code></pre>
<p>Though I cannot open the Web UI now. There is only white screen and infinite loading. Perhaps this grenleet task somehow overoccupied the process. Any ideas how to solve this problem?</p>
",https://stackoverflow.com/questions/72202850/locust-python-kafka-consumer-in-a-separate-thread,"['python', 'multithreading', 'apache-kafka', 'load-testing', 'locust']",807,False,1,1
Jmeter getting out of memory exception. What should I change the heap size to?,"<p>I'm trying to do some load testing with jmeter with about 10000 to 15000 load. when i try to run the script in command-line I'm getting the out of memory exception. I have read that you can increase the JVM memory in the JMeter batch file and modify HEAP size in the JMeter batch file up to 80% of total memory.</p>
<p>So what i'm assuming is there's two files to edit. Can someone confirm me what file should be edited exactly please. I'm running jmeter on a 12GB RAM machine and current have not setup any method for distributed testing. So what is the proper way to allocate more memory to jmeter?</p>
",https://stackoverflow.com/questions/74899609/jmeter-getting-out-of-memory-exception-what-should-i-change-the-heap-size-to,"['jmeter', 'out-of-memory']",120,True,-1,1
Python Multiprocessing - Start N threads and run new thread after one completes till timeout and capture results,"<p>I am basically trying create a script to do load testing where I have to keep running N number of queries in parallel and as soon as one thread finishes, I want to kickoff next thread and so on until the timeout seconds are reached. This way at all times N threads are running in parallel. I want to keep it running till the timeout threshold is reached.</p>
<p>I found the ThreadPool to be somewhat close to accomplishing it but I could not figure out how can I add timeout for the main thread and capture all the required information for each child thread before exiting when parent is timed out or killed:</p>
<pre class=""lang-py prettyprint-override""><code>def query_data(q):
    start_time = datetime.datetime.utcnow()
    id = q[0]  # Runs the main logic
    time.sleep(5)
    end_time = datetime.datetime.utcnow()
    run_time = float((end_time - start_time).total_seconds())
    # Captures more details regarding the thread...
    # Add a way to capture results even when the parent timeout is reached
    # so the running/killed threads details can be also captured.
    return {&quot;id&quot;: id, &quot;run_time&quot;: run_time}


def run_processes(queries, max_threads=5):
    # Add timeout for the parent thread and kill parent thread
    pool = ThreadPool(processes=max_threads)
    threads = []
    while queries:
        q = queries.pop()
        threads.append(pool.apply_async(query_data, (q,)))
    result = []
    for t in threads:
        result.append(t.get())
    pool.terminate()
    pool.join()
    return result
</code></pre>
",https://stackoverflow.com/questions/74236302/python-multiprocessing-start-n-threads-and-run-new-thread-after-one-completes,"['python', 'multithreading', 'multiprocessing']",98,True,0,1
Getting &quot;Authentication Credentials Were not Provided&quot; when testing DRF endpoint on Locust,"<p>I am trying to load test an endpoint that allows users to create posts using locust, it is worth mentioning that users need to be authenticated before they can access this endpoint.</p>
<p><strong>Problem:</strong>
When I hit the endpoint using locust, I keep getting the error saying &quot;Authentication provided were not provided&quot; even though I have done so and I have also configured my endpoint to accept token (I am using the default DRF token feature). Any idea what I am doing wrong? any help will be appreciated. Below is my code:</p>
<p><strong>Locust file</strong></p>
<pre><code>class ListPostUser(HttpUser):
    wait_time = between(1, 5)

    @task(3)
    def create_post(self):
        data = {
            &quot;title&quot;: &quot;This is another random title&quot;, 
            &quot;body&quot;: &quot;This is the body of a randomly titled post&quot;
        }
        headers = {
            &quot;Authorization&quot;: &quot;Token 508e650b0ca1613818939089190a1661a75865b1&quot;
        }
        response = self.client.post(&quot;blog/create&quot;, json=data, headers=headers)

        print(response)
        print(response.json())

    @task
    def comment_detail(self):
        self.client.get(&quot;blog/comment/1&quot;)

    @task(2)
    def post_detail(self):
        self.client.get(&quot;blog/post/1&quot;)


    def on_start(self):
        self.client.post(&quot;login/&quot;, json={&quot;username&quot;: &quot;username&quot;, &quot;password&quot;: &quot;mypassword&quot;})
</code></pre>
<p><strong>views file</strong></p>
<pre><code>class CreatePostAPI(APIView):
    permission_classes = (IsAuthenticated, )
    
    def post(self, request):
        serializer = CreatePostSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save(user=self.request.user)
            return Response(serializer.data, status=status.HTTP_200_OK)
</code></pre>
<p>I should also note that the endpoint works fine on POSTMAN, I only get the error when I am load testing with locust</p>
",https://stackoverflow.com/questions/71817274/getting-authentication-credentials-were-not-provided-when-testing-drf-endpoint,"['django', 'locust']",436,False,0,2
AKS randomly change deployments and pods,"<p>I am investigating a robust way to scan my Azure AKS clusters and randomly change the numbers of pods, allocated resources, throttling and if possible limit connections to other resources (E.g. database, queues, cache).</p>
<p>The idea is to have this running against any environment (test, QA, live)</p>
<ul>
<li>Log what changes where made and when</li>
<li>Email that the script has run</li>
<li>Return environment to desired state</li>
</ul>
<p>My questions are:</p>
<p>Is there tooling for this already?</p>
<p>If this possible via CRON/ Azure pipelines?</p>
<p>This is part of my stress development work cycle that includes API integration and load testing to help find weakness and feedback ways we can improve our offering and teams reputation</p>
",https://stackoverflow.com/questions/74327473/aks-randomly-change-deployments-and-pods,"['azure', 'kubernetes', 'azure-aks']",48,True,-1,1
Limit on generating emails via Microsoft Graph,"<p>We are developing a solution that collects users emails (users are employees of the our client company) from Outlook and, based on these emails, calculates metrics, determines user burnout, etc. We are trying to create a test stand for load testing. by generating emails for test users. We use methods <a href=""https://learn.microsoft.com/en-us/graph/api/user-post-messages?view=graph-rest-1.0&amp;tabs=http"" rel=""nofollow noreferrer"">https://learn.microsoft.com/en-us/graph/api/user-post-messages?view=graph-rest-1.0&amp;tabs=http</a> and <a href=""https://learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&amp;tabs=http"" rel=""nofollow noreferrer"">https://learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&amp;tabs=http</a>.
But we have a problem: we receive emails from Microsoft that it is impossible to send more than 10,000 mails per day from one mailbox. How to get around this limitation? It prevents generating data for the test stand</p>
",https://stackoverflow.com/questions/72572737/limit-on-generating-emails-via-microsoft-graph,"['microsoft-graph-api', 'microsoft-graph-mail']",99,False,0,0
Equivalent of Stomp.over in server side code,"<p>Is there a backend (nodejs, java, etc) equivalent of Stomp.over? I want to mimic the client side code like below:</p>
<p><div class=""snippet"" data-lang=""js"" data-hide=""false"" data-console=""true"" data-babel=""false"">
<div class=""snippet-code"">
<pre class=""snippet-code-js lang-js prettyprint-override""><code>var socket = null;
var stompClient = null;
var connectCallback = function() {
  console.log(stompClient.ws._transport.url); //get autogenerated url and session id here
}
var websocketConnect = function(){
  socket = new SockJS(""/websocket"");
  stompClient = Stomp.over(socket);
  stompClient.connect({}, connectCallback);
}
websocketConnect();</code></pre>
<pre class=""snippet-code-html lang-html prettyprint-override""><code>&lt;script type=""text/javascript"" src=""https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.4.0/sockjs.min.js""&gt;&lt;/script&gt;
&lt;script type=""text/javascript"" src=""https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js""&gt;&lt;/script&gt;</code></pre>
</div>
</div>
</p>
<p>This is to get the url returned by Stomp.over below, especially the generated sessionid:</p>
<pre><code>wss://&lt;base domain&gt;/websocket/&lt;sessionid&gt;/
</code></pre>
<p>I want to use it for testing in k6, since it needs a wss url:</p>
<pre><code>ws.connect(url, null, function (socket) {...}
</code></pre>
<p>The reason for this is I want to spawn different urls/sessions, mimicking different users opening their browsers and connecting to a base websocket url, then sending/receiving data to each using k6, thereby load testing it.</p>
<p>I have tried using node libraries such as stompjs and sockjs-client, but it differs in behavior, the object generated does not have an append a sessionid or similar, both just takes a full url in their constructor.</p>
",https://stackoverflow.com/questions/70589606/equivalent-of-stomp-over-in-server-side-code,"['javascript', 'websocket', 'sockjs', 'k6', 'stompjs']",280,False,1,0
Reason for peculiar / descending triangle latency spike pattern during load tests,"<p>I am having a hard time to identify the underlying issue for the following latency pattern for the max percentile of my application:
<a href=""https://i.stack.imgur.com/ooxwN.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/ooxwN.png"" alt=""enter image description here"" /></a></p>
<p>This is a gatling chart that shows 4 minutes of load testing. The first two minutes are warmup of the same scenario (thats why it has no latency graph).</p>
<p>Two triangles (sometimes more) with a nearly identical slope are clearly visible and reproducible across multiple test runs, no matter how many application instances we deploy behind our load balancer:
<a href=""https://i.stack.imgur.com/zRv9K.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/zRv9K.png"" alt=""enter image description here"" /></a></p>
<p>I am looking for more paths to investigate as I have a hard time googling for this pattern - it strikes me as particularly odd that this triangle is not &quot;filled&quot; but just consists of spikes. Furthermore the triangle feels &quot;inverted&quot;: if this would be a scenario with ever-increasing load (which it isn't) I would expect to see this kind of triangle manifest with an inverted slope - this slope just doesn't make any sense to me.</p>
<p>Technical context:</p>
<ul>
<li>This is for a Spring Boot application with a PostgreSQL database in AWS</li>
<li>There are 6 pods deployed in our Kubernetes cluster, auto-scaling was disabled for this test</li>
<li>Keep-alive is used by our Gatling test <strong>(see answer below, turns out this was a lie)</strong></li>
<li>Kubernetes ingress configuration is left as-is which implicates keep-alive to each upstream if I read the defaults correctly</li>
<li>Both the database and CPU per pod are not maxed out</li>
<li>The network uplink of our load testing machine is not maxed out and the machine does nothing else besides running the load test</li>
<li>The load (requests / sec) on the application is nearly constant and not changing after the warmup / during the measurement</li>
<li>Garbage collection activity is low</li>
</ul>
<p>Here is another image to demonstrate the &quot;triangle&quot; before we made some application-side optimizations to request latency:
<a href=""https://i.stack.imgur.com/wCA8a.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/wCA8a.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/72878564/reason-for-peculiar-descending-triangle-latency-spike-pattern-during-load-test,"['spring-boot', 'kubernetes-ingress', 'load-testing', 'gatling', 'latency']",86,True,1,1
I&#39;m trying to make load testing of my Telegram bot,"<p>I'm trying to make load testing of my Telegram bot. So I tried to use HTTP(s) Test Script Recorder for that in JMeter and ran Proxy in Firefox for that, while did manipulations in my Telegram bot, but all that I had was just some random *.png files recorded in JMeter, which say me nothing and moreover, they came just ones and after records nothing, when I continue to work in the bot. When I record another sites request, everything is fine, but not Telegram. Read the following question and Rubycon says that there is only single Http Api request, but don't know which one and how to find that.
<a href=""https://stackoverflow.com/questions/52294658/telegram-bot-load-testig"">Telegram Bot load testig</a>
Can somebody help with that?</p>
",https://stackoverflow.com/questions/72511131/im-trying-to-make-load-testing-of-my-telegram-bot,"['jmeter', 'load', 'telegram']",199,False,0,1
How to measure time taken by a method in a Xamarin app using Xamarin UI Test and App Center,"<p>I have recently added a Xamarin UI Test project for my Xamarin app and configured it with App Center to run the test automation on App center and I need to measure how much time is taken by a method or api call to process and show the result and getting this time in the form of logs for load testing.</p>
<p>For e.g After clicking a search button how much time the api took to display the results? How can I measure this?</p>
<p>I tried using this code</p>
<pre><code>var st = new Stopwatch();
st.Start();
app.Tap(&quot;SearchButton&quot;);
                
var element = app.WaitForElement(q =&gt; q.Marked(&quot;Got Results&quot;), &quot;Time Out occured&quot;, new TimeSpan(0,0,50));

st.Stop();
var time = st.ElapsedMilliseconds;
</code></pre>
<p>the 'SearchButton' click is actually taking 30secs to process the api call and display results in UI but the 'time' variable is not counting it.</p>
<p>I appreciate any help on this issue.</p>
",https://stackoverflow.com/questions/73799440/how-to-measure-time-taken-by-a-method-in-a-xamarin-app-using-xamarin-ui-test-and,"['xamarin', 'ui-automation', 'appcenter']",80,False,0,1
MySql database Optimisation with multithreading,"<p>I need to implement multithreading in Java Springboot. While doing load testing with 10000 requests, I am facing JDBC related issues:</p>
<ol>
<li><p>JDBC Connection exception – this is resolved by using hikariCP with these configured values:</p>
<pre><code> #maximum number of milliseconds that a client will wait for a connection
 spring.datasource.hikari.connection-timeout = 5000

 #minimum number of idle connections maintained by HikariCP 
 #in a connection pool
 spring.datasource.hikari.minimum-idle= 10 

 spring.datasource.hikari.maximum-pool-size= 203
 spring.datasource.hikari.idle-timeout=5000 
 spring.datasource.hikari.max-lifetime= 1000 
 spring.datasource.hikari.auto-commit =false
</code></pre>
</li>
<li><p>PessimisticLockException – I am facing this with increased thread count (more than 100) and with the Hikari max pool set to 205.</p>
</li>
</ol>
<p>My doubt is with 10000 requests. How can I analyse the optimum performance? What tweaks  are required? (buffer pool, timeouts)</p>
<p>I am using <code>threadpooltask</code> executor with values:</p>
<pre><code>thread.corepool.size = 50
thread.maxpool.size = 100
</code></pre>
<p>Also, to increase performance, we have multiple pods running for the same instance.
I saw one blog saying that more database connections slows the performance: <a href=""https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing"" rel=""nofollow noreferrer"">https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing</a></p>
<p>I am using an AWS RDS 8xlarge instance.</p>
",https://stackoverflow.com/questions/71396297/mysql-database-optimisation-with-multithreading,"['java', 'mysql', 'spring-boot', 'jdbc', 'hikaricp']",737,False,0,1
Load balancing with nginx lower RPS than single node,"<p>I setup a nginx load balancer for 4 blockchain clients and am getting lower requests per second by load testing with <a href=""https://github.com/grafana/k6"" rel=""nofollow noreferrer"">k6</a> through the load balancer than I do if I target an individual node. All of the nodes are responding to equal amount of traffic and none of them seem to be responding slower than the next.</p>
<p>The load balancer is setup with the <a href=""https://github.com/bitnami/charts/tree/master/bitnami/nginx"" rel=""nofollow noreferrer"">bitnami nginx helm chart</a> and the blockchain clients are running on their own VMs.</p>
<p><code>**nginx.conf**</code></p>
<pre><code>    # Based on https://www.nginx.com/resources/wiki/start/topics/examples/full/#nginx-conf
    # user              www www;  ## Default: nobody;

    load_module modules/ngx_http_geoip2_module.so;
    load_module modules/ngx_stream_geoip2_module.so;

    worker_processes  auto;
    error_log         &quot;/opt/bitnami/nginx/logs/error.log&quot;;
    pid               &quot;/opt/bitnami/nginx/tmp/nginx.pid&quot;;

    events {
        worker_connections  1024;
    }

    http {
        include       mime.types;
        default_type  application/octet-stream;
        log_format    main '$remote_addr - $remote_user [$time_local] '
                          '&quot;$request&quot; $status  $body_bytes_sent &quot;$http_referer&quot; '
                          '&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;';
        access_log    &quot;/opt/bitnami/nginx/logs/access.log&quot;;
        add_header    X-Frame-Options SAMEORIGIN;

        client_body_temp_path  &quot;/opt/bitnami/nginx/tmp/client_body&quot; 1 2;
        proxy_temp_path        &quot;/opt/bitnami/nginx/tmp/proxy&quot; 1 2;
        fastcgi_temp_path      &quot;/opt/bitnami/nginx/tmp/fastcgi&quot; 1 2;
        scgi_temp_path         &quot;/opt/bitnami/nginx/tmp/scgi&quot; 1 2;
        uwsgi_temp_path        &quot;/opt/bitnami/nginx/tmp/uwsgi&quot; 1 2;

        sendfile           on;
        tcp_nopush         on;
        tcp_nodelay        off;
        gzip               on;
        gzip_http_version  1.0;
        gzip_comp_level    2;
        gzip_proxied       any;
        gzip_types         text/plain text/css application/javascript text/xml application/xml+rss;
        keepalive_timeout  65;
        ssl_protocols      TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers        HIGH:!aNULL:!MD5;
        client_max_body_size 80M;
        server_tokens off;

        include  &quot;/opt/bitnami/nginx/conf/server_blocks/*.conf&quot;;
    }
</code></pre>
<p><code>**serverBlock**</code></p>
<pre><code>upstream backend {
  server 1.2.3.4:8000;
  server 2.2.3.4:8000;
  server 3.2.3.4:8000;
  server 4.2.3.4:8000;
}
server {
  listen 0.0.0.0:8080;
  location / {
      proxy_pass http://backend;
  }

  location /status {
    stub_status on;
    access_log   off;
    allow 127.0.0.1;
    deny all;
  }
}
</code></pre>
<p>Nothing is standing out from the nginx metrics or from inspecting the resource uses of the containers.</p>
<p>Does anyone have any suggestions for what to look into next to debug this or what the culprit could be?</p>
<p>Thank you for your help.</p>
",https://stackoverflow.com/questions/72340382/load-balancing-with-nginx-lower-rps-than-single-node,"['nginx', 'load-balancing']",121,True,0,1
Load Testing with Selenium? What are the alternatives for my situation,"<p>Currently I'm trying to run a load test which walks through a uniquely created URL. I know JMeter is often used for load testing, but I was specifically asked to do it through something like Selenium that uses real browsers to create the URL then open that URL and complete the steps within the URL. I have created a Selenium script that can easily do this, but I need to do this 100 times concurrently and can't find a good way to do.
Is there a way to do this? I've looked into Selenium Grid but I'm not sure if I even have enough nodes to run 100 browsers concurrently. Please if you have recommendations for software or a different method of doing this I would love to hear it. Thank you!</p>
",https://stackoverflow.com/questions/73146964/load-testing-with-selenium-what-are-the-alternatives-for-my-situation,"['selenium', 'load-testing']",73,False,-1,2
JSF View State Auto Change and not able to handle it in JMETER,"<p>I am doing load testing but facing an issue related to ViewState, In our application View state along with csrf token shows in login, So by extracting using CSS Extractor I am to login and see the homepage, but once I navigate to any of page e.g TransactionHistory which hit using Post request i get an error of internal server inside request we are passing ViewState and page details but in response, it shows 500 internal server error I tried extracting ViewState but after extracting it did not work for me as ViewState keep changing, So need help regarding this how can we handle this.
[enter image description here][1] [1]: https://i.stack.imgur.com/EL2jr.png
[enter image description here][2]
[2]: https://i.stack.imgur.com/iLLjn.png
[enter image description here][3]
[3]: https://i.stack.imgur.com/6zbW4.png
[enter image description here][4]
[4]: https://i.stack.imgur.com/r9Kv1.png</p>
",https://stackoverflow.com/questions/72577639/jsf-view-state-auto-change-and-not-able-to-handle-it-in-jmeter,"['jmeter', 'viewstate']",24,False,0,1
Group by HTTP request parameters in a graph,"<p>I'm using JMeter and looking to do load testing on a specific URL that can use a number of parameters (like ?param=value1 then value2, then...). For the needs of testing, I have a CSV file with multiple sets of these parameters.</p>
<p>I have already created my request &amp; CSV data set and when I'm running the test, I can see it runs over the different datasets. But the problem is that my graph only displays the response time for every request of the sampler, without grouping it by dataset.</p>
<p>I want to get a graph with multiple lines, one per dataset. E.g first data set is param1=value1, second one is param1=value2, etc.</p>
<p>Am I forced to create a sampler per dataset, or is it possible to have a listener do that?</p>
<p>Thank you</p>
",https://stackoverflow.com/questions/73647508/group-by-http-request-parameters-in-a-graph,"['graph', 'jmeter']",17,True,0,1
Service Unavailable when Load Testing Azure APIM,"<p>I am trying to perform a load testing using NBomber and JMeter of an .Net 6 API hosted on Azure App Service with default 10 minimum instances.
So when I load test the App Service API directly using NBomber I always gets 100% result like Ok()
But when I load test the same API via Azure APIM my more than 95%(yes random request do succeed) or some sometimes even 100% results fail either due to socket exhaust or SSL or sometimes service unavailable(even though App Service is up and I can see no logs in the log stream).</p>
<p>My APIM is in Premium Plan.
No policy has been set
No Rate Limit or Throttling has been set.</p>
<p>Struggling to figure it out.</p>
<p>(Well the same issue I am facing when exposing an AKS Cluster External IP via APIM)</p>
",https://stackoverflow.com/questions/73884011/service-unavailable-when-load-testing-azure-apim,"['.net', 'azure', 'azure-aks', 'azure-api-management', 'azure-appservice']",49,False,0,0
How to increase throughput in Kafka with a constant number of partitions and dynamic number of consumers,"<p>I have 6 partitions for a certain topic, and 4 consumers consuming from that topic. The producer produces in a round robin manner to the partitions.
The 4 consumers belong in the same consumer group.</p>
<p>I can see with some load testing that 2 of the partitions are getting consumed very slowly, while the others are almost always empty. I would like to increase my throughput as much as possible.</p>
<ol>
<li>What will be the the the default partition assignment strategy from kafka?</li>
<li>If the load increases at some time I would like to scale my consumers up to 6 (same number as partitions so it is a 1-1 consumer to partition). In the 4 consumers scenario to achieve the best possible throughput should I limit my producer to produce only to 4 partitions until I have increased the number of my consumers?</li>
</ol>
",https://stackoverflow.com/questions/72602332/how-to-increase-throughput-in-kafka-with-a-constant-number-of-partitions-and-dyn,"['apache-kafka', 'kafka-consumer-api', 'kafka-producer-api', 'kafka-partition']",467,True,0,2
Unable to perform RMQ publish from Locust &quot;BlockingIOError: [WinError 10035]&quot;,"<p>My project requires client sending messages directly to Rabbit MQ and we need to do load testing for this.</p>
<p>I tried PIKA, works fine in a plain python file but as soon as I tried to implement this in Locust I start getting error due to compatibility issues</p>
<p>I tried PIKA Async, B-Rabbit, etc.. none works with Locust(Gevent)</p>
<p>I dont have to integrate with locust but just importing locust on these python file is enough to trigger the error.</p>
<p>I have read in several blogs that Gevent is not compatible with pika.</p>
<pre><code>class RMQ:

    def __init__(self) -&gt; None:
        self.connection = pika.BlockingConnection(pika.ConnectionParameters('localhost', credentials=pcredentails))
        self.channel = self.connection.channel()

    def connect(self):
        self.channel.basic_publish(exchange='locust_events', routing_key='python3', body='Hello World!')
        print(&quot;[x] Sent 'Hello World!'&quot;)

    def close(self):
        self.channel.close()
        self.connection.close()
</code></pre>
<p>Error:</p>
<pre><code>BlockingIOError: [WinError 10035] A non-blocking socket operation could not be completed immediately
</code></pre>
<p>Some one please let me know a possible way to solve this</p>
<p>Note: B-rabbit did say it is thread safe but it still throws error when I publish &quot;Time out reading from server&quot; with 12s delay, this happens only when I use locust else it is fast</p>
",https://stackoverflow.com/questions/74753082/unable-to-perform-rmq-publish-from-locust-blockingioerror-winerror-10035,"['python', 'rabbitmq', 'locust', 'pika']",143,True,0,3
Loadrunner - Testing with different Excel uploads,"<p>I am currently load testing a feature in <strong>Web Application</strong> with <em><strong>Load Runner 2020</strong></em> tool which involves <strong>upload of different excel files (in xlsx format) for every iteration</strong>. 1 excel file per iteration needs to be uploaded. Has anyone worked on this type of scenario before, would request to please share the solution. I am able to upload one excel files for multiple iterations but facing issues when there is a need to upload different excel files for every iterations. I can observe that the payload in my script is generating as</p>
<pre><code>PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00!\\x8CF:s\\x01\\x00\\x00\\x8C\\x05\\x00\\x00\\x13\\x00\\x08\\x02[Content_Types].xml \\xA2\\x04\\x02(\\xA0\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00&quot;
        &quot;\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00&quot;
        &quot;\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xC4T\\xC9n\\xC20\\x10\\xBDW\\xEA?D\\xBEV\\x89\\x81CUU\\x04\\x0E]\\x8E-\\x12\\xF4\\x03L&lt;!\\x16\\x89my\\x06\n&quot;
        &quot;\\x7F\\xDF\\x89YTU,B \\xF5\\x92(\\xB1\\xE7m\\xF6L\\x7F\\xB8j\\xEAd\t\\x01\\x8D\\xB3\\xB9\\xE8f\\x1D\\x91\\x80-\\x9C6v\\x96\\x8B\\xAF\\xC9{\\xFA$\\x12$e\\xB5\\xAA\\x9D\\x85\\\\\\xAC\\x01\\xC5pp\\x7F\\xD7\\x9F\\xAC=`\\xC2\\xD5\\x16sQ\\x11\\xF9g)\\xB1\\xA8\\xA0Q\\x989\\x0F\\x96WJ\\x17\\x1AE\\xFC\\x19f\\xD2\\xABb\\xAEf {\\x9D\\xCE\\xA3,\\x9C%\\xB0\\x94R\\x8B!\\x06\\xFDW(\\xD5\\xA2\\xA6\\xE4m\\xC5\\xBF7J\\xA6\\xC6\\x8A\\xE4e\\xB3\\xAF\\xA5\\xCA\\x85\\xF2\\xBE6\\x85\&quot;\\x16*\\x97V\\xFF!I]Y\\x9A\\x02\\xB4+\\x16\rCg\\xE8\\x03(\\x8D\\x15\\x005u\\xE6\\x83a\\xC60\\x06\&quot;6\\x86B\\x1E\\xE4\\x0CP\\xE3e\\xA4[W\\x19WFaX\\x19\\x8F\\x0Fl\\xFD\\x08C\\xBBr\\xDC\\xD5\\xB6\\xEE\\x93\\x8F#\\x18\r\\xC9H\\x05\\xFAP\r{\\x97\\xABZ~\\xBB0\\x9F:7\\xCFN\\x83\\\\\\x1AM\\x8C(k\\x94\\xB1;\\xDD'\\xF8\\xE3f\\x94\\xF1\\xD5\\xBD\\xB1\\x90\\xD6_\\x04\\xBEPG\\xEF\\x9Ft\\x10\\xDFu\\x90\\xF1y}\\x14\\x11\\xE6\\x8Cq\\xA4u\rx\\xEB\\xE3\\x8F\\xA0\\xE7\\x98+\\x15@\\x8F\\x89\\xBBhvs\\x01\\xBF\\xB1O\\xE9\\xE0\\xD6\\x1E\\x05\\xE7\\x91\\xA7G\\x80\\xCBS\\xD8&quot;
        &quot;\\xB5j[\\x9Dz\\x06\\x82@\\x06\\xF6\\xCDz\\xE8\\xD2\\xEF\\x19y\\xF4\\\\\\x1D;\\xB4\\xB3M\\x83&gt;\\xC0-\\xE3,\\x1D\\xFC\\x00\\x00\\x00\\xFF\\xFF\\x03\\x00PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00\\xB5U0#\\xF4\\x00\\x00\\x00L\\x02\\x00\\x00\\x0B\\x00\\x08\\x02_rels/.rels \\xA2\\x04\\x02(\\xA0\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00&quot;
        &quot;\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00&quot;
        &quot;\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xAC\\x92MO\\xC30\\x0C\\x86\\xEFH\\xFC\\x87\\xC8\\xF7\\xD5\\xDD\\x90\\x10BKwAH\\xBB!T~\\x80I\\xDC\\x0F\\xB5\\x8D\\xA3$\\x1B\\xDD\\xBF'\\x1C\\x10T\\x1A\\x83\\x03G\\x7F\\xBD~\\xFC\\xCA&quot;
        &quot;\\xDB\\xDD&lt;\\x8D\\xEA\\xC8!\\xF6\\xE24\\xAC\\x8B\\x12\\x14;#\\xB6w\\xAD\\x86\\x97\\xFAqu\\x07*&amp;r\\x96Fq\\xAC\\xE1\\xC4\\x11v\\xD5\\xF5\\xD5\\xF6\\x99GJy(v\\xBD\\x8F*\\xAB\\xB8\\xA8\\xA1K\\xC9\\xDF#F\\xD3\\xF1D\\xB1\\x10\\xCF.W\\x1A\t\\x13\\xA5\\x1C\\x86\\x16=\\x99\\x81Z\\xC6MY\\xDEb\\xF8\\xAE\\x01\\xD5BS\\xED\\xAD\\x86\\xB0\\xB77\\xA0\\xEA\\x93\\xCF\\x9B\\x7F\\xD7\\x96\\xA6\\xE9\r?\\x889L\\xEC\\xD2\\x99\\x15\\xC8sbg\\xD9\\xAE|\\xC8l!\\xF5\\xF9\\x1AUSh9i\\xB0b\\x9Er:\&quot;y_dl\\xC0\\xF3D\\x9B\\xBF\\x13\\xFD|-N\\x9C\\xC8R\&quot;4\\x12\\xF82\\xCFG\\xC7%\\xA0\\xF5\\x7FZ\\xB44\\xF1\\xCB\\x9Dy\\xC47\t\\xC3\\xAB\\xC8\\xF0\\xC9\\x82\\x8B\\x1F\\xA8\\xDE\\x01\\x00\\x00\\xFF\\xFF\\x03\\x00PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00J\\xA9\\xA6a\\xFA\\x00\\x00\\x00G\\x03\\x00\\x00\\x1A\\x00\\x08\\x01xl/_rels/workbook.xml.rels \\xA2\\x04\\x01(\\xA0\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00&quot;
        &quot;\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00&quot;
        &quot;\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xBC\\x92\\xCDj\\xC40\\x0C\\x84\\xEF\\x85\\xBE\\x83\\xD1\\xBDq\\x92\\xFEP\\xCA:{)\\x85\\xBD\\xB6\\xDB\\x070\\xB1\\x12\\x87Mlc\\xA9?y\\xFB\\x9A\\x94\\xEE6\\xB0\\xA4\\x97\\xD0\\xA3$4\\xF31\\xCCf\\xFB9\\xF4\\xE2\\x1D#u\\xDE)(\\xB2\\x1C\\x04\\xBA\\xDA\\x9B\\xCE\\xB5\n&quot;
        &quot;^\\xF7OW\\xF7 \\x88\\xB53\\xBA\\xF7\\x0E\\x15\\x8CH\\xB0\\xAD./6\\xCF\\xD8kNOd\\xBB@\&quot;\\xA98R`\\x99\\xC3\\x83\\x94T[\\x1C4e&gt;\\xA0K\\x97\\xC6\\xC7As\\x1Ac+\\x83\\xAE\\x0F\\xBAEY\\xE6\\xF9\\x9D\\x8C\\xBF5\\xA0\\x9Ai\\x8A\\x9DQ\\x10w\\xE6\\x1A\\xC4~\\x0C\\xC9\\xF9om\\xDF4]\\x8D\\x8F\\xBE~\\x1B\\xD0\\xF1\\x19\\x0B\\xC9\\x89\\x0B\\x93\\xA0\\x8E-\\xB2\\x82i\\xFC^\\x16Y\\x02\\x05y\\x9E\\xA1\\\\\\x93\\xE1\\xC3\\xC7\\x03YD&gt;q\\x1CW$\\xA7K\\xB9\\x04S\\xFC3\\xCCb2\\xB7k\\xC2\\x90\\xD5\\x11\\xCD\\x0B\\xC7T&gt;:\\xA53[/%s\\xB3*\\x0C\\x8F}\\xEA\\xFA\\xB1+4\\xCD?\\xF6rV\\xFF\\xEA\\x0B\\x00\\x00\\xFF\\xFF\\x03\\x00PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00R\\xAC\\xBF8\\x01\\x02\\x00\\x00\\x12\\x04\\x00\\x00\\x0F\\x00\\x00\\x00xl/workbook.xml\\xA4SMs\\xD30\\x10\\xBD3\\xC3\\x7F\\xD0\\xE8\\xC0\\xAD\\xF1\\xC7\\x84\\xB4cbwJ\n&quot;
        &quot;S_J\\xC8$\\xED%\\x17E\\x96cM\\xF4\\x85$\\xE3\\xE6\\xDF\\xB3\\xB21\\x18r)\\xC3EZ\\xAD\\xA4\\xB7\\xFB\\xDE\\xEE.o_\\xA4@\\xDF\\x99u\\\\\\xAB\\x1C'\\xB3\\x18#\\xA6\\xA8\\xAE\\xB8:\\xE6x\\xB7\\xFD|u\\x83\\x91\\xF3DUDh\\xC5r|f\\x0E\\xDF\\x16o\\xDF,;mO\\x07\\xADO\\x08\\x00\\x94\\xCBq\\xE3\\xBD\\xC9\\xA2\\xC8\\xD1\\x86I\\xE2f\\xDA0\\x057\\xB5\\xB6\\x92x8\\xDAc\\xE4\\x8Ce\\xA4r\rc^\\x8A(\\x8D\\xE3E$\tWx@\\xC8\\xECk0t]s\\xCA\\xEE5m%S~\\x00\\xB1L\\x10\\x0F\\xE9\\xBB\\x86\\x1B7\\xA2I\\xFA\\x1A8I\\xEC\\xA95WTK\\x03\\x10\\x07.\\xB8?\\xF7\\xA0\\x18I\\x9A\\x95G\\xA5-9\\x08\\xA0\\xFD\\x92\\xBC\\x1F\\x91\\xC1\\xBC\\x80\\x96\\x9CZ\\xEDt\\xEDg\\x00\\x15\rI^\\xF0M\\xE2(I\\x06\\xCA\\xC5\\xB2\\xE6\\x82=\r\\xB2#b\\xCC#\\x91!\\x8A\\xC0H\\x10\\xE7?U\\xDC\\xB3*\\xC7\\x0B8\\xEA\\x8E\\xFD\\xE1\\xB0\\xAD\\xF9\\xD8r\\x01\\xB7\\xC9|\\x9E\\xC68*~\\x95bmQ\\xC5j\\xD2\n&quot;
        &quot;\\xBF\\x85\&quot;\\x8C\\xF0\\xF0p1\\x8F\\x93$\\xBC\\x04Rw\\xC23\\xAB\\x88g+\\xAD&lt;h\\xF8S\\xFD\\xFF\\xD5\\xAB\\xC7^5\\x1A\\xAA\\x836\\xEC[\\xCB-\\x83\\xA6\\x08\\xB2\\x15KX\t\\xCD\\xC8\\xC1\\xAD\\x89oPkE\\x8EW\\xD9~\\xE7\\x80\\xFE\\xFE\\xB1\\xDC\\xDCm\\x1F\\xCA\\xD9z\\xF3\\xE5\\xEB\\xFE^wJh\\xE8\\x91\\xFDDlrY\\xC9\\x7F\\x90\\x9B\\xD0\\xC0;\\x02\\xE2Cr\\x83\\xFD\\xB7\\x08\\xC52\\xB4\\xF2\\x13g\\x9D\\xFB-g8\\xA2\\x97g\\xAE*\\xDD\\xE5\\x18\\x06\\xE3&lt;\\xB1\\xBB\\xDE\\xFD\\xCC+\\xDF\\xE48\\xBD\\xB9\\xBE\\x86\\xFB\\xC1\\xF7\\xC0\\xF8\\xB1\\xF1\\xA0z\\x9A\\x823\\x04\\x9F`\\xF7\\xDD\\x0F1\\xFA\\x1D\\xA9\\xBE\\xEA#k\\xF4\\x8EH\\xF3\\x01\\xEDL\\x90\\x00\\xA6.\\x0CJ\\x19\\xEA\\x8C\\x91\\xCD8\\x18\\xB6\\xAC\\xFA*N?o\\x19m\\x14\\xA7D\\xA0R\\xD5z\\xF2+\\x9D\\xFCJ\\xFB4\\xC6\\xD8\\xF0\\x98B\\xAB\\x84-\\xC0\\x0F9\\x8E\\xE3\\\\\\xFC\\x00\\x00\\x00\\xFF\\xFF\\x03\\x00PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00\\x19\\x8AK\\xCF\\xF4\\x03\\x00\\x00\\xB7\\x0F\\x00\\x00\r\\x00\\x00\\x00xl/styles.xml\\xCCW[\\x8F\\x9B8\\x14&quot;
        &quot;~_\\xA9\\xFF\\x01y^\\x97p\tdB\\x04TM2H\\x95\\xBA\\xD5J3+\\xF5\\xD5\\x80I\\xAC58\\x02gD\\xBA\\xEA\\x7F\\xDFc\\x03\\x13r\\x1D\\xA6\\xD3H\\x9D\\x87\\x0C6\\xE6;\\xDF\\xB9\\xF8;\\xB6\\xFF\\xB1\\xCE\\x99\\xF6L\\xCA\\x8A\\xF2\&quot;@\\xD6\\xC8D\\x1A)\\x12\\x9E\\xD2b\\x15\\xA0\\x7F\\x9E\&quot;}\\x8A\\xB4J\\xE0\&quot;\\xC5\\x8C\\x17$@;R\\xA1\\x8F\\xE1\\x87?\\xFCJ\\xEC\\x18y\\\\\\x13\&quot;4\\x80(\\xAA\\x00\\xAD\\x85\\xD8\\xCC\\x0C\\xA3J\\xD6$\\xC7\\xD5\\x88oH\\x01o2^\\xE6X\\xC0\\xB0\\\\\\x19\\xD5\\xA6$8\\xAD\\xE4G93l\\xD3\\x9C\\x189\\xA6\\x05j\\x10fy2\\x04$\\xC7\\xE5\\xBF\\xDB\\x8D\\x9E\\xF0|\\x83\\x05\\x8D)\\xA3b\\xA7\\xB0\\x90\\x96'\\xB3\\xCF\\xAB\\x82\\x978f@\\xB5\\xB6\\x1C\\x9Ch\\xB55)\\xED\\xCE\\x82\\x9A:1\\x92\\xD3\\xA4\\xE4\\x15\\xCF\\xC4\\x08@\r\\x9Ee4!\\xA7\\\\=\\xC33p\\xB2G\\x02\\xD8\\x9FC\\xB2\\\\\\xC3\\xB4\\x1B\\xC7C\\xBF\\xD8\\xE6Q.*-\\xE1\\xDBB@\\x02P7\\xA55o&gt;\\xA709q\\x90\\xD6\\xC4q\\xC1S\\xF0\\xEC\\xEE\\xCF\\xBB;sd\\x9A&amp;2B\\xDFh!B?\\xE3\\xC5\\x1Ei\\x0CHr\&quot;\\xF4\\xAB\\xEF\\xDA3f\\x00c\\xC9\\xE5\\x05\\xCEI3^`F\\xE3\\x92*&quot;
        &quot;\\x8Cfe\\xF3\\x1B\\xC3\\xAA\\x01\\xDFd8\\xA7l\\xD7@\\xD9' \\xEF\\x000\\x94\\x1F\\xC0\\x9E2\\xF6\\x12\\x18W\\xBA\\x03\\x13\\xA1\\x0FY\\x17\\xA4,\&quot;\\x18h\\xED\\xF3\\xD3n\\x03Q)\\xA0@\\x1B\\x1Ej\\xDD+\\xABW%\\xDEY\\xB6;\\xFC\\x83\\x8A3\\x9AJ\\x16\\xAB\\x05g\\xBC\\xD4\\x04\\x949XU9\\x88\\xDB9Z\\xA4\\xA4&amp;\\x902\\xC8\\x98LM\\x8F+\\x8C\\x1AF\\xAF\\xF0\\xBAhF\\x13TV\\x88n\\x8E,\\xC7\\xF3\\xBC\\xA9s\\xEF\\x98\\xF7\\x8EkOl\\x95\\xD7\\x1BR(Wq\\x80\&quot;\\xF5\\xD7\\x94\\xDC[l)\\xAF\\xAB\\xD0\\x8Fy\\x99\\x82\\xCCt\\x85nC$\\x9B\\xA9\\xD0g$\\x13\\x10\\xAD\\x92\\xAE\\xD6\\xF2\\xBF\\xE0\\x1B\\xF8\\x8D\\xB9\\x10\\xB0\\x1BC?\\xA5x\\xC5\\x0B\\xCCd&lt;\\xBB/\\xFA_\\x82&lt;\\x81\\x12\\x05H\\xACAIB?Q\\xC99N\\x844\\xD1Z\\x18\\xB4^qQT\\x06-\\x07\\xCA\\x1D\\xE3A\\xEB\\x1B\\xE7\\xCE\\xFB\\xD6:\t!K\\x08c\\x8F\\xD2\\xB9o\\xD9\\x81@\\xD4YO\\x1C@\\xB0\\xE5~\\x91:!\\x1F\\xA1\\xF4\\xDB\\xC7&amp;F\\xCD@\\xC6\\xAE\\x8F\\xD6`\\xF7a\\xEF!t\\x03pAI\\xFB\\xB8Z\\x9D\\xB5\\xD6\\xF0f\\xC3vrOJ\r\\x03s\\x97\\xB0\\xAC\\x8B\\x1C\\x8F\\xB1\\xC0\\xA9sX\\x96\\xD2\\xC2&quot;
        &quot;\\x13\\x87\\x0F\\x88\\x81\\x91Cb_\\xB7yL\\xCAH\\xB5\&quot;\t\\xAA\\x1D\\xD0mFsU\\xA0\\xFB\\xB7\\x9F\\x18]\\x159\\xE9T\\x19\\xC4\\xB2\\x19jk^\\xD2\\xEF\\xC0Nj\\xAA\\xAA\\x13\\xB5\\xD5\\xEB\\xEC\\xC8\\xE9V\\xB5o\\xCA\\xF48\\xD0\\xB7\\x8F\\xCD\\x95\\xD4\\xF6\\xCA\\xEF\\xDDer\t\\xEB$\\xB3]\\xC9\\x1D\\xE7p\\x18\\xCFq\\xBF\\x9C\\x7F\\x05v\\xAF\\xBC_\\xC1n\\xCB\\xFBz%\\x0E\\xCB\\xEFuKo\\xAB\\xFDc\\x8B\\x97\\xAA\\xF8\\xA66\\xCF\\x971\\xCC\\xEE\\xB5\\xE7\\xF7\\xD8\\xE2g\\xB5\\xF7WJ\\xD1I\\x01x\\xBF\\x8B\\xC9[\\x16\\x803\\xC0KP\\x88\\xB7h\\xFC\\x15=\\x80|um\\xF3\\x15\\xDD:\\xBBg\\xBB\\xDE\n&quot;
        &quot;\\xDD\\xB4\\xD7\\xB2\\x0F\\x1A\\xF6K\\xEB\\xD5\\xE4\\xE9;@_e#b=\\x07\\xE2-ep\\xBC;\\xD3\\xAC\\x013\\xAD\\xF7\\xED_\\x9D6\\x85\\xBC\\xDF\\xA8\\x83\\xC1\\x8B\\x15\\x88FJ2\\xBCe\\xE2\\xE9\\xE5e\\x80\\xF6\\xCF\\x7F\\x91\\x94ns\\x08k\\xBB\\xEAo\\xFA\\xCC\\x85\\x82\\x08\\xD0\\xFE\\xF9\\x8B&lt;\\x81Y\\x13\\xD9\\xCFH-\\xBETpd\\x82\\xFF\\xDA\\xB6\\xA4\\x01\\xFA\\xEFa~\\xEF-\\x1F\&quot;[\\x9F\\x9A\\xF3\\xA9\\xEE\\x8C\\x89\\xAB{\\xEE|\\xA9\\xBB\\xCEb\\xBE\\\\F\\x9Ei\\x9B\\x8B\\x1F\\xBD\\x8B\\xD6;\\xAEY\\xEAR\\x08\\xED\\xD4rf\\x15\\x83\\xCBX\\xD9:\\xDB\\x92\\x7F\\xDC\\xCF\\x05\\xA87h\\xE8\\xABn\\x0C\\xB4\\xFB\\xDC={b~r-S\\x8F\\xC6\\xA6\\xA5;\\x13&lt;\\xD5\\xA7\\x93\\xB1\\xABG\\xAEe/'\\xCE\\xFC\\xC1\\x8D\\xDC\\x1Ew\\xF7'/v\\xA6aY\\xDD\\xC5\\xAE\\xB6\\xDC\\x99\\xA09a\\xB4\\xE8r\\xD5e\\xA8?\\x0BI\\x82\\xE1\\x15'\\x8C.\\x13\\xC6\\xFE\\xC6\\x1D\\xFE\\x0F\\x00\\x00\\xFF\\xFF\\x03\\x00PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00;m2K\\xC1\\x00\\x00\\x00B\\x01\\x00\\x00#\\x00\\x00\\x00xl/worksheets/_rels/sheet1.xml.rels\\x84&quot;
        &quot;\\x8F\\xC1\\x8A\\xC20\\x14E\\xF7\\x03\\xFECx{\\x93\\xD6\\x85\\x0CCS7\&quot;\\xB8U\\xE7\\x03b\\xFA\\xDA\\x06\\xDB\\x97\\x90\\xF7\\x14\\xFD{\\xB3\\x1Ce\\xC0\\xE5\\xE5p\\xCF\\xE56\\x9B\\xFB&lt;\\xA9\\x1Bf\\x0E\\x91,\\xD4\\xBA\\x02\\x85\\xE4c\\x17h\\xB0\\xF0{\\xDA-\\xBFA\\xB18\\xEA\\xDC\\x14\t-&lt;\\x90a\\xD3.\\xBE\\x9A\\x03NNJ\\x89\\xC7\\x90X\\x15\\x0B\\xB1\\x85Q$\\xFD\\x18\\xC3~\\xC4\\xD9\\xB1\\x8E\t\\xA9\\x90&gt;\\xE6\\xD9I\\x89y0\\xC9\\xF9\\x8B\\x1B\\xD0\\xAC\\xAAjm\\xF2_\\x07\\xB4/N\\xB5\\xEF,\\xE4}W\\x83:=RY\\xFE\\xEC\\x8E}\\x1F&lt;n\\xA3\\xBF\\xCEH\\xF2\\xCF\\x84I9\\x90`&gt;\\xA2H9\\xC8E\\xED\\xF2\\x80bA\\xEBw\\xF6\\x9Ek}\\x0E\\x04\\xA6m\\xCC\\xCB\\xF3\\xF6\t\\x00\\x00\\xFF\\xFF\\x03\\x00PK\\x03\\x04\\x14\\x00\\x06\\x00\\x08\\x00\\x00\\x00!\\x00Am\\xDC\\x87\\x997\\x02\\x00\\xBA\\xD1\\x16\\x00\\x18\\x00\\x00\\x00xl/worksheets/sheet2.xml\\x9C\\xDD[\\x93\\x13G\\xBA\\xF5\\xF1\\xFB7\\xE2\\xFD\\x0E\\x04\\xF7\\xDB\\xB4N-\\xC9a{\\xC7\\xE8|&gt;\\x1F\\xAA\\xEA\\x8E\\xC1xLl\\xA0\\x1D\\x80\\xC73\\xDF~\\xA70Mk\\xFD\\x1F\\xE5\\xDAfn\\xC6&quot;
        &quot;\\x0C\\xBF\\xCATuV.T\\xF5dJ\\xFD\\xC3\\x7F\\xFF\\xEB\\xDD\\xDBg\\xFF|\\xFD\\xE1\\xE3\\x9B\\x87\\xF7?&gt;\\xAF}w\\xF7\\xFC\\xD9\\xEB\\xF7\\xAF\\x1E~~\\xF3\\xFE\\x1F?&gt;?\\x1EF\\xFF\\xD5y\\xFE\\xEC\\xE3\\xA7\\x97\\xEF\\x7F~\\xF9\\xF6\\xE1\\xFD\\xEB\\x1F\\x9F\\xFF\\xFB\\xF5\\xC7\\xE7\\xFF\\xFD\\xD3\\xFF\\xFF\\x7F?\\xFC\\xF1\\xF0\\xE1\\x7F&gt;\\xFE\\xFA\\xFA\\xF5\\xA7g\\xA9\\x87\\xF7\\x1F\\x7F|\\xFE\\xEB\\xA7O\\xBF}\\xFF\\xE2\\xC5\\xC7W\\xBF\\xBE~\\xF7\\xF2\\xE3w\\x0F\\xBF\\xBD~\\x9F\\xE4\\x97\\x87\\x0F\\xEF^~J\\xFF\\xF7\\xC3?^|\\xFC\\xED\\xC3\\xEB\\x97?\\x7Fn\\xF4\\xEE\\xED\\x8B\\xFA\\xDD\\xDD\\xFD\\x8Bw/\\xDF\\xBC\\x7F\\xFEg\\x0F\\xDF\\x7F\\xF8+}&lt;\\xFC\\xF2\\xCB\\x9BW\\xAF\\x07\\x0F\\xAF~\\x7F\\xF7\\xFA\\xFD\\xA7?;\\xF9\\xF0\\xFA\\xED\\xCBO\\xE9\\xFC?\\xFE\\xFA\\xE6\\xB7\\x8F\\x8F\\xBD\\xBD{\\xF5W\\xBA{\\xF7\\xF2\\xC3\\xFF\\xFC\\xFE\\xDB\\x7F\\xBDzx\\xF7[\\xEA\\xE2\\xEFo\\xDE\\xBE\\xF9\\xF4\\xEF\\xCF\\x9D&gt;\\x7F\\xF6\\xEE\\xD5\\xF7\\xD3\\x7F\\xBC\\x7F\\xF8\\xF0\\xF2\\xEFo\\xD3\\xCF\\xFD\\xAFZ\\xF3\\xE5\\xAB\\xC7\\xBE?&quot;
        &quot;\\xFF\\x9F\\xD0\\xFD\\xBB7\\xAF&gt;&lt;||\\xF8\\xE5\\xD3w\\xA9\\xBB\\x17\\x7F\\x9Eh\\xFC\\x99\\xBB/\\xBA/RO?\\xFD\\xF0y\\x1C6\\x1F~\\xFA\\xE1\\xE1\\xF7Oo\\xDF\\xBC\\x7F\\xBD\\xF9\\xF0\\xEC\\xE3\\xEF\\xEF\\xD2\t\\xFD\\xBB\\xF7\\xFA\\xED\\xC3\\x1F?&gt;O\\x97\\xE2\\xCB_\\xEC\\xDE\\xFC\\xE3\\xD7O\\x97\\xBFx\\xF1\\xD3\\x0F/\\xBE\\xB6\\xFB\\xF9M\\x1A\\x82\\xCBu{\\xF6\\xE1\\xF5/?&gt;\\xFF[\\xED\\xFB\\xAA\\xD6\\xEE\\xD6.\\x07}&gt;\\xE6\\xF4\\xE6\\xF5\\x1F\\x1F\\xAF\\xFE\\xFC\\xECr\\xC9\\xFE\\xFE\\xF0\\xF0?\\x17\\x98\\xFE,\\xFD]\\x1F;\\xFA|\\xC9\\xD2\\xE9\\xFC\\xFC\\xFA\\x97\\x97\\xBF\\xBF\\xFD\\xB4{\\xF8c\\xF2\\xFA\\xCF3\\xA8\\xB5.\\xBD\\xBFzx\\x9B\\xFAM\\xFF\\xFB\\xEC\\xDD\\x9B\\xCB\\xA4Ic\\xF5\\xF2_\\x9F\\xFF\\xFB\\xC7\\x9B\\x9F?\\xFD\\xFA\\xE3\\xF3\\xCEw\\x9DV\\xABy\\xDFi\\xB7\\x9E?\\xFB\\xFB\\xEB\\x8F\\x9FFo\\xD2\\xD9\\xA7\\xC3^\\xFD\\xFE\\xF1\\xD3\\xC3\\xBB\\xF3\\x9F\\x07}&gt;\\xD1\\xAF\\x9D\\xD4\\xBFt\\x92\\xFE\\xFB\\xA5\\x93F\\xE7\\xBBv\\xED\\xAE\\xDB\\xF8\\x86N\\x1A_:I\\xFF}&lt;\\x93\\xBF|\\x02\\xCD/m\\xD3\\x7F\\xBF\\xB4\\xAD}&quot;
        &quot;\\xFB\t\\xA4\\x9F\\xF7\\xF3P\\xA4\\xFF&gt;v\\xD2\\xFA\\xAE\\xDEi\\xD5Z\\xF7\\xF5\\xBF&gt;\\x16\\xF7_zI\\xFF\\xFD\\xD2K\\xFD\\xFE\\xBBZ\\xF3\\xEE[\\xFAh\\x7F\\xE9#\\xFD\\xF7\\xF1L\\xEE\\xBFk\\xD6[\\xEDN\\xED\\x1B\\xCE$\\x85\\xFF\\xF3\\xCF\\x93\\xFE\\xFB\\xA5\\x97V\\xFD\\xDB{\\xE9~\\xE9%\\xFD\\xF7K/\\xDF\\xFC\\xE3\\xD4R\\x18\\xFE\\x9Cd\\xE9\\x0F_:i\\xDF}\\xFB4\\xAB}\\x9D\\xAC\\xE9\\x0F\\x8F\\x03\\xD3\\xFC\\xAE\\xD5\\xBEk|\\xCB\\xB8\\xD4\\x1E\\xA7\\xEB\\xE5\\x0F\\x8F\\xD7\\xE8?\\xB8\\xD2\\xB5\\xC7\\x19{\\xF9\\xC3\\xD7\\xD3\\xF9\\xCBs\\xB6\\xF68i/\\x7Fx\\x8C\\xCD\\x7Fp\\x81R\\xAC\\xBF\\x8C\\xEE\\xD5\\xC4M\\x03\\xFD\\x17\\xB3[{\\x9C\\xB0\\x97?&lt;\\x8E\\xC6\\xDD7\\xA7\\xB7\\xF68g/\\x7Fx\\x1C\\x8C4\\xBE\\x7F\\xF5,\\x1E'k\\xEDi\\xB6\\xD6\\xEB\\xFF\\xC1\\x14y\\x9C\\xAE\\xB5\\xA7\\xF9Z\\xEB~\\xF3\\x14\\xA9?\\xCE\\xD8\\xCB\\x1F\\x1E\\xAF\\xCD\\xDD\\xB7\\x87\\xA7\\xFE8c/\\x7Fx\\xBA\\xC6\\xDF\\xFAOc\\xFD\\xEB?\\xB02c\\xBFu\\xE2\\xD7\\x1F'\\xEC\\xE5\\x0F_\\xFF\\x9D\\xFC\\xEB\\xFF\\xCA?N\\xD8\\xFA\\xD5\\x84\\xED\\xFE\\xC5\\x7F&quot;
        &quot;\\xDB^\\xFC\\xF9\\xBE\\xF3\\xF9\\xBDm\\xF0\\xF2\\xD3\\xCB\\x9F~\\xF8\\xF0\\xF0\\xC7\\xB3t\\xD7\\x90\\x06\\xE6\\xE3o//\\xF7 \\xB5\\xEF\\xEB\\xF7\\xE9\\xAD\\xF5\\xD5\\xE5o\\xFF\\x96\\xFE:\\xBD\\xED|L\\xFF\\xFF\\x9F?\\xA5\\x7F=\\x7Fx\\xF1\\xCF\\xF4\\xEE\\xF9\\xEA\\x8B\\xF6Tk\\xAA}\\xD5\\xBA\\xEA@\\xB5\\xA1:Tm\\xAA\\x8ET[\\xAAc\\xD5{\\xD5\\x89j[u\\xAA\\xDAQ\\x9D\\xA9vU\\xE7\\xD7\\xDA\\xC1\\x0F\\xB4\\x90\\xA6-\\x0C\\xE4R\\x15\\x03\\xB9R\\xC5@\\xAEU\\xF1\\xBA\\x1BU\\x0C\\xE4V\\x15\\x03\\xB9S\\xC5@\\xEEU1\\x90\\x07U\\x0C\\xE4Q\\x15\\x03y\\xB2\\x97\\xF7,z\\x8F\\x91,D\\xEF\\xA0\\xA5*\\xC6\\xB9\\xBA\\xD6\\xF6\\xD30\\xBFH\\x11\\xF9\\x9A\\x93\\x94\\xFC[9I\\x7F\\xFD\\x94\\x93{t\\xDCS\\xC5\\x05\\xEC\\xAB\\xE2\\x02\\x0ETq\\x01\\x87\\xAA\\xB8\\x80#U\\\\\\xC0\\xB1*.\\xE0D\\x15\\x17p\\xAA\\x8A\\x0B8\\x13m\\xE3\&quot;\\xCCU1V\\x0BU\\x8C\\xD5R\\x15c\\xB5R\\xC5X\\xADU1V\\x1BU\\x8C\\xD5V\\xB4\\x8E\\x9Fh\\xA7m1\\x92{U\\x8C\\xE4A\\x15#y\\x14\\xED\\xE0uO\\xAA\\x18\\xC9\\xB3*F\\xB2\\x10\\xAD\\xE1\\xACJm\\x8Bq\\xAET\\x9F\\xC6Y\\x92\\x92\\xDE\\xDCn%%\\xFD\\xF5SR:\\xB8\n
</code></pre>
<p>The above snippet is just a part of excel payload and not the complete excel. With every iteration the payload of the request is different. Since this is an upload to be tested, i cannot see this coming as response hence co-relation cannot be considered as well</p>
<p>Thanks in Advance for your help</p>
",https://stackoverflow.com/questions/72688957/loadrunner-testing-with-different-excel-uploads,"['excel', 'web-applications', 'load-testing', 'loadrunner']",31,False,0,0
Make https request with Postman with Bearer token like different user would make it,"<h5>Hi all!</h5>
<p>I'm trying to solve a bit of load testing.<br />
Our API has throttling on that particular endpoint, but requests are disctinted by user, the system solve from the provided token.<br />
When I trying the same scenario from different windows/browsers the throttling is working as expected but when the request sent from Postman the response is 429.<br />
Tried the header &quot;<code>Connection&quot;:&quot;close</code>&quot;, and disabling the &quot;<code>User-Agent</code>&quot; and not allowing the cookie reuse (<code>ARRAffinity</code> is by default because of azure).<br />
Tried already to run two separate request, where the first is the token request with a user then the actual request to the endpoint where the throttling is enabled.<br />
Tried also to send the request then in the <code>Test</code> part as a callback after the token request sending the request to throttled endpoint like that:</p>
<pre><code> pm.test(&quot;got token&quot;, function() {
    let token = pm.response.json().accessToken;
    pm.expect(token).to.not.be.null;

    const exportRequest = {
        method: 'POST',
        url: `${pm.environment.get(&quot;base_URL&quot;)}/api/Export/Gtin/Excel`,
        header: {
            &quot;accept&quot;: &quot;text/plain&quot;,
            &quot;Authorization&quot;: `bearer ${token}`,
            &quot;Content-Type&quot;: &quot;application/json-patch+json&quot;,
            &quot;Connection&quot;: &quot;close&quot;
        },
        body:JSON.stringify({
            &quot;companyPrefixId&quot;: &quot;098102700&quot;,
            &quot;exportType&quot;: &quot;EveryKeys&quot;,
            &quot;includeProductInfo&quot;: true,
            &quot;productInfoLanguageCodes&quot;: null,
            &quot;exportFileMainLanguageCode&quot;: &quot;en&quot;
        })
    };
    pm.sendRequest(exportRequest, (err, response) =&gt; {
        pm.expect(response).to.not.be.null;
        if (err) {
            console.log(JSON.stringify(err));
        }
    });
 });
</code></pre>
<p>I hope someone can help to solve that, thanks in advance!</p>
<p>Best regards</p>
",https://stackoverflow.com/questions/73402618/make-https-request-with-postman-with-bearer-token-like-different-user-would-make,"['api', 'rest', 'https', 'postman', 'load-testing']",181,False,0,0
How to POST an attachment(PDF) via Gatling?,"<p>I'm trying to improve a script that I already have for load testing with Gatling. The scripts consist in injecting data filling forms with different type of inputs(dropdowns, textboxes, checkboxes, etc..). Now I have a form to upload attachments and I am trying to POST a PDF file but I have not found a way to do it.</p>
<p>If a open the network in the browser developer tools and upload the file and continue to the next form this is what I get:</p>
<p>1- First POST is when I click on &quot;Choose File&quot;</p>
<p><a href=""https://i.stack.imgur.com/aH3UI.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/aH3UI.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/u68ko.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/u68ko.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/EPWwz.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/EPWwz.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/KJCSc.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/KJCSc.png"" alt=""enter image description here"" /></a></p>
<p>2- The second POST is when the file is already uploaded and I click on &quot;Save &amp; Continue&quot;</p>
<p><a href=""https://i.stack.imgur.com/omMYG.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/omMYG.png"" alt=""enter image description here"" /></a></p>
<p>I'm pretty sure I'm doing something very wrong, this is the .exec I'm currently have</p>
<pre><code>.exec(http(&quot;Upload the file&quot;)
            .post(&quot;/private/private/private/forms/submit&quot;)
            .headers(shared_headers)
            .formParamMap(Map(
                &quot;resumableChunkNumber&quot; -&gt; &quot;1&quot;,
                &quot;resumableChunkSize&quot; -&gt; &quot;1048576&quot;,
                &quot;resumableCurrentChunkSize&quot; -&gt; &quot;10080&quot;,
                &quot;resumableTotalSize&quot; -&gt; &quot;10080&quot;,
                &quot;resumableType&quot; -&gt; &quot;application/pdf&quot;,
                &quot;resumableFilename&quot; -&gt; &quot;Caso_SimuladoSC_202.pdf&quot;,
                &quot;resumableRelativePath&quot; -&gt; &quot;Caso_SimuladoSC_202.pdf&quot;,
                &quot;resumableTotalChunks&quot; -&gt; &quot;1&quot;))
            .bodyPart(RawFileBodyPart(&quot;file&quot;, &quot;Caso_SimuladoSC_202.pdf&quot;)
                .fileName(&quot;Caso_SimuladoSC_202.pdf&quot;)
                .transferEncoding(&quot;binary&quot;)).asMultipartForm
                )// end exec
</code></pre>
<p>The PDF file is in my Gating repo with another files.</p>
<p>How can I achieve this? Any idea?</p>
",https://stackoverflow.com/questions/72925627/how-to-post-an-attachmentpdf-via-gatling,"['scala', 'load-testing', 'gatling', 'scala-gatling']",236,True,0,1
Load testing in mac and redhat OS throwing j.n.SocketException: Too many open files,"<p>we are doing the large loading testing(50000TPS)using gatling, we are using Red Hat Enterprise Linux Server VM's for performing the testing.</p>
<p>Load testing is good with 500 TPS for single VM(4cpu and 8gb ram), More than 500 TPS we are not achieving the our target metrics</p>
<p>Running more than 3000 TPS in single machine we are facing following errors</p>
<blockquote>
<p>j.n.SocketException: Too many open files</p>
</blockquote>
<blockquote>
<p>connect(..) failed: Cannot assign requested address 67328 (80.49%)</p>
</blockquote>
<p>Note: I'm executing the gradle load test task from same shell where Ulimit and port ranges are increased</p>
<p><strong>Steps we have tried so far</strong></p>
<ol>
<li>we have Increased the TCP local_port_range values(1024 65533) in load test vms</li>
<li>Configured the Ulimit to unlimited/higher values to higher in load test vms</li>
</ol>
<p><a href=""https://i.stack.imgur.com/Rmr6Q.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Rmr6Q.png"" alt=""enter image description here"" /></a></p>
<p>kindly anyone advise us on this</p>
<p><strong>Reference:</strong></p>
<p><a href=""https://stackoverflow.com/questions/6624077/max-open-files-per-process"">Max open files per process</a></p>
<p><a href=""https://www.ibm.com/docs/en/i/7.4?topic=utilities-ulimit"" rel=""nofollow noreferrer"">https://www.ibm.com/docs/en/i/7.4?topic=utilities-ulimit</a></p>
",https://stackoverflow.com/questions/72290043/load-testing-in-mac-and-redhat-os-throwing-j-n-socketexception-too-many-open-fi,"['linux', 'unix', 'redhat', 'gatling', 'ulimit']",198,True,0,1
How to open a new incognito browser instance using JMeter,"<p>As I need to perform load testing on large number of users say 500 or 1000 so how do I run the login scenario with just 1 user login credential. As I understand if just 1 user login credential is used then only the 1st thread will be ritually logged in the other threads would actually bypass the login process and land on to the home page.
One of the solutions is to create as many users as required which is a time taking activity.
I was just wondering if there is a way to create a new incognito browser instance on JMeter for each thread such that each thread logs in by entering the credentials each time. Note that in this case we still have 1 user login credential but as we are creating  new incognito instance so the application asks for the login credential each time.</p>
",https://stackoverflow.com/questions/73158492/how-to-open-a-new-incognito-browser-instance-using-jmeter,['jmeter'],50,False,0,1
Why is aggressive garbage collection in our Node.js app causing 100%+ CPU with plenty of memory to spare?,"<p>We are trying to diagnose a performance regression after a major upgrade from Node v12 to v18 among some accompanying application code changes. During load testing, we observe the following changes (before in 1st picture, after in 2nd picture):</p>
<p><a href=""https://i.stack.imgur.com/kICwi.png"" rel=""nofollow noreferrer"">Before</a>
<a href=""https://i.stack.imgur.com/L9Iex.png"" rel=""nofollow noreferrer"">After</a></p>
<ul>
<li>CPU
<ul>
<li>before: 40%</li>
<li>after: 138%</li>
</ul>
</li>
<li>Garbage Collection Pause Count
<ul>
<li>before: 5gcs</li>
<li>after: 100gcs</li>
</ul>
</li>
<li>Garbage Collection Pause Time
<ul>
<li>before: 70ms</li>
<li>after: 270ms</li>
</ul>
</li>
<li>Event loop iterations per second
<ul>
<li>before: 350</li>
<li>after: 28</li>
</ul>
</li>
<li>Memory usage
<ul>
<li><a href=""https://i.stack.imgur.com/RcUhz.png"" rel=""nofollow noreferrer"">before</a>: heap total is flat, heap used is a sawtooth wave with about a 30 second periodicity</li>
<li><a href=""https://i.stack.imgur.com/uNLaj.png"" rel=""nofollow noreferrer"">after</a>: both heap total and heap used are flat</li>
</ul>
</li>
</ul>
<p>There does not appear to be a memory leak in either case, and there is about a full GB of memory left to spare, so what could be causing this spike in CPU/garbage collection? For context this is a very typical node, graphql server.</p>
<p>I would expect garbage collection and cpu to spike only if there is actual memory pressure.</p>
",https://stackoverflow.com/questions/74830947/why-is-aggressive-garbage-collection-in-our-node-js-app-causing-100-cpu-with-p,"['node.js', 'performance', 'garbage-collection', 'cpu-usage']",385,False,2,1
JMeter playback of recording for logging on to websites never actually logs on to a website,"<p>I use JMeter for API testing usually, and need now to use it for web app load testing (which I haven't done before), for which I need to log on to the app, verify I'm seeing the app entry page, and then log out.</p>
<p>However, whether I script the steps or I record on the browser (Firefox via proxy), the POST always returns the html document of the logon page with my usr/pwd values in it, meaning it did nothing apparently.</p>
<p>I already added a timer even (constant timer) but it only causes every single action to pause, and the POST doesn't seem to pause to receive the response which arrives immediately.</p>
<p>Let me show:</p>
<pre><code>        &lt;HTTPSamplerProxy guiclass=&quot;HttpTestSampleGui&quot; testclass=&quot;HTTPSamplerProxy&quot; testname=&quot;POST LOGON CREDENTIALS&quot; enabled=&quot;true&quot;&gt;
        &lt;elementProp name=&quot;HTTPsampler.Arguments&quot; elementType=&quot;Arguments&quot; guiclass=&quot;HTTPArgumentsPanel&quot; testclass=&quot;Arguments&quot; enabled=&quot;true&quot;&gt;
          &lt;collectionProp name=&quot;Arguments.arguments&quot;&gt;
            &lt;elementProp name=&quot;username&quot; elementType=&quot;HTTPArgument&quot;&gt;
              &lt;boolProp name=&quot;HTTPArgument.always_encode&quot;&gt;true&lt;/boolProp&gt;
              &lt;stringProp name=&quot;Argument.name&quot;&gt;username&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.value&quot;&gt;${username}&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.metadata&quot;&gt;=&lt;/stringProp&gt;
              &lt;boolProp name=&quot;HTTPArgument.use_equals&quot;&gt;true&lt;/boolProp&gt;
            &lt;/elementProp&gt;
            &lt;elementProp name=&quot;password&quot; elementType=&quot;HTTPArgument&quot;&gt;
              &lt;boolProp name=&quot;HTTPArgument.always_encode&quot;&gt;false&lt;/boolProp&gt;
              &lt;stringProp name=&quot;Argument.name&quot;&gt;password&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.value&quot;&gt;${password}&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.metadata&quot;&gt;=&lt;/stringProp&gt;
              &lt;boolProp name=&quot;HTTPArgument.use_equals&quot;&gt;true&lt;/boolProp&gt;
            &lt;/elementProp&gt;
            &lt;elementProp name=&quot;return_to&quot; elementType=&quot;HTTPArgument&quot;&gt;
              &lt;boolProp name=&quot;HTTPArgument.always_encode&quot;&gt;true&lt;/boolProp&gt;
              &lt;stringProp name=&quot;Argument.name&quot;&gt;return_to&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.value&quot;&gt;https://dashboard2.xxx.com&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.metadata&quot;&gt;=&lt;/stringProp&gt;
              &lt;boolProp name=&quot;HTTPArgument.use_equals&quot;&gt;true&lt;/boolProp&gt;
            &lt;/elementProp&gt;
            &lt;elementProp name=&quot;formtoken&quot; elementType=&quot;HTTPArgument&quot;&gt;
              &lt;boolProp name=&quot;HTTPArgument.always_encode&quot;&gt;false&lt;/boolProp&gt;
              &lt;stringProp name=&quot;Argument.name&quot;&gt;formtoken&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.value&quot;&gt;&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.metadata&quot;&gt;=&lt;/stringProp&gt;
              &lt;boolProp name=&quot;HTTPArgument.use_equals&quot;&gt;true&lt;/boolProp&gt;
            &lt;/elementProp&gt;
            &lt;elementProp name=&quot;loginToken&quot; elementType=&quot;HTTPArgument&quot;&gt;
              &lt;boolProp name=&quot;HTTPArgument.always_encode&quot;&gt;false&lt;/boolProp&gt;
              &lt;stringProp name=&quot;Argument.name&quot;&gt;loginToken&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.value&quot;&gt;&lt;/stringProp&gt;
              &lt;stringProp name=&quot;Argument.metadata&quot;&gt;=&lt;/stringProp&gt;
              &lt;boolProp name=&quot;HTTPArgument.use_equals&quot;&gt;true&lt;/boolProp&gt;
            &lt;/elementProp&gt;
          &lt;/collectionProp&gt;
        &lt;/elementProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.domain&quot;&gt;login.xxx.com&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.port&quot;&gt;443&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.protocol&quot;&gt;&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.contentEncoding&quot;&gt;UTF-8&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.path&quot;&gt;/&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.method&quot;&gt;POST&lt;/stringProp&gt;
        &lt;boolProp name=&quot;HTTPSampler.follow_redirects&quot;&gt;true&lt;/boolProp&gt;
        &lt;boolProp name=&quot;HTTPSampler.auto_redirects&quot;&gt;false&lt;/boolProp&gt;
        &lt;boolProp name=&quot;HTTPSampler.use_keepalive&quot;&gt;true&lt;/boolProp&gt;
        &lt;boolProp name=&quot;HTTPSampler.DO_MULTIPART_POST&quot;&gt;false&lt;/boolProp&gt;
        &lt;boolProp name=&quot;HTTPSampler.image_parser&quot;&gt;true&lt;/boolProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.embedded_url_re&quot;&gt;&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.connect_timeout&quot;&gt;&lt;/stringProp&gt;
        &lt;stringProp name=&quot;HTTPSampler.response_timeout&quot;&gt;&lt;/stringProp&gt;
      &lt;/HTTPSamplerProxy&gt;
</code></pre>
<p>So I'm kinda frustrated here.</p>
<p>Is it I need to specify some sort of timer?</p>
<p>I added constant timer but it doesn't seem to have an effect on the POST response, which comes in immediately.
<a href=""https://i.stack.imgur.com/51gqJ.jpg"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/51gqJ.jpg"" alt=""enter image description here"" /></a></p>
<p>JMeter version is 5.4.3 actually.</p>
<p>Any help would be very appreciated.</p>
",https://stackoverflow.com/questions/71772404/jmeter-playback-of-recording-for-logging-on-to-websites-never-actually-logs-on-t,['jmeter'],51,True,0,2
JMeter - get value from href,"<p>I am load testing an application that has a link that looks like this:</p>
<pre><code>https://example.com/myapp/table?qid=1434e99d-5b7c-4e74-b64e-c24e9564514d&amp;rsid=5c94ddc7-e2e4-4e69-8547-49572486f4d1
</code></pre>
<p>I need to get the dynamic value of the rsid so I can use it later in my script.</p>
<p>So far I have tried using the regex extractor and I am probably doing it wrong.
I have tried things like:</p>
<pre><code>name = myvar
regular expression = rsid=(.*?) # didnt work
regular expression = &lt;a href=&quot;.*?rsid=(.*?)&quot;&gt; # didnt work
Template = $1$ 
</code></pre>
<p>I have one extractor set up to get the csrf value and that one works as expected but that is also because the csrf value is in the page source.</p>
<p>The above link is NOT in the page source as far as I can see but it DOES show up when I inspect the link. I dont know if that is obfuscation or something else?</p>
<p>How can I extract the value of the rsid? Is the regular expression extractor the right one to use for this?
Should I be using something else?
Is it just a formula issue?</p>
<p>Thanks in advance.</p>
",https://stackoverflow.com/questions/70716627/jmeter-get-value-from-href,"['testing', 'jmeter']",57,False,0,1
Ruby on Rails Selenium Load Test,"<p>I've written few Selenium Automated tests in Ruby which work fine and would love to know if there's a way to use them for Load Testing. Few last days I'm looking for a solution to do so with JMeter. Could any of you tip me to right direction.</p>
<p>Update after Dmitri T anwser:
I guess I should've mentioned it before, there are few problems that make it hard for me to find a solution on Jmeter:</p>
<ol>
<li>My Selenium Automated tests are run from .bat file where a total of 42 .rb files are called each after another where each file starts and ends by user login/logout, and browser closing.</li>
<li>Global variables are being used in each test, where they get changed depending on date and number of times the tests were run today.</li>
</ol>
<p>I've tried WebDriver Sampler solution, but as Dmitri metioned it's not a viable option since I would need enourmous amounts of resource to run multiple browser instances.</p>
",https://stackoverflow.com/questions/72896905/ruby-on-rails-selenium-load-test,"['ruby', 'selenium', 'ruby-on-rails-3', 'jmeter', 'load-testing']",57,False,0,1
Livestreaming Website Architecture Design,"<p>I want to build a website that can display live streams to multiple users (&lt;100) with a latency of &lt;500ms. The source of the live streams will be from different raspberry piess camera module.</p>
<p>So far the architecture I have thought of is the following:</p>
<p>Raspberry Pies - broadcasting the streams over to my web server using RTSP</p>
<p>Web Server - Running Apache/Nginx + Janus Gateway (to receive and convert the RTSP streams into WebRTC and forward the stream to clients)</p>
<p>Clients - Users running Chrome, Firefox, Safari</p>
<p>My questions are:</p>
<ol>
<li><p>Is there anything missing from this setup and if not, will this setup be able to deliver &lt;500ms delay streams to my users or is this something I can only find out by implementing and measuring it by myself? Other tech stacks I can consider?</p>
</li>
<li><p>How would I perform load testing/load balancing on my web server? (would need some keywords/tools to google search for myself)</p>
</li>
</ol>
",https://stackoverflow.com/questions/73558803/livestreaming-website-architecture-design,"['architecture', 'webrtc', 'load-balancing', 'load-testing', 'rtsp']",123,False,0,1
The Database Connection is going high and also the RDS CPU is hitting 100% during the load testing,"<p>When doing the load testing on my application the AWS RDS CPU is hitting 100% and corresponding requests are getting errored out. The RDS is m4.2x.large. With the same configuration the things were fine until 2 weeks back. There are no infra changes done on the environment neither the application level changes. The whole load test used to go smooth until complete 2hrs until 2 weeks back. There are no specific exception apart from <strong>GENERICJDBCEXCEPTION</strong>.</p>
<p>All other necessary services are up and running on respective instances.</p>
<p>We are using SQL as Database Management System.</p>
<p>Is there any chance that this happens suddenly? How to resolve this? Suggestions are much appreciated. This has created many problems.</p>
<p>Monitoring the slow logs and resolving them did not solve the problem.</p>
<p>Should we upgrade the RDS to next version?</p>
<p>Does more data on then DB slows the Database?</p>
<p>We have modified the connection pool parameters also and tried it.</p>
",https://stackoverflow.com/questions/74203439/the-database-connection-is-going-high-and-also-the-rds-cpu-is-hitting-100-durin,"['mysql', 'amazon-web-services', 'jmeter', 'amazon-rds', 'load-testing']",136,False,0,1
How to use getExecutionHistory from aws java sdk to check status of a step function,"<p>I am new to aws and doing a PoC around aws lambda and step function.
So my problem statement is:
A http request comes to API gateway which triggers a lambda function and through that lambda I am trigerring a step function something like
<em>awsStepFunction.startExecution(executionRequest)</em></p>
<p>Now, since this is asynchronous in nature it just triggers step function and returns response but
I want to return a response from lambda only when the execution of lambda is completed or failed.</p>
<p>I am using <em>getExecutionHistory</em> recursively to get the response of execution but that effects my execution time and also when doing load testing getting <em>Throttling exception saying rate exceeded</em></p>
<pre class=""lang-java prettyprint-override""><code>ExecutionResult result = awsStepFunction.startExecution(executionRequest);
getHistory(awsStepFunction, result);

private void getHistory(awsStepFunction, result){

List&lt;HistoryEvents&gt; list = GetExecutionHistory(request).getEvents;

while(true) {
If(list.get(0).getId == 71 || list.get(0).getStatus.equals(&quot;ExecutionFailed&quot;)){
    return;
} else {
   Thread.sleep(1000);
  getHistory(awsStepFuncrion,result);
}
return;
}
}
</code></pre>
<p>71 is the final id of the event confirming that execution has succeeded.</p>
<p>But here when multiple requests are triggered getting error 400 <strong>Throttling exception rate exceeded</strong> in cloudwatch logs and hence getting a http response of <strong>502 bad gateway</strong></p>
<p><a href=""https://i.stack.imgur.com/csZWA.png"" rel=""nofollow noreferrer"">This is the error screenshot that I am getting</a></p>
",https://stackoverflow.com/questions/73859434/how-to-use-getexecutionhistory-from-aws-java-sdk-to-check-status-of-a-step-funct,"['java', 'amazon-web-services', 'aws-lambda', 'aws-step-functions', 'aws-java-sdk']",150,True,0,1
Redis taking too much time to execute simple commands during concurrent access,"<h2>Background of problem</h2>
<p>Hello all , i have made a project in golang gin , and I have integrated the redis Clusterclient in it using <a href=""https://github.com/go-redis/redis/v7"" rel=""nofollow noreferrer"">&quot;github.com/go-redis/redis/v7&quot;</a></p>
<p>P.S. Redis that I am using is a redis cluster hosted on AWS</p>
<p>the redis commands that I am using are simply <code>redis.Get</code> and <code>redis.Set</code> only.</p>
<p>Now I have made one API and used caching in it, and when I run it locally, response times are around 200 to 300ms, which is awesome (<em><strong>thanks to Redis</strong></em>)</p>
<h2>Main Problem</h2>
<p>now when I start doing the load testing on the same API with around 100 concurrent users , response time gets significantly increased ( around 4 seconds). I used spans to monitor the time taken by a different part of the code, and I got this</p>
<p><a href=""https://i.stack.imgur.com/1Ik55.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/1Ik55.png"" alt=""enter image description here"" /></a></p>
<p><em>Getting from primary</em>, <em>getting from secondary</em> are for the <code>redis.Get</code> command</p>
<p><em>Setting the primary</em> , <em>setting the secondary</em> are for <code>redis.Set</code></p>
<p>both commands are taking around 1 sec to execute, which is unacceptable,</p>
<blockquote>
<p>can anyone please tell me some way, so that I can tackle this problem
and reduce the time for the redis commands to execute</p>
</blockquote>
",https://stackoverflow.com/questions/70861047/redis-taking-too-much-time-to-execute-simple-commands-during-concurrent-access,"['redis', 'performance-testing', 'redis-cluster', 'go-redis']",812,True,0,1
YAML file requires different amounts of indentation for different nodes,"<p>I'm attempting to write a YAML config script for a load testing utility called Artillery.</p>
<p>The YAML syntax is not making any sense to me though. Artillery appears to deserialize the YAML to a Javascript object syntax so it expects nodes in the YAML file to have a certain structure.</p>
<pre><code>config:
  target: https://mhhs-prod-webapp.azurewebsites.net/
  phases:
    - duration: 60
      arrivalRate: 50
scenarios:
  - flow:
    - get:
      url: '/'
</code></pre>
<p>Given the above file though it fails complaining that <code>'get' must be of type object</code>. In the file above the <code>get</code> node has a child node <code>url</code> of key value type, so I'm expecting it to be of type <code>object</code>.</p>
<p>After much trial and error I've managed to get it to work using the following layout.</p>
<pre><code>config:
  target: https://mhhs-prod-webapp.azurewebsites.net/
  phases:
    - duration: 60
      arrivalRate: 50
scenarios:
  - flow:
    - get:
        url: '/'
</code></pre>
<p>But the bizarre thing is that this file is identical to the previous one apart from the fact that the <code>url</code> node is indented 4 spaces instead of the 2 spaces of indentation used throughout the rest of the file.</p>
<p>Is this correct? I'm having trouble finding an explanation of YAML that is understandable but so far I haven't come across anything that suggests that different amounts of indentation do completely different things.</p>
",https://stackoverflow.com/questions/72977226/yaml-file-requires-different-amounts-of-indentation-for-different-nodes,"['yaml', 'artillery']",144,True,0,1
"JMeter test plan for invoking API A and then API B, how to accomplish that?","<p>I want to develop JMeter 5 test plan with the following spec:</p>
<p>First call HTTP Rest API A. if the status code from A is not 200, keep repeatedly calling A until status code is 200. After first successful call to A, then proceed to call Rest API B.</p>
<p>There is CSV Data Set Config for API B which reads CSV file, each entry in CSV invokes a call to API B. When EOF is reached, JMeter must automatically exit (stop running).</p>
<p>API A must be called once every 10 minutes while API B is still being called (or JMeter is still running processing CSV file).</p>
<p>How to achieve this goal? 2 Thread groups are required or single thread group can do the job?</p>
<p>Please provide details like what should be the configs for test plan and thread group(s), the sequence of JMeter elements like While Controller, etc.</p>
<p>The purpose of the test plan is load testing API B, so multiple threads may call API B while a single thread is used to call API A.</p>
",https://stackoverflow.com/questions/74495457/jmeter-test-plan-for-invoking-api-a-and-then-api-b-how-to-accomplish-that,"['jmeter', 'load-testing']",86,True,0,1
WebSocket Read Sampler doesn&#39;t capture the message,"<p>I was doing some load testing against a WebSocket to measure the message latency between a publisher (presenter) and subscriber (participant). Below is the structure of my test plan. The &quot;Setup&quot; TG is a <strong>setUp thread group</strong> to make sure that both publisher and subscriber are connected to the WebSocket before starting the communication to measure the latency.</p>
<p><a href=""https://i.stack.imgur.com/rZrIb.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/rZrIb.png"" alt=""enter image description here"" /></a></p>
<p>I had a JSR223 PostProcessor to cache the connection for publisher and subscriber accordingly so that they can pick up the same connection in the following thread groups. 3 messages were sent out from the publisher correctly. However, not sure why the read sampler in the subscriber (ParticipantA) Thread Group did not capture any message even after I increased the timeout to 20s.</p>
<p><a href=""https://i.stack.imgur.com/jt5Vm.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/jt5Vm.png"" alt=""enter image description here"" /></a></p>
<p>Here is the JSR223 PostProcessor for caching the connection:</p>
<pre><code>def participantAConnection = sampler.threadLocalCachedConnection
props.put('participantAConnection' + ctx.getThreadNum(), participantAConnection.get())
</code></pre>
<p>Here is the JSR223 PreProcessor for restoring the connection in the Participant Thread Group.</p>
<pre><code>def participantAConnection = props.get('participantAConnection' + ctx.getThreadNum())
sampler.threadLocalCachedConnection.set(participantAConnection)
</code></pre>
<p>I can see the properties for the cached connection for the presenter and participant in the debug sampler.</p>
<pre><code>participantAConnection0=eu.luminis.websocket.WebSocketClient@1b510239
presenterConnection0=eu.luminis.websocket.WebSocketClient@755f44c9
</code></pre>
<p>The debug log was enabled below:</p>
<pre><code>2022-07-13 01:06:49,666 DEBUG e.l.j.w.SingleReadWebSocketSampler: I/O Error in sampler 'participantACommandsRead'.
java.net.SocketTimeoutException: Read timed out
    at sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:280) ~[?:?]
    at sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:306) ~[?:?]
    at sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:347) ~[?:?]
    at sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:800) ~[?:?]
    at java.net.Socket$SocketInputStream.read(Socket.java:966) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1455) ~[?:?]
    at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1059) ~[?:?]
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:244) ~[?:?]
    at java.io.BufferedInputStream.read(BufferedInputStream.java:263) ~[?:?]
    at eu.luminis.websocket.Frame.parseFrame(Frame.java:61) ~[jmeter-websocket-samplers-1.2.8.jar:?]
    at eu.luminis.websocket.WebSocketClient.receiveFrame(WebSocketClient.java:420) ~[jmeter-websocket-samplers-1.2.8.jar:?]
    at eu.luminis.jmeter.wssampler.WebsocketSampler.readFrame(WebsocketSampler.java:306) ~[jmeter-websocket-samplers-1.2.8.jar:?]
    at eu.luminis.jmeter.wssampler.SingleReadWebSocketSampler.readFrame(SingleReadWebSocketSampler.java:83) ~[jmeter-websocket-samplers-1.2.8.jar:?]
    at eu.luminis.jmeter.wssampler.SingleReadWebSocketSampler.doSample(SingleReadWebSocketSampler.java:71) ~[jmeter-websocket-samplers-1.2.8.jar:?]
    at eu.luminis.jmeter.wssampler.WebsocketSampler.sample(WebsocketSampler.java:169) ~[jmeter-websocket-samplers-1.2.8.jar:?]
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) ~[ApacheJMeter_core.jar:5.5]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
</code></pre>
",https://stackoverflow.com/questions/72962022/websocket-read-sampler-doesnt-capture-the-message,"['websocket', 'jmeter', 'jmeter-plugins']",150,False,0,1
Istio Envoy proxy cpu resources,"<p>We would like to use Istio for our workload in a production environment. The required CPU resources are documented here: <a href=""https://istio.io/latest/docs/ops/deployment/performance-and-scalability/"" rel=""nofollow noreferrer"">https://istio.io/latest/docs/ops/deployment/performance-and-scalability/</a></p>
<p>The documentation uses a load test scenario consisting of 1000 requests per second going through envoy proxies (among other parameters). We do have a much lower number of requests, and of course it is important to optimize CPU resources in order to optimize the cost of our solution.</p>
<p>So, the question is: can we reduce the CPU assignment to the envoy proxies proportionally to the reduction of parameters in our scenario? There is a minimum threshold for CPU assignment? I have found nothing about this in the documentation. Of course, we would like to keep a reasonable small latency added by the proxy (similar to the 2.65 ms in the documented scenario).</p>
<p>We can perform some load testing for our solution once we have Istio running; but the CPU additional resources consumed by Istio will be one of the relevant points in deciding whether to go with it or not. So some initial idea about this would be wonderful.</p>
",https://stackoverflow.com/questions/72315947/istio-envoy-proxy-cpu-resources,"['performance', 'cpu-usage', 'istio', 'istio-sidecar']",436,False,3,0
"Artillery, GET request to API with parameters in a file","<p>I'm using Artillery with Node.js to load testing a free API.</p>
<p>My purpose would be to list the name of French department with a file of department numbers. To do that I need to do GET request to the following URL and change the department number which is the main parameter.</p>
<blockquote>
<p>&quot;https://geo.api.gouv.fr/departements/75?fields=region&quot;</p>
</blockquote>
<p>So far I can do it if I list myself the number in the scenario (which is not practical as I have a file listing the department numbers), as an example I only list &quot;76&quot; and &quot;77&quot;:</p>
<pre><code>config:
  target: &quot;https://geo.api.gouv.fr/departements/01?fields=region&quot;
  phases:
    - duration: 3
      arrivalRate: 1
      name: Warm up
  variables:
    dep:
    - &quot;76&quot;
    - &quot;77&quot;

scenarios:
  - name: &quot;Discover department&quot;
    flow:
      - get:
          url: &quot;https://geo.api.gouv.fr/departements/{{ dep }}?fields=region&quot;
          capture:
              - json: &quot;$.nom&quot;
                as: &quot;result&quot;   
      - log: &quot;this is {{ result }}&quot;
      - think: 1
</code></pre>
<p>I don't get error and I get my log &quot;this is Seine-et-Marne
| this is Seine-Maritime | this is Seine-et-Marne&quot;, which is enough for me.</p>
<p>Now I tried to use a CSV file with &quot;76&quot; and &quot;77&quot; from the path: &quot;../source/departement.csv&quot;:</p>
<pre><code>config:
  target: &quot;https://geo.api.gouv.fr/departements/01?fields=region&quot;
  phases:
    - duration: 3
      arrivalRate: 1
      name: Warm up
  payload:
    path: &quot;../source/departement.csv&quot;
    fields:
      - &quot;departement&quot;


scenarios:
  - name: &quot;Discover department&quot;
    flow:
      - get:
          url: &quot;https://geo.api.gouv.fr/departements/{{ departement }}?fields=region&quot;
          json:
            kw: &quot;{{ departement }}&quot; 
          capture:
              - json: &quot;$.nom&quot;
                as: &quot;result&quot;
      - log: &quot;c'est bon {{ result }} &quot;
      - think: 1
</code></pre>
<p>But this time I get errors:</p>
<pre><code>errors.ERR_GOT_REQUEST_ERROR: .................................................. 3
vusers.created: ................................................................ 3
vusers.created_by_name.Discover department: .................................... 3
vusers.failed: ................................................................. 3
</code></pre>
<p>Any ideas what's wrong?</p>
<p>To run the test, I'm using the command line:</p>
<p><code>artillery run &lt;script&gt;</code></p>
<p>Edit:
In the scenario, by changing:</p>
<pre><code>json:
     kw: &quot;{{ departement }}&quot; 
</code></pre>
<p>to:</p>
<pre><code>csv:
     kw: &quot;{{ departement }}&quot; 
</code></pre>
<p>I'm getting kind of good result:</p>
<pre><code>http.responses: .................................................. 3
vusers.completed: ................................................ 1
vusers.created: .................................................. 3
vusers.created_by_name.Discover department: ...................... 3
vusers.failed: ................................................... 2
</code></pre>
<p>Sometimes, it's either 1 or 2 vusers.failed, this is strange. The first method I wrote always return 0 vusers.failed.</p>
",https://stackoverflow.com/questions/73609585/artillery-get-request-to-api-with-parameters-in-a-file,"['javascript', 'node.js', 'artillery']",449,False,1,0
Jmeter load testing giving different values,"<p>when I am load testing for 100 users at rampup of 2 seconds I am getting different values for same users and same ramp up time why is this happening can anyone help?</p>
<p>in remote server
1st time
summary =    100 in 00:00:03 =   31.7/s Avg:  1916 Min:   985 Max:  2737 Err:     0 (0.00%)</p>
<p>2nd time
summary +      1 in 00:00:01 =    1.5/s Avg:   260 Min:   260 Max:   260 Err:     0 (0.00%) Active: 22 Started: 22 Finished: 0
summary +     99 in 00:00:02 =   65.6/s Avg:   113 Min:    18 Max:   371 Err:     0 (0.00%) Active: 0 Started: 100 Finished: 100
summary =    100 in 00:00:02 =   45.9/s Avg:   114 Min:    18 Max:   371 Err:     0 (0.00%)</p>
<p>3rd time
summary +      1 in 00:00:01 =    2.0/s Avg:    92 Min:    92 Max:    92 Err:     0 (0.00%) Active: 14 Started: 14 Finished: 0
summary +     99 in 00:00:02 =   58.7/s Avg:    26 Min:    13 Max:    92 Err:     0 (0.00%) Active: 0 Started: 100 Finished: 100
summary =    100 in 00:00:02 =   45.5/s Avg:    26 Min:    13 Max:    92 Err:     0 (0.00%)</p>
",https://stackoverflow.com/questions/74597875/jmeter-load-testing-giving-different-values,"['jmeter', 'load-testing']",45,False,0,1
Increase delay and load over time in jMeter,"<p>I'm trying to get an increase in delay/pause and load over time in jmeter load testing while keeping the sequence constant. For example -</p>
<ul>
<li>Initially - 10 samples (of 2 get requests - a,b,a,b,a,b...)</li>
<li>Then after 10 samples, a delay/pause of 10 secs and then 20 samples (a,b,a,b,a,b...)</li>
<li>After the 20 samples, another delay/pause of 20 secs; then 30 samples (a,b,a,b,a,b...)</li>
</ul>
<p>And so on.</p>
<p>Constraints here being -</p>
<ul>
<li>Getting exact number of samples</li>
<li>Getting the desired delay</li>
<li>The order of requests should be maintained</li>
</ul>
<p>The critical section controller helps with maintaining the order of threads but only in a normal thread group. So if I try the ultimate thread group to get the desired variable delay and load, the order and number of samples go haywire.</p>
<p>I've tried the following-</p>
<ul>
<li>Run test group consecutively</li>
<li>Flow control action</li>
<li>Throughput controller</li>
<li>Module controller</li>
<li>Interleave controller</li>
<li>Synchronizing timer (with and without flow control)</li>
<li>Add think times to children</li>
</ul>
<p>Is there any way to get this output in jMeter? Or should I just opt for scripting?</p>
",https://stackoverflow.com/questions/71312401/increase-delay-and-load-over-time-in-jmeter,"['testing', 'jmeter', 'load-testing']",463,False,0,1
Performance of Reading and Writing to Database: Can it be faster?,"<p>Basically this code that I've created uses super csv to read in a csv file, of which about half of them need to call the data base to then update a value. The high level description of code is that I read a csv file in row by row and if certain checks are successful then it query's to update the database with the new value.</p>
<p>I was told to do some basic load testing, never used any kind of tools before, but after using google chrome developer to get the upload times and the records amount I collected the following data.</p>
<p><a href=""https://i.stack.imgur.com/iWAEU.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/iWAEU.png"" alt=""enter image description here"" /></a></p>
<p>How accurate is google chrome developer tool when using it to measure time? because 2.68 seconds seems like a long time to read 18 records and update, 8? However, this seems to be roughly O(n log n ) right? Do you think it would be faster to do a only read and then a batch to database after? Would that be faster?</p>
<p>Anytime I query the database for existence of certain values, I use count and distinct, is there a more efficient way?</p>
<p>Any help would be greatly appreciated! here to learn all I can.</p>
",https://stackoverflow.com/questions/73325023/performance-of-reading-and-writing-to-database-can-it-be-faster,"['performance', 'performance-testing', 'database-performance']",200,True,0,1
"How do Uvicorn workers work, and how many do I need for a slim machine?","<p>The application I deploy is FastAPI with Uvicorn under K8s.
While trying to understand how I want to Dockerize the application I understood I want to implement Uvicorn without Gunicorn and to add a system of scale up/down by the load of the requests the application is getting.
I did a lot of load testing and discovered that with the default of 1 Uvicorn worker I'm getting 3.5 RPS, while changing the workers to 8 I can get easly 22 RPS (didn't check for more since its great results for me).</p>
<p>Now what I was expecting regarding the resources is that the CPU that I will have to provide will be with a limit of 8 (I assume every worker works on one process and thread), but I saw only increase in the memory usage, but barley in the CPU. maybe its because the app don't use that much CPU but indeed its possible for it to use more than 1 CPU? so far it didn't used more than one CPU.</p>
<p>How do Uvicorn workers work? How should I calculate how many workers I need for the app? I didn't find any useful information.</p>
<p>Again, my goal is to keep a slim machine of 1 cpu, with Autoscaling system.
<a href=""https://i.stack.imgur.com/BYZUL.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/BYZUL.png"" alt=""LOCUST screenshot of 20 RPS"" /></a></p>
<p><a href=""https://i.stack.imgur.com/W72vu.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/W72vu.png"" alt=""Grafana screenshot of CPU Usage"" /></a></p>
",https://stackoverflow.com/questions/74206034/how-do-uvicorn-workers-work-and-how-many-do-i-need-for-a-slim-machine,"['python', 'fastapi', 'worker', 'uvicorn', 'asgi']",563,True,2,2
gunicorn doesn&#39;t use all CPU resulting in lot of failed requests,"<p>I am load-testing a gunicorn server(uses Uvicorn workers with fastapi) on AWS EC2 machine that I sshed into and port mapped to(doing <code>ssh -L 8000:localhost:8000</code>), for all requests at port 8000 on my local machine to be routed to the EC2 machine.</p>
<p>And I am using k6 to generate artificial traffic(load-test) for gunicorn server in EC2 instance from my local machine. With ONLY 500-800 vus, upwards of 46% requests always fail, but the CPU usage of EC2 machine never goes past 30% for any of the 8 cores(from <code>htop</code>). I am using c5a.2xlarge machine(has 4cores or 8threads).</p>
<p>Here's how I am lauching the gunicorn from terminal(because of the config, gunicorn launches with 4 workers):</p>
<pre><code>$ gunicorn api.main:app --worker-class uvicorn.workers.UvicornWorker --user dockerd --capture-output --keep-alive 0 --port 8000
</code></pre>
<p>and the configuration file I am using is <a href=""https://github.com/tiangolo/uvicorn-gunicorn-docker/blob/master/docker-images/gunicorn_conf.py"" rel=""nofollow noreferrer"">from tiangolo's uvicorn-gunicorn-docker</a></p>
<p>This is a fastapi app, serving a scikit-learn model without any calls to database or anything like that. So, this is a completely cpu-bound app.</p>
<p>I am happy to provide more information as required.</p>
<p>Where and what changes do I make in uvicorn or gunicorn to be able to serve lots of requests with as less failure rate as possible, while using all resources to the maximum(or to the extent needed).</p>
",https://stackoverflow.com/questions/70912912/gunicorn-doesnt-use-all-cpu-resulting-in-lot-of-failed-requests,"['performance', 'load', 'gunicorn', 'fastapi', 'uvicorn']",1387,True,2,2
Test indexes on heavily-used table,"<p>While attempting to improve performance on a stored procedure, the execution plan reported some missing indexes (obvious wins). I see awful indexes on the table now - some repeated, some overlaps, some missing columns. I expect to drop some indexes entirely, update / consolidate others, and I <em>might</em> get to add one or two new ones (though I doubt it).</p>
<p>I've tuned indexes in the past, but on tables with relatively few sp's. This table has been identified as a problem but nobody's clear how to effectively test <strong>hundreds</strong> of dependent sp's. I believe I'll have to run every stored procedure, repeatedly, both before and after indexing, to demonstrate that any change is useful.</p>
<p>I've seen load-testing tools, and that inspired my first plan of attack. Is there an open-source tool that analyses the code / table and provides meaningful parameters, then executes hundreds of sp's in independent loops, multi-threaded? I hope not to have to hand-curate the parameter values. The server is rebooted weekly so historical patterns take a while to collect.</p>
<p>Second, is this the best approach? I've tuned indexes where only a few stored procedures were impacted, never anything at this scope - is there a better approach?</p>
<p>Thanks!</p>
",https://stackoverflow.com/questions/71577359/test-indexes-on-heavily-used-table,"['sql-server', 'performance', 'indexing']",46,False,0,0
Extracting responses from random samples in Jmeter,"<p>I am trying to do a load test where I have a request that returns a set of URLs in the response. I want to parse the response, extract these URLs from the response and make requests to <em>x%</em> of them.</p>
<p>For example, say I am load testing an endpoint called /test-something. When I hit the /test-something endpoint, I get <em>m</em> number of URLs in the response. For all the responses that I get back from the /test-something endpoint, I want to parse them and extract <em>x%</em> of the URLs and in turn make request to those <em>x%</em> URLs. I am also okay if there's a way to parse, extract and write those <em>x%</em> URLs in a file. I can then just run a post script that will parse these URLs from the file and make requests to them.</p>
<p>Please note that I expect all responses to have pretty much the same number of URLs in it.</p>
<p>I can think about doing it one of two ways. Either parse only <em>x%</em> of response samples or parse each response sample but extract only <em>x%</em> of the URLs.</p>
<p>Is there a way to do either of the above in Jmeter?</p>
<p>Any help is appreciated. Thanks!</p>
",https://stackoverflow.com/questions/73859025/extracting-responses-from-random-samples-in-jmeter,"['jmeter', 'jmeter-5.0']",32,False,0,1
Asp.net performance issue when storing sessions in Redis,"<p>In converting from storing sessions in SQL to instead storing sessions in Redis, we are seeing a major performance issue. I hope you are able to give us some hints on what could cause this.</p>
<p>The technical setup:</p>
<ul>
<li>An asp.net website compiled in .net framework 4.72.</li>
<li>An old Redis version 3.2 (Microsoft compiled version for Windows) running on same server.</li>
<li>Nuget: <a href=""https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-aspnet-session-state-provider"" rel=""nofollow noreferrer"">ASP.NET Session State Provider</a></li>
<li>Nuget: Stackexchange.Redis</li>
</ul>
<p>When running a performance load testing, with increasing number of virtual users (VUs), the server at about 400-500 virtual users hits some kind of wall, only processing a low number of requests as seen in this diagram:</p>
<p><a href=""https://i.stack.imgur.com/fY3Z8.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/fY3Z8.png"" alt=""performance issue diagram"" /></a></p>
<p>The performance testing is made by k6.io from a remote server.</p>
<p>Another tests shows that when overloaded, the server for 1-2 seconds stops processing and then processes a lot in less than 1 seconds, and then stops again and so on. So it experiences some kind of congestions, maybe a full queue or lock of some kind.</p>
<p>Looking into the server CPU usage, it just drops significantly when the issues arises.</p>
<p>I can only reproduce it on our server, not my local machine, even though I have tried replicating the same setup.</p>
<p>Same issue whether serializing data to Redis using Binary og JSON serializer.</p>
",https://stackoverflow.com/questions/71392133/asp-net-performance-issue-when-storing-sessions-in-redis,"['asp.net', 'session', 'redis', 'session-state', 'stackexchange.redis']",325,False,0,1
Intermittent signature expired error while testing lambda function using JMeter,"<p>I am load testing an application with 10 million concurrent users and could see intermittent 403 - forbidden error with below message:</p>
<pre><code>{&quot;message&quot;:&quot;Signature expired: 20221104T181501Z is now earlier than 20221104T182505Z (20221104T183005Z - 5 min.)&quot;}
</code></pre>
<p>Apllication is deployed on AWS wherein endpoints hits to lambda functions underneath API gateway which further intracts with S3. And this error comes only under heavy user load with some defined RPS, otherwise it works fine.</p>
<p>Since I am running the load from Blazemeter and setting some RPS limit to ~1500, suspecting Blazemeter is trying to put the delay between preprocessor where the code is written to generate sig4 signature and http request sampler. And sometimes these delay is more than 5 mins because of that x-amz-date used in header is five mins older than the actual time - when http request actually got invoked and causes these exceptions intermittently.</p>
<p>Wondering if we have any mechanism to invoke wait time first (as I need to set RPS limit from Blazemeter) followed by code written in preprocessor and finally http request of JMeter, this will make sure there is no much difference between generated time in code vs when http request got trigged. Please suggest on this or any other workaround which can help to overcome this issue.</p>
<p><a href=""https://github.com/jinlo02/Jmeter_AWS_Signature/blob/master/PRE_PROCESSOR.groovy"" rel=""nofollow noreferrer"">code used to generate AWS signature in preprocessor</a></p>
",https://stackoverflow.com/questions/74325805/intermittent-signature-expired-error-while-testing-lambda-function-using-jmeter,"['amazon-web-services', 'jmeter']",54,False,0,1
"How to add timer in jmeter script, which we can start at first call, poll the status &amp; stop once the first request is completed &amp; add assertions","<p>I am doing load testing on generating report and the requirement is like the report should get generated within 10mins.</p>
<p>It includes one HTTP post request for report generation, and then there is a status check call, which keeps on checking the status of the first request. Once the status of first request changes to complete then the report generation is successful.</p>
<p>Basically I want to start the timer at the begining of the first request and stop the timer once the status is complete and need to add assertion if the time is less than 10 mins then test is pass else fail.</p>
<p>I tried multiple approaches like using Transaction controller, and adding all request under it. But this doesn't give sum but the average response time of all the request under it.</p>
<p>Also, I tried beanshell listener, extracting the response time for every request and adding them all...</p>
<p><div class=""snippet"" data-lang=""js"" data-hide=""false"" data-console=""true"" data-babel=""false"">
<div class=""snippet-code"">
<pre class=""snippet-code-js lang-js prettyprint-override""><code>var responseTime;
props.put(""responseTime"", sampleResult.getTime());
log.info("" responseTime :::"" + props.get(""responseTime""));


log.info(""time: ""+ sampleResult.getTime());
props.put(""responseTime"", (sampleResult.getTime()+props.get(""responseTime"")));
log.info(""new responseTime :::"" + props.get(""responseTime""));</code></pre>
</div>
</div>
</p>
<p>However, I am not interested in adding the response time of these requests, instead I need to just know what is the time elapsed from when the report is triggered and till it gives status as complete.</p>
<p>All the jmeter timers are adding delays, I dnt wish to add delay instead I need it as a timer.</p>
<p>Any help is highly appreciated.</p>
<p>Thank you</p>
",https://stackoverflow.com/questions/73901110/how-to-add-timer-in-jmeter-script-which-we-can-start-at-first-call-poll-the-st,"['performance', 'timer', 'jmeter', 'load-testing', 'beanshell']",132,False,0,1
Laravel application stuck using Octane after x amount of requests,"<p>I'm currently upgrading an application to use Octane. At a glance I thought this was working great until I used K6 to do some load testing.</p>
<p>It might be worth mentioning at this point that I'm using Docker.</p>
<p>When running a 60s test with 20 vus I can see all the requests hitting (via CLI logs) and then at about 99% the logs stop and then test finishes with request timeout errors (99% success).</p>
<p>If I try to visit the application locally the requests are in a constant pending state (never terminates).</p>
<p>If I enter the container and try to interact with the application it simply does nothing (like the request, constantly hanging). I cant even exit the container at this point. If I try to kill the container I can't, I have to restart Docker.</p>
<p>If I cut the vus down to 10, the test finishes successfully. If I run the test again at about half way through it again dies.</p>
<p>It's as if once the application hits x amount of requests, it dies.</p>
<p>Also note that I have run these tests many times before installing Octane and they ran fine.</p>
<p>Has anyone else had any experience with Octane who has experienced the above?</p>
<p>Regards</p>
",https://stackoverflow.com/questions/72391308/laravel-application-stuck-using-octane-after-x-amount-of-requests,"['laravel', 'laravel-octane']",451,False,0,0
Is Quarkus reactive client really reactive?,"<p>I wanted to probe the reactive REST client from Quarkus for slow backends and did some load testing on their suggested sample (<a href=""https://github.com/quarkusio/quarkus-quickstarts/tree/main/rest-client-reactive-quickstart"" rel=""nofollow noreferrer"">https://github.com/quarkusio/quarkus-quickstarts/tree/main/rest-client-reactive-quickstart</a>) with just some minor modifications.
I have the following dependencies in my build.gradle with the Quarkus version set to 2.11.3.Final:</p>
<pre><code>dependencies {
    implementation enforcedPlatform(&quot;${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}&quot;)
    implementation 'io.quarkus:quarkus-rest-client-reactive'
    implementation 'io.quarkus:quarkus-resteasy-reactive'
    implementation 'io.quarkus:quarkus-arc'
    testImplementation 'io.quarkus:quarkus-junit5'
    testImplementation 'io.rest-assured:rest-assured'
}
</code></pre>
<p>I wanted to check the behavior for a slow answering backend with two variants</p>
<ul>
<li>Creating a new Uni and delaying its emission</li>
<li>Calling a locally running go server that does nothing more than waiting one second to respond (can be found here: <a href=""https://gist.github.com/s-macke/c3b1d0029ef61efc7ed2d22a4132cad2"" rel=""nofollow noreferrer"">https://gist.github.com/s-macke/c3b1d0029ef61efc7ed2d22a4132cad2</a>)</li>
</ul>
<p>My resource and client calling the backend look as follows:</p>
<pre><code>@Path(&quot;/reactive&quot;)
public class ReactiveResource {
    
    @RestClient
    TimeoutTestService service;
    
    @GET
    @Path(&quot;delay&quot;)
    @Produces(MediaType.TEXT_PLAIN)
    public Uni&lt;String&gt; reactiveThreadTimeout() {
        return Uni.createFrom().item(&quot;Hello RESTEasy&quot;)
                .onItem().delayIt().by(Duration.of(1, ChronoUnit.SECONDS));
    }
    
    @GET
    @Path(&quot;remote&quot;)
    @Produces(MediaType.TEXT_PLAIN)
    public Uni&lt;String&gt; reactiveRemoteTimeout() {
        return service.testTimeoutReactive();
    }
    
}
</code></pre>
<pre><code>@RegisterRestClient(baseUri = &quot;http://localhost:8500&quot;)
@Produces(MediaType.TEXT_PLAIN)
public interface TimeoutTestService {
    
    @GET
    @Path(&quot;/reactive&quot;)
    Uni&lt;String&gt; testTimeoutReactive();
    
}
</code></pre>
<p>With a load test I had no problems with the first variant with all requests being answered in 1 second even with 300 requests per second. In the second variant it worked perfectly with 20 rps but with more load response times slowly increased as if something was blocking the calling threads. I can rule out the go server as this can handle the 300 rps without problems when calling it directly. Maybe the problems are due to both Quarkus and the go server running on my local machine but I still would have expected better results with the reactive client.
Did anyone else observe similar problems when using the reactive client with more than basic load?</p>
",https://stackoverflow.com/questions/73605586/is-quarkus-reactive-client-really-reactive,"['java', 'quarkus', 'reactive']",423,True,3,1
Stress testing Postgres queries using K6 [No space on device error],"<p>I'm trying to use <a href=""https://github.com/grafana/xk6-sql"" rel=""nofollow noreferrer"">k6</a> to stress test postgres queries.</p>
<p>I am running postgres through docker and allocated following resources through settings :
CPUs: 4, Memory: 10 GB, Swap: 2GB and Disk image size: 280 GB.</p>
<p>When I did load testing for a query, everything works for up to 45 virtual users but once I increase that to 50 I'm getting the following error :</p>
<pre><code>GoError: pg: could not resize shared memory segment &quot;/PostgreSQL.440965520&quot; to 182976 bytes: No space left on device
</code></pre>
<br>
<p>There are 3 tables (actor, actor_movies and movies). To keep track of which actor has played a role in which movie. I wanted to do a full-text search on 4 fields and so created a materialized view over the join of these tables, roughly around <strong>3 million rows.</strong></p>
<p>I think that the error says that there's not enough resource, but is there anything that I can do to mitigate this.</p>
<p>Please let me know if the question is not clear and if it's missing something.<br>
Thanks :)</p>
<p><strong>EDIT 1</strong>
As @jjanes mentioned in comments.
Following things worked for me :</p>
<ol>
<li>setting max_parallel_workers_per_gather = 0.</li>
<li>reducing work_mem from 4MB to 2 MB.</li>
<li>Increasing the size of shared_buffers from 128MB to 256MB (it should've 15% of actual ram i.e 1.5 GB).</li>
</ol>
<p>Then I started getting this error, which I believe is another config change. <em>GoError: pq: sorry, too many clients already</em> which can be fixed with another config change.</p>
",https://stackoverflow.com/questions/72367078/stress-testing-postgres-queries-using-k6-no-space-on-device-error,"['postgresql', 'docker', 'stress-testing', 'k6']",489,False,1,0
MongoWaitQueueFullException when wait queue is still empty,"<p>I am using MongoDB C# driver version 2.17.0 in a prod service and found that the service faces a lot of MongoDB.Driver.MongoWaitQueueFullException every day. Initially I thought that the service was getting a lot of requests and it was hitting the wait queue limits. So, I started tracking connection count and wait queue size per service instance with <a href=""https://mongodb.github.io/mongo-csharp-driver/2.17/reference/driver_core/events/"" rel=""nofollow noreferrer"">events</a>.</p>
<p>Then I found that the service was well below the default active connection limit of 100 and the wait queue was empty most of the time too. But the exception was happening whenever there was a sharp rise in requests to open new connections to MongoDB. For example, 30 requests to open new connections in 10 seconds. I was able to re-produce this locally with k6 load testing tool. I made 100 requests gradually in 10 seconds and a small percentage (approx. 3% to 7%) of requests failed due to MongoWaitQueueFullException on multiple runs.</p>
<p>Is it possible to avoid this error since the service is not actually hitting the wait queue limits? One potential solution that comes to my mind is to open a minimum number of connections on startup so that my service always has some available connections to spare and can deal with sharp increase in requests more gracefully. Is there any other potential solution?</p>
",https://stackoverflow.com/questions/74595749/mongowaitqueuefullexception-when-wait-queue-is-still-empty,"['c#', 'mongodb', 'asp.net-core']",29,False,0,0
Jmeter + Taurus. How to set up thread group properties via property function,"<p>I am currently working on testing small API for our company, where we need to randomly spread number of calls to all methods of API. I am using Jmeter 5.3 and taurus.</p>
<p>Number of threads is generated via JSR223 sampler groovy script based on number specified in passed property file. Rampup period and loop count are specified by calling functions <code>${__P(rampup.period,)}</code> <code>${__P(loop.count,)}</code> </p>
<p>The problem is that when I am running jmeter standalone from command line all functions work correctly. But if I try to use taurus with that scenario all thread groups that acquire rampup period, loop count and thread count from properties are not working. It seems like jmeter cannot acquire properties via functions when run in taurus. Below are my scenario and property files. I have to omit some of the data from file which may be confidential</p>
<p>My taurus yml is:</p>
<pre><code>execution:
  - executor: jmeter
    scenario: test

scenarios:
  test:
    script: *path to jmx file here*

included-configs:
- *path to yml property file here*

modules:
  jmeter:
    path: *path to existing jmeter executor here*

reporting:
- module: console
- module: final-stats
  summary: true  # overall samples count and percent of failures
  percentiles: true  # display average times and percentiles
  failed-labels: false  # provides list of sample labels with failures
  test-duration: true  # provides test duration
</code></pre>
<p>Part of my yml file with properties:</p>
<pre><code>number.of.users: 10000
rampup.period: 300
loop.count: 1
client.id: *client id*
array.of.clients: [*array of ids*]
eks.ids: [1,2,3]
</code></pre>
<p>I am fairly new to taurus, jmeter and load testing in general. Am I doing something wrong (maybe I have to acquire properties or pass them some other way) or is it a bug of sorts? The only workaround I can think of now is put all properties via JSR sampler by using <code>props.put</code> and then executing something like ${__groovy(props.get('loop.count'),)} (for some reason in this version of jmeter you can access props that were put via script only in this manner)</p>
",https://stackoverflow.com/questions/72025071/jmeter-taurus-how-to-set-up-thread-group-properties-via-property-function,"['testing', 'jmeter', 'load-testing', 'taurus']",471,True,0,1
Scaling elastic search for read heavy applications,"<p>We have Node JS (Nest JS / Express) - based application services on the GCP cloud.</p>
<p>We are using elastic search to support <code>full-text search on a blog/news website</code>.</p>
<p>Our requirement is to support <code>2000 reads per second minimum.</code></p>
<p>While performing load testing, we observed that until a concurrency of 300 is reached, elastic search performs well and response times are acceptable.</p>
<p>CPU usage also spikes under this load. But, when the load is increased to <code>500 or 1000</code>, CPU usage drops, and response times increase drastically.</p>
<p>What we don't understand is, why our CPU usage is 80% for a load of 300 and just 30 ~ 40% when load increases. Shouldn't CPU pressure increase with load?</p>
<p>What is the right way to tune elastic search for read-heavy usage? (Our write frequency is just 1 document in 2-3 hours)</p>
<p>We have one single index with approx 2 million documents. The index size is just 6GB.</p>
<p>Elastic cluster is deployed on Kubernetes using helm charts with:</p>
<pre><code> - 1 dedicated master node 
 - 1 dedicated coordinating node
 - 5 dedicated data nodes
</code></pre>
<p>Considering the small data size, the index is not sharded and the number of reading replicas is set to <code>4.</code></p>
<p>The index refresh rate is set to <code>30 sec.</code></p>
<p>RAM allocated to each data node is 2GB and the heap size is 1GB
CPU allocated to each data node is 1 vCPU</p>
<p>We tried to increase the search thread pool size up to <code>20 and queue_size to 10000</code> but that didn't help much either</p>
",https://stackoverflow.com/questions/74204695/scaling-elastic-search-for-read-heavy-applications,"['node.js', 'elasticsearch', 'kubernetes', 'concurrency', 'scaling']",40,False,0,0
Unexplained latency with ValueOperations using Jedis,"<p>We have Spring Boot web services hosted on AWS. They make frequent calls to a Redis Cluster cache using Jedis.</p>
<p>During load testing, we're seeing increased latency around ValueOperations that we're having trouble figuring out.</p>
<p>The method we've zoomed in on does two operations, a get followed by an expire.</p>
<pre><code>public MyObject get(String key) {
    var obj = (MyObject)valueOps.get(key);
    if (obj != null) {
        valueOps.getOperations().expire(key, TIMEOUT_S, TimeUnit.SECONDS)
    }
}
</code></pre>
<p>Taking measurements on our environment, we see that it takes 200ms to call &quot;valueOps.get&quot; and another 160ms calling &quot;expire&quot;, which isn't an acceptable amount of latency.</p>
<p>We've investigated these leads:</p>
<ul>
<li>Thread contention. We don't currently suspect this. To test, we configured our JedisConnectionFactory with a JedisPoolConfig that has blockWhenExhausted=true and maxWaitMs=100, which if I understand correctly, means that if the connection pool is empty, a thread will block for 100ms waiting for a connection to be released before it fails. We had 0 failures running a load test with these settings.</li>
<li>Slow deserializer. We have our Redis client configured to use GenericJackson2JsonRedisSerializer. We see latency with the &quot;expire&quot; call, which we don't expect has to use the deserializer at all.</li>
<li>Redis latency. We used Redis Insights to inspect our cluster, and it's not pegged on memory or CPU when the load test is running. We also examined slowlog, and our slowest commands are not related to this operation (our slowest commands are at 20ms, which we're going to investigate).</li>
</ul>
<p>Does anyone have any ideas? Even a &quot;it could be this&quot; would be appreciated.</p>
",https://stackoverflow.com/questions/71606467/unexplained-latency-with-valueoperations-using-jedis,"['redis', 'spring-data-redis', 'jedis']",120,False,0,0
How to iterate over a loop to make multiple client connections with socket server async,"<p>Here I have the async code in python-socketio from the docs   <a href=""https://python-socketio.readthedocs.io/"" rel=""nofollow noreferrer"">https://python-socketio.readthedocs.io/</a></p>
<p>I'm able to establish the single connection between client and server and emit few messages. but i just want to create more number of clients connected to socket server and parallelly wants to observe the performance of the emit messages.</p>
<p><strong>client.py</strong></p>
<pre><code>import random
import gevent
import time
import socketio
import asyncio

class ConnectionTest():
     def __init__(self):
        self.sio = socketio.AsyncClient(handle_sigint=True, logger=True, engineio_logger=True)


     async def listen_to_redis(self):
        await self.sio.connect('http://dfs.confec.co.in/?socket_qa2=True&amp;session_id='+str(random.randint(1,100000))) 
        @self.sio.on('custom_event')
        async def on_custom_event(data):
            await self.sio.emit('message', '27 July 2015) was an Indian aerospace scientist')
        @self.sio.on('client')
        async def on_client(data):
            pass

     async def run(self):
        await self.listen_to_redis() 

     async def main():
        async def iterations(i):
            print(&quot;connection :&quot;,i)
            obj1 = ConnectionTest()
            await obj1.run()
            await obj1.sio.wait()
       x = [iterations(i) for i in range(2000)]
       await asyncio.gather(*x)


if __name__ == '__main__':
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    loop.run_until_complete(main())
</code></pre>
<p><strong>Server.py</strong></p>
<pre><code>import uvicorn
import asyncio
import socketio
import aiohttp


url='redis://my_master:q2_gadse@10.1.7.4:6379/0'
channel='public_chat'
mgr = socketio.AsyncRedisManager(url=url, channel=channel, write_only=False)
sio = socketio.AsyncServer(async_mode='aiohttp',client_manager=mgr, async_handlers=True, logger=True, engineio_logger=True)

app = aiohttp.web.Application()
sio.attach(app)

@sio.on('connect')
async def test_connect(sid, environ):
      print('connected', sid)


@sio.event
async def message(sid, message):
      await sio.emit('client', message)



@sio.on('disconnect')
async def test_disconnect(sid):
    print('Client disconnected')


if __name__=='__main__':
    aiohttp.web.run_app(app, host='0.0.0.0', port=31451)
</code></pre>
<p><strong>Update:</strong></p>
<p>I'm able to get the performance for multiple asyncclient objects and i updated the code as well but I m not sure of why the cpu is 100% all the time with any of the deployment strategies. My target is to  get atleast 5000 connections with a single processor and earlier my target was 10,000.</p>
<p>Hardware which I have is 4GB ram with 2 cores and 4 cores. I'm running client and server in different linux nodes. I see the client is quickly hitting the 100-200%cpu and server is somehow managing as I was using redis as a middleware to emit from outside script.</p>
<p>I have gone through the python-socketio document but I have not seen the section for performance tuning/Load testing/Stress like socket.io in nodejs. Here's the stats that I would like to show and how can i achieve the connections with atleast 5000 per process. Is there any code changes i could make for it. I need valuable suggestion as I was struck with it.</p>
<p><a href=""https://i.stack.imgur.com/zM7DP.png"" rel=""nofollow noreferrer"">stress stats</a></p>
",https://stackoverflow.com/questions/72979818/how-to-iterate-over-a-loop-to-make-multiple-client-connections-with-socket-serve,"['python', 'websocket', 'socket.io', 'python-socketio']",264,False,0,0
Implement concurrent data fetch from Azure Redis cache in python,"<p>I am currently working on building low latency model inference API using fast API, we are using azure redis cache standard version for fetching features and onnx model for fast model inference. I am using aioredis to implement concurrency for data read in redis.
I am calling two feature request from redis one for userID that fetch single string and other for product that fetches list of strings, this later I convert to list of float using json parsing.</p>
<p>For one request overall its taking 70-80ms but for more than 10 concurrent request the redis is taking more than 400ms to fetch results which is huge and can increase linearly over more concurrent users while load testing.</p>
<p>The code for getting data from redis is:</p>
<pre><code>import numpy as np
import json
from ..Helpers.helper import curt_giver, milsec_calc
import aioredis
r = aioredis.from_url(&quot;redis://user:host&quot;,decode_responses=True)

async def get_user(user:list) -&gt; str:
    user_data = await r.get(user)
    return user_data
async def get_products(product:list)-&gt; list:
    product_data = await r.mget(product)
    return product_data

async def get_features(inputs: dict) -&gt; list:
    
    st = curt_giver()
    user_data = await get_user(inputs['userId'])
    online_user_data = [json.loads(json.loads(user_data))]
    end = curt_giver()
    print(&quot;Time to get user features: &quot;, milsec_calc(st,end))
    
    st = curt_giver()
    product_data = await get_products(inputs['productIds'])
    online_product_data = []
    for i in product_data:
        online_product_data.append(json.loads(json.loads(i)))
    end = curt_giver()
    print(&quot;Time to get product features: &quot;, milsec_calc(st,end))

    user_outputs = np.asarray(online_user_data,dtype=object)
    product_outputs = np.asarray(online_product_data,dtype=object)
    output = np.concatenate([np.concatenate([user_outputs]*product_outputs.shape[0])
    ,product_outputs],axis = 1)
    return output.tolist()
</code></pre>
<p>curt_giver() is time in milliseconds.
The code from main file is:</p>
<pre class=""lang-py prettyprint-override""><code>    from fastapi import FastAPI
    from v1.redis_conn.get_features import get_features
    
    from model_scoring.score_onnx import score_features
    from v1.post_processing.sort_results import sort_results
    
    from v1.api_models.input_models import Ranking_Input
    from v1.api_models.output_models import Ranking_Output
    from v1.Helpers.helper import curt_giver, milsec_calc
    import numpy as np
    
    
    app = FastAPI()
    
    # Sending user and product ids through body, 
    # Hence a POST request is well suited for this, GET has unexpected behaviour
    @app.post(&quot;/predict&quot;, response_model = Ranking_Output)
    async def rank_products(inp_req: Ranking_Input):
      beg = curt_giver()
      reqids = inp_req.dict()
      st = curt_giver()
      features = await get_features(reqids)
      end = curt_giver()
    
      print(&quot;Total Redis duration ( user + products fetch): &quot;, milsec_calc(st,end))
    
      data = np.asarray(features,dtype=np.float32,order=None)
      
      st = curt_giver()
      scores = score_features(data)
      end = curt_giver()
    
      print(&quot;ONNX model duration: &quot;, milsec_calc(st,end))
    
      Ranking_results = sort_results(scores, list(reqids[&quot;productIds&quot;]))
      end = curt_giver()
      print(&quot;Total time for API: &quot;,milsec_calc(beg,end))
      resp_json = {&quot;requestId&quot;: inp_req.requestId,
      &quot;ranking&quot;: Ranking_results,
      &quot;zipCode&quot;: inp_req.zipCode}
    
      return resp_json    
</code></pre>
<p>Through the timings I can read that for one request its taking very less time but for concurrent user the time for getting product data is keep on increasing linearly.
Time to fetch one request all values are in milliseconds:</p>
<pre><code>Time to get user features:  1
Time to get product features:  47
Total Redis duration ( user + products fetch):  53
ONNX model duration:  2
Total time for API:  60
</code></pre>
<p>Time to fetch for more than 10 concurrent request:</p>
<pre><code>Time to get user features:  151
Time to get user features:  150
Time to get user features:  151
Time to get user features:  52
Time to get user features:  51
Time to get product features:  187
Total Redis duration ( user + products fetch):  433
ONNX model duration:  2
Total time for API:  440
INFO:     127.0.0.1:60646 - &quot;POST /predict HTTP/1.0&quot; 200 OK
Time to get product features:  239
Total Redis duration ( user + products fetch):  488
ONNX model duration:  2
Total time for API:  495
INFO:     127.0.0.1:60644 - &quot;POST /predict HTTP/1.0&quot; 200 OK
Time to get product features:  142
Total Redis duration ( user + products fetch):  297
ONNX model duration:  2
Total time for API:  303
INFO:     127.0.0.1:60648 - &quot;POST /predict HTTP/1.0&quot; 200 OK
Time to get product features:  188
Total Redis duration ( user + products fetch):  342
ONNX model duration:  2
Total time for API:  348
</code></pre>
<p>Its keep on increasing for more, hitting even 900ms+ to fetch both data from redis, Is there  any way I can efficiently fetch concurrent data with low latency and increasing concurrent request like 500 and doesn't effect the latency, my target is under 300ms for 300 request concurrently every second.</p>
<p>I am stuck at this point any help, I will be very grateful.</p>
",https://stackoverflow.com/questions/73090185/implement-concurrent-data-fetch-from-azure-redis-cache-in-python,"['python', 'redis', 'python-asyncio', 'fastapi', 'aioredis']",286,True,1,2
Cannot connect to remote ray.io cluster,"<p>I'm trying to connect to remote ray.io cluster head node using ray.init(address=&quot;{node_external_ip}:6379&quot;) for further remote procedure call load testing.</p>
<p>I launch the head node with the following command:</p>
<pre><code>ray start --head --node-ip-address &lt;node-external-IP&gt;
</code></pre>
<p>(Note: I specify the head node's external IP, since otherwise, according to results of my previous attempts, the client would fail to establish connection with remote cluster at all. TCP port used is default 6379, I double checked that it's open and accessible).</p>
<p>After that, although the client succeeds to establish connection with remote cluster:</p>
<pre><code>Connecting to existing Ray cluster at address: &lt;node-external-IP&gt;:6379...

global_state_accessor.cc:357: This node has an IP address of &lt;client-internal-IP&gt;, while we can not found the matched Raylet address. This maybe come from when you connect the Ray cluster with a different IP address or connect a container.

Connected to Ray cluster.
</code></pre>
<p>...it consequently fails with the following message:</p>
<pre><code>Failed to get the system config from raylet because it is dead. Worker will terminate. Status: GrpcUnavailable: RPC Error message: failed to connect to all addresses; RPC Error details:  .Please see `raylet.out` for more details.
</code></pre>
<p>In its turn, <code>raylet.out</code> at the remote cluster side contains the following log record:</p>
<pre><code>The raylet exited immediately because the Ray agent failed. The raylet fate shares with the agent. This can happen because the Ray agent was unexpectedly killed or failed. See `dashboard_agent.log` for the root cause.
</code></pre>
<p>...while the <code>dashboard_agent.log</code> shows:</p>
<pre><code>ERROR agent.py:473 -- Agent is working abnormally. It will exit immediately.
(...)
grpc.aio._call.AioRpcError: &lt;AioRpcError of RPC that terminated with:
    status = StatusCode.UNAVAILABLE
    details = &quot;failed to connect to all addresses&quot;
    debug_error_string = &quot;{&quot;created&quot;:&quot;@1661955376.270755430&quot;,&quot;description&quot;:&quot;Failed to pick subchannel&quot;,&quot;file&quot;:&quot;src/core/ext/filters/client_channel/client_channel.cc&quot;,&quot;file_line&quot;:3134,&quot;referenced_errors&quot;:[{&quot;created&quot;:&quot;@1661955376.270754305&quot;,&quot;description&quot;:&quot;failed to connect to all addresses&quot;,&quot;file&quot;:&quot;src/core/lib/transport/error_utils.cc&quot;,&quot;file_line&quot;:163,&quot;grpc_status&quot;:14}]}&quot;
</code></pre>
<p>TCP port for the dashboard is also open and accessible.
When launched with <code>--include-dashboard false</code> CLI option, results are the same, and log records are identical even for the <code>dashboard_agent.log</code></p>
<p>Also, several seconds after being lauched with <code>--block</code> option, the head node dies with the following message:</p>
<pre><code>Some Ray subprocesses exited unexpectedly:
  raylet [exit code=1]

Remaining processes will be killed.
</code></pre>
<p>Log records are absolutely the same.</p>
<p>I made sure that both client and remote cluster head node use the same versions of Python and ray (tested with ray 1.12.0, 1.13.0, 2.0.0; Python 3.9.13, 3.10.5).</p>
<p>I've also tried to specify _node_ip_address and adding &quot;ray://&quot; when calling ray.init(), and it still fails.</p>
<p>Client-side OS: Manjaro Linux x86_64, kernel 5.10.136-1-MANJARO.</p>
<p>Remote cluster-side OS: Ubuntu 20.04 x86_64, kernel 5.13.0-1031-aws (it's an AWS EC2 instance). I also tried to deploy remote cluster on a physical machine with above mentioned Manjaro Linux setup and got the same result.</p>
<p>Docker is not being used.</p>
<p>What could be workarounds for this issue?</p>
",https://stackoverflow.com/questions/73558532/cannot-connect-to-remote-ray-io-cluster,"['python', 'linux', 'ray']",1190,True,0,1
What can cause an async webapi endpoint to act synchronously?,"<p>I am creating async api endpoints in DNN (Formerly DotNetNuke).</p>
<p>It is an open source CMS and the source code is here: <a href=""https://github.com/dnnsoftware/Dnn.Platform"" rel=""nofollow noreferrer"">https://github.com/dnnsoftware/Dnn.Platform</a>
It's mainly a webforms application but it supports webapi and MVC too.</p>
<p>Here is the code I have:</p>
<pre class=""lang-cs prettyprint-override""><code>[HttpGet]
[AllowAnonymous]
public async Task&lt;IHttpActionResult&gt; TestAsync()
{
    await Task.Delay(2000);
    return this.Ok(new { message = &quot;Hello from async.&quot; });
}

[HttpGet]
[AllowAnonymous]
public IHttpActionResult TestSync()
{
    Thread.Sleep(2000);
    return this Ok(new { message = &quot;Hello from sync.&quot; });
}
</code></pre>
<p>When I do load testing comparing the same method with and without async I get about the same results and it looks like even though the async endpoints work fine, they do not behave async.</p>
<p>If I run the very same endpoints and load tests in a new web application project I get about triple the throughput on the async endpoint vs the normal one.</p>
<p>My question is, what could make this behave non-async in DNN ?</p>
<p>It am putting some links here to what I have looked at in case someone has a clue on what could be the issue.</p>
<p>Looks like default.aspx is setup with async although I guess the webapi pipeline does not depend on default.aspx
<a href=""https://github.com/dnnsoftware/Dnn.Platform/blob/develop/DNN%20Platform/Website/Default.aspx"" rel=""nofollow noreferrer"">https://github.com/dnnsoftware/Dnn.Platform/blob/develop/DNN%20Platform/Website/Default.aspx</a></p>
<p>My controller class inherits from DnnApiController
<a href=""https://github.com/dnnsoftware/Dnn.Platform/blob/develop/DNN%20Platform/DotNetNuke.Web/Api/DnnApiController.cs"" rel=""nofollow noreferrer"">https://github.com/dnnsoftware/Dnn.Platform/blob/develop/DNN%20Platform/DotNetNuke.Web/Api/DnnApiController.cs</a></p>
<p>Dependency injection is used to find all the controllers that implement DnnApiController
<a href=""https://github.com/dnnsoftware/Dnn.Platform/blob/develop/DNN%20Platform/DotNetNuke.Web/Api/DnnApiController.cs"" rel=""nofollow noreferrer"">https://github.com/dnnsoftware/Dnn.Platform/blob/develop/DNN%20Platform/DotNetNuke.Web/Api/DnnApiController.cs</a></p>
<p>Routes are registered this way:
<a href=""https://github.com/dnnsoftware/Dnn.Platform/blob/9f83285a15d23203cbaad72d62add864ab5b8c7f/DNN%20Platform/DotNetNuke.Web/Api/Internal/ServicesRoutingManager.cs"" rel=""nofollow noreferrer"">https://github.com/dnnsoftware/Dnn.Platform/blob/9f83285a15d23203cbaad72d62add864ab5b8c7f/DNN%20Platform/DotNetNuke.Web/Api/Internal/ServicesRoutingManager.cs</a></p>
<p>I am unsure how this pipeline works and if maybe I missed some obvious entry point that simply needs to be made async or what. Any help is welcome.</p>
",https://stackoverflow.com/questions/70996885/what-can-cause-an-async-webapi-endpoint-to-act-synchronously,"['c#', 'asp.net', 'async-await', 'dotnetnuke', 'dnn9']",88,False,0,0
Istio outlier detection not working as expected,"<p>I am testing out Istio's circuit breaking capabilities. I am able to circuit break based on the http connections but when I tried to test based on outlierDetection it does not work.</p>
<p>I have made a simple DestinationRule</p>
<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: my-service-circuit-breaker
  namespace: test
spec:
  host: my-service.test.svc.cluster.local
  trafficPolicy:
    outlierDetection:
      consecutiveGatewayErrors: 1
      consecutive5xxErrors: 1
      interval: 1m
      baseEjectionTime: 1m
      maxEjectionPercent: 100

</code></pre>
<p>My service has a POST request with a URL param and a JSON body. The URL param is the status code to return to the caller and JSON body is to tell the service to sleep for the x number of seconds.</p>
<p>My service has a URI like: /test/&lt;status_code&gt;. (When I want to test I can send /test/503 or /test/200 so it returns the response I want.</p>
<pre><code>// JSON Body
{
    &quot;duration&quot;: 1
}
</code></pre>
<p>I have checked the istioctl proxy-config cluster command and the outlier detection is configured for the service</p>
<pre><code>        &quot;outlierDetection&quot;: {
            &quot;consecutive5xx&quot;: 1,
            &quot;interval&quot;: &quot;60s&quot;,
            &quot;baseEjectionTime&quot;: &quot;60s&quot;,
            &quot;maxEjectionPercent&quot;: 100,
            &quot;enforcingConsecutive5xx&quot;: 100,
            &quot;enforcingSuccessRate&quot;: 0,
            &quot;consecutiveGatewayFailure&quot;: 1,
            &quot;enforcingConsecutiveGatewayFailure&quot;: 100
        },
</code></pre>
<p>When I try to trip the circuit breaker by sending a POST request to the service /test/503. Subsequent calls with /test/200 still hit the service and return a 200 response. I am sending the calls locally from my PC, using fortio for load testing. I have tried using POSTMAN and exec into a pod within the same cluster to run curls to try to trip the endpoint but it still does not trip the circuit breaker.</p>
<p>I am running the service on 1 pod. (I have tried running 2 pods and specifically sending a 503 request to 1 pod and calling the service, however it doesn't seem like the pod that returned the 503 response was ejected from the load balancing pool as it still processed the subsequent request)</p>
<p>Istio version is 1.6.14</p>
",https://stackoverflow.com/questions/73503949/istio-outlier-detection-not-working-as-expected,"['istio', 'circuit-breaker']",158,False,0,1
Golang API giving higher response time with increasing number of concurrent users,"<p>I am having some problems with the concurrent HTTP connection in the golang. Kindly read the whole question,  and as the actual code is quite long, I am using pseudocode</p>
<p>In short, I have to create a single API, which will internally call 5 other APIs, unify their response, and send them as a single response.
I am using goroutines to call those 5 internal APIs along with timeout, and using channels to ensure that every goroutine has been completed, then I unify their response, and return the same.</p>
<p>Things are going fine when I do local testing, my response time is around 300ms, which is pretty good.</p>
<p>The problem arises when I do the locust load testing of 200 users, then my response time go as high as 7 8 sec. I am thinking it has to do with the HTTP client waiting for the resources as we are running a high number of goroutines.</p>
<p>like 1 API spin up 5 go-routine,  so if each of  200 users makes API requests at the rate of supposing 5 req/sec. Then a total number of goroutines goes way higher. Again this is my assumption only</p>
<blockquote>
<p>p.s. normally the API I am building is pretty good in response time,
I am using all the caching and stuff and any response greater than
400ms should not be the case</p>
<p>So can anyone please tell me how can I tackle this problem of
increasing response time when number of concurrent users increases</p>
</blockquote>
<hr />
<p><strong>Locust test report</strong>
<a href=""https://i.stack.imgur.com/LIQ1A.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/LIQ1A.png"" alt=""enter image description here"" /></a></p>
<hr />
<p><em><strong>pseudo code</strong></em></p>
<p>simple route</p>
<pre><code>group.POST(&quot;/test&quot;, controller.testHandler)
</code></pre>
<p>controller</p>
<pre><code>type Worker struct {
    NumWorker int
    Data      chan structures.Placement
}

e := Worker{
    NumWorker: 5, // Number of worker goroutine(s)
    Data:      make(chan, 5) /* Buffer Size */),
}

//call the goroutines along with the 
for i := 0; i &lt; e.NumWorker; i++ {

    // Do some fake work
    wg.Add(1)
    go ad.GetResponses(params ,chan ,  &amp;wg) //making HHTP call and returning the response in the channel

}

for v := range resChan {
    //unifying all the response, and return the same as our response
    switch v.Tyoe{
    case A :
        finalResponse.A = v
    case B
        finalResponse.B  = v
    } 
}

return finalResponse



</code></pre>
<p>Request HTTP client</p>
<pre><code>//i am using a global http client with custom transport , so that i can effectively use the resources
var client *http.Client

func init() {
    tr := &amp;http.Transport{
        MaxIdleConnsPerHost: 1024,
        TLSHandshakeTimeout: 0 * time.Second,
    }

    tr.MaxIdleConns = 100
    tr.MaxConnsPerHost = 100
    tr.MaxIdleConnsPerHost = 100

    client = &amp;http.Client{Transport: tr, Timeout: 10 * time.Second}
}



func GetResponses(params , chan  ,wg){
    res = client.Do(req)
    chan &lt;- res

}

</code></pre>
",https://stackoverflow.com/questions/70775416/golang-api-giving-higher-response-time-with-increasing-number-of-concurrent-user,"['go', 'concurrency', 'goroutine']",897,True,-2,1
What could cause a sqlite application to slow down over time with high load?,"<p>I'll definitely need to update this based on feedback so I apologize in advance.</p>
<p>The problem I'm trying to solve is roughly this.</p>
<p><a href=""https://i.stack.imgur.com/UJxnU.png"" rel=""noreferrer""><img src=""https://i.stack.imgur.com/UJxnU.png"" alt=""enter image description here"" /></a></p>
<p>The graph shows Disk utilization in the Windows task manager. My sqlite application is a webserver that takes in json requests with timestamps, looks up the existing entry in a 2 column key/value table, merges the request into the existing item (they don't grow over time), and then writes it back to the database.</p>
<p>The db is created as follows. I've experimented with and without WAL without difference.</p>
<pre class=""lang-kotlin prettyprint-override""><code>createStatement().use { it.executeUpdate(&quot;CREATE TABLE IF NOT EXISTS items ( key TEXT NOT NULL PRIMARY KEY, value BLOB );&quot;) }
</code></pre>
<p>The write/set is done as follows</p>
<pre class=""lang-kotlin prettyprint-override""><code>try {
    val insertStatement = &quot;INSERT OR REPLACE INTO items (key, value) VALUES (?, ?)&quot;
    prepareStatement(insertStatement).use {
        it.setBytes(1, keySerializer.serialize(key))
        it.setBytes(2, valueSerializer.serialize(value))
        it.executeUpdate()
    }
    commit()
} catch (t: Throwable) {
    rollback()
    throw t
}

</code></pre>
<p>I use a single database connection the entire time which seems to be ok for my use case and greatly improves performance relative to getting a new one for each operation.</p>
<pre class=""lang-kotlin prettyprint-override""><code>val databaseUrl = &quot;jdbc:sqlite:${System.getProperty(&quot;java.io.tmpdir&quot;)}/$name-map-v2.sqlite&quot;
if (connection?.isClosed == true || connection == null) {
    connection = DriverManager.getConnection(databaseUrl)
}
</code></pre>
<p>I'm effectively serializing access to the db. I'm pretty sure the default threading mode for the sqlite driver is to serialize and I'm also doing some serializing in kotlin coroutines (via actors).</p>
<p>I'm load testing the application locally and I notice that disk utilization spikes around the one minute mark but I can't determine why. I know that throughput plummets when that happens though. I expect the server to chug along at a more or less constant rate. The db in these tests is pretty small too, hardly reaches 1mb.</p>
<p>Hoping people can recommend some next steps or set me straight as far as performance expectations. I'm assuming there is some sqlite specific thing that happens when throughput is very high for too long, but I would have thought it would be related to WAL or something (which I'm not using).</p>
",https://stackoverflow.com/questions/71963259/what-could-cause-a-sqlite-application-to-slow-down-over-time-with-high-load,"['sqlite', 'jdbc']",677,False,5,2
ActiveMQ Artemis performance loss,"<p>I have an app to send and receive messages (simplified). With these routes when you send an HTTP request to <code>http://0.0.0.0:8089/put-message</code> a JMS message is then sent to <code>my-queue</code>, and then when an HTTP request is sent to <code>http://0.0.0.0:8089/get-message</code> Camel tries to consume a JMS message from <code>my-queue</code> and return the body of that message to the HTTP client:</p>
<pre class=""lang-xml prettyprint-override""><code>&lt;blueprint xmlns=&quot;http://www.osgi.org/xmlns/blueprint/v1.0.0&quot;
       xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
&gt;
    &lt;bean id=&quot;artemisConnectionFactory&quot; class=&quot;org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory&quot;&gt;
        &lt;argument index=&quot;0&quot; value=&quot;${jms.url}&quot;/&gt;
        &lt;argument index=&quot;1&quot; value=&quot;${jms.username}&quot;/&gt;
        &lt;argument index=&quot;2&quot; value=&quot;${jms.password}&quot;/&gt;
    &lt;/bean&gt;

    &lt;bean id=&quot;pooledConnectionFactory&quot; class=&quot;org.messaginghub.pooled.jms.JmsPoolConnectionFactory&quot;
          init-method=&quot;start&quot; destroy-method=&quot;stop&quot;&gt;
        &lt;property name=&quot;maxConnections&quot; value=&quot;10&quot;/&gt;
        &lt;property name=&quot;maxSessionsPerConnection&quot; value=&quot;500&quot;/&gt;
        &lt;property name=&quot;connectionFactory&quot; ref=&quot;artemisConnectionFactory&quot;/&gt;
    &lt;/bean&gt;

    &lt;bean id=&quot;jms&quot; class=&quot;org.apache.camel.component.jms.JmsComponent&quot;&gt;
        &lt;property name=&quot;connectionFactory&quot; ref=&quot;pooledConnectionFactory&quot;/&gt;
    &lt;/bean&gt;

    &lt;camelContext xmlns=&quot;http://camel.apache.org/schema/blueprint&quot;&gt;
        &lt;route&gt;
            &lt;from uri=&quot;jetty:http://0.0.0.0:8089/put-message&quot;/&gt;
            &lt;inOnly uri=&quot;jms:my-queue&quot;/&gt;
        &lt;/route&gt;
        &lt;route &gt;
            &lt;from uri=&quot;jetty:http://0.0.0.0:8089/get-message&quot;/&gt;
            &lt;pollEnrich timeout=&quot;0&quot;&gt;
                &lt;simple&gt;jms:queue:my-queue&lt;/simple&gt;
            &lt;/pollEnrich&gt;
        &lt;/route&gt;
    &lt;/camelContext&gt;
&lt;/blueprint&gt;
</code></pre>
<p>Stack:</p>
<ul>
<li>ActiveMQ Artemis 2.25</li>
<li>Camel 2.23.2</li>
<li>Karaf 4.2</li>
<li>messaginghub/pooled-jms 1.0.6</li>
<li>artemis-jms-client-osgi 2.7.0</li>
</ul>
<p>I am doing load testing (Apache Bench 5kb messages, 100 threads for sending and 100 threads for receiving), and I observe the following. The service works for half an hour without problems (queue does not increase in size), but then the time for receiving messages from the queue increases. I was able to reduce some metrics and noticed that it increases oldGen (at the same time, the queue has not yet left in the PAGE mode).</p>
<p>Based on the recommendation in the <a href=""https://activemq.apache.org/components/artemis/documentation/latest/perf-tuning.html#tuning-the-vm"" rel=""nofollow noreferrer"">ActiveMQ Artemis tuning documentation</a> <code>XX:+UseParallelOldGC</code> was used when starting the broker, but even if you set another mode the behavior does not change.</p>
<p>Here is a screenshot of memory utilization from the JVM where the broker is running:</p>
<p><a href=""https://i.stack.imgur.com/Sp2bs.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Sp2bs.png"" alt=""you can see the increase in oldgen"" /></a></p>
<p><a href=""https://i.stack.imgur.com/VoJ7p.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/VoJ7p.png"" alt=""this picture shows pollenrich time"" /></a></p>
<p>You can see how the time to receive messages from the queue increases. However, it's worth noting that if you use permanent consumers (there is no re-creation of connections aka <code>&lt;from uri=&quot;jms:queue:my-queue&quot; /&gt;</code>) then the work is stable.</p>
<p>What could be the reason for the increase memory oldgen?</p>
<p>What other metrics can I apply to deal with the problem?</p>
<p><strong>UPD</strong>: heap dump (when performance loss)</p>
<p><a href=""https://i.stack.imgur.com/Lty1C.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Lty1C.png"" alt=""enter image description here"" /></a></p>
<p><strong>UPD 2</strong>: and heap dump(when i use Performance Tools ./artemis perf client --message-size 5000 --persistent queue://TEST_QUEUE) - no leak</p>
<p><a href=""https://i.stack.imgur.com/5u0ip.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/5u0ip.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/73766089/activemq-artemis-performance-loss,"['apache-camel', 'jms', 'activemq-artemis']",259,False,1,0
Which LightGBM operations should be protected in a multi-threaded environment?,"<p>I am serving predictions from a LightGBM model over gRPC using a Python server process. It is not clear from documentation which parts of LightGBM are thread-safe, and which should be protected by synchronization outside of the module.</p>
<p>The Python gRPC library handles serving requests on different threads. The GIL is a limiting factor for concurrency, but in an I/O intensive server process that is also making heavy use of C code through Numpy and LightGBM there is in practice significant concurrency.</p>
<p>My process has been successfully serving predictions with low loads. When load testing with Locust in preparation to scale up, I am starting to see errors that appear to be caused by different concurrent calls in to LightGBM code.</p>
<ol>
<li>While loading a model persisted using <a href=""https://joblib.readthedocs.io/en/latest/generated/joblib.dump.html"" rel=""nofollow noreferrer"">joblib</a>, segmentation faults can occur:</li>
</ol>
<pre><code>./python.sh: line 13: 23502 Segmentation fault: 11  python &quot;$@&quot;
make: *** [run-server] Error 139
</code></pre>
<ol start=""2"">
<li>When the model is successfully loaded and multiple predictions are happening, an OpenMP error regarding thread identifiers occurs:</li>
</ol>
<pre><code>OMP: Error #131: Thread identifier invalid.
OMP: Error #131: Thread identifier invalid.
OMP: Error #131: Thread identifier invalid.
OMP: Error #131: Thread identifier invalid.
./python.sh: line 13: 23533 Abort trap: 6           python &quot;$@&quot;
</code></pre>
<p>I am intending to load a single LightGBM instance and use Python locks to restrict access so that only a single thread is executing inside the instance at a time. But I was hoping to find more explicit information about which operations are thread-safe and which should be protected. Questions I was hoping for clear answers to:</p>
<ul>
<li>Is it safe to load multiple instances in parallel? Perhaps this is a problem with joblib, not LightGBM.</li>
<li>Once loaded, can a single model instance be executed on different threads simultaneously?</li>
<li>Once loaded, can a single model instance be used for different predictions</li>
</ul>
<p>There is a useful <a href=""https://github.com/microsoft/LightGBM/issues/989"" rel=""nofollow noreferrer"">discussion in GitHub issues</a>, which documents that the predict method is not thread-safe, or at least was not in 2017.</p>
",https://stackoverflow.com/questions/72638055/which-lightgbm-operations-should-be-protected-in-a-multi-threaded-environment,"['python', 'joblib', 'lightgbm']",259,False,1,0
"Express App, diagnosing latency spikes in EC2 instances in Beanstalk","<p>We have a medium-sized Express API that performs well as long as incoming traffic is relatively stable, but when there is a quick uptick in requests, the latency has a tendency to briefly shoot through the roof.</p>
<p>You can see in this image 3 latency spikes that clearly correlate to incoming traffic spikes.</p>
<p><a href=""https://i.stack.imgur.com/SUcZo.png"" rel=""nofollow noreferrer"">enter image description here</a></p>
<p>The app is perfectly capable of handling a larger sum of requests with low latency, it is just when  there is a spike that this happens.</p>
<p>Also of note, the DB does not struggle or show any correlating spikes at all, and the CPU usage is only moderately affected, rarely going much above 50%-60% even at peak times.</p>
<p>Load-testing shows same issues, whether on local machine or against another AWS QA environment, so probably not related to network.</p>
<p>Given that the DB and CPU are rarely chugging to process requests, and given that the app performs well under higher traffic amounts (reqs fulfilled in &lt;100ms), how would you go about diagnosing the root cause specific issue we have here with traffic spikes?</p>
<p>We have tried pinpointing poorly performing code bottlenecks, but the savings have been negligible. We have engaged with our devops folks to see if there were some options to smooth this out with config changes, but efforts to give us larger instances and adjust auto-scaling haven't really helped this particular problem.</p>
<p>Here's hoping seasoned eyes can give us some clues, assumption is still that there is some code improvements that will help, maybe this is a typical issue in node/express apps. Happy to give additional details, thx in advance.</p>
",https://stackoverflow.com/questions/74801803/express-app-diagnosing-latency-spikes-in-ec2-instances-in-beanstalk,"['node.js', 'amazon-web-services', 'express']",26,False,0,0
Script mappers causing significant performance issues,"<p><strong>The Scenario &amp; the problem:</strong></p>
<ol>
<li>I authenticate as a user via direct grant</li>
<li>The client I authenticate with has a series of default and optional scopes that contain custom JS script mappers to add custom claims to the token. (These scripts contain derivative logic based on group membership and group attributes)</li>
<li>I get my Access Token back and assign it as bearer token for my next request.</li>
<li>I do a http request to microservice client (see architecture below) which is routed via gateway (uses OpenFeign). (<em>Both gateway and microservice clients use authorization to define resources that are permission controlled.</em>)</li>
<li><strong>Problem:</strong> As I am going through the gateway the client adapter (spring boot) hits <code>POST /auth/realms/*/protocol/*/token/</code> which causes to go through all the JS mappers again (going directly to the client server avoids this). The JS mappers add 2000ms to begin with but load testing this with anything above 30 concurrent users maxes the CPU to 100% causing a bottleneck and adds on average 10000ms to the actual request.</li>
</ol>
<p>I am not too sure if this is the correct way to implement things. But I am looking for any advice on what can be done. Complete redesign is very expensive and I would appreciate any alternatives to this problem.</p>
<p><strong>The Architecture:</strong></p>
<p>I have a suite of spring boot microservices that have a gateway in front of it that uses Eureka discovery client.</p>
<p>The diagram somewhat illustrates the architecture, however, it is missing the fact that the client would authenticate before this and retrieve a token from Keycloak.</p>
<p><a href=""https://i.stack.imgur.com/L8tNR.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/L8tNR.png"" alt=""Diagram"" /></a></p>
<p><strong>Clients</strong></p>
<p>I have a mixture of clients that use a mixture of auth flows</p>
",https://stackoverflow.com/questions/70784322/script-mappers-causing-significant-performance-issues,['keycloak'],233,True,0,1
