title,body,link,tags,view_count,is_answered,score,answer_count
Load testing with K6,"<p>I want to write a load testing script using k6, but I ran into the problem that k6 accepts html from the server and considers it an endpoint, and there are other files in this html, and I would like to know the time of full page loading with all buttons and widgets without writing complex scripts</p>
<p>I tried to write a template by which I would have to go to other links and load them, but the fact is that there may be a different number of them in html, and I want K6 to wait for the page to load itself</p>
",https://stackoverflow.com/questions/75182655/load-testing-with-k6,"['javascript', 'testing', 'k6']",122,False,0,0
Load testing with FitNesse,"<p>I am looking for ways to perform load testing with FitNesse. My colleagues use a low-code platform and a common complaint is that their applications work fine until the load gets high. I have recently started using FitNesse (+ HSAC fixtures) for functional UI testing and was wondering if it is possible to run some of those tests multiple times simuntaneously. I have done some Google searches and asked ChatGPT, but it has been difficult to find information on this topic. Can someone please point me in the right direction?</p>
",https://stackoverflow.com/questions/75545304/load-testing-with-fitnesse,"['testing', 'load-testing', 'fitnesse']",43,False,0,2
load testing on form page,"<p>Let's assume if I am doing 1000 users load testing using jmeter and blazemeter on a form page (survey form) is there any way those 1000users can reflect on submission page</p>
<p>I was getting entry on only one user</p>
<hr />
<p><a href=""https://i.stack.imgur.com/Uccgz.png"" rel=""nofollow noreferrer"">if this is the from i am filling and recording it with the help of blazeMeter</a></p>
<p><a href=""https://i.stack.imgur.com/cqbtF.jpg"" rel=""nofollow noreferrer"">And I am only getting reflection of one user on the backend after load testing 1000users</a></p>
<p><a href=""https://i.stack.imgur.com/yiswH.jpg"" rel=""nofollow noreferrer"">This is how it's looking in jmeter </a></p>
<p>[what should I do so there will 1000 reflection of different id in my backend]</p>
",https://stackoverflow.com/questions/75459642/load-testing-on-form-page,"['jmeter', 'blazemeter']",26,True,0,1
Apache Thrift Server Load Testing,"<p>I have created Apache Thrift server using Node JS, but i have to provide load test results on hoiw much concurrent users and how much concurrent requests can Apache thrift server handles per second.How can i perform this load testing.?</p>
",https://stackoverflow.com/questions/75546622/apache-thrift-server-load-testing,"['thrift', 'thrift-protocol']",26,False,0,0
Load testing PowerBI reports with JMeter,"<p>Looking for inputs from experts who have experience in load testing PowerBI reports.</p>
<p>I tried to capture traffic using Fiddler and Developer Tools on edge, but I don't see the main URL's like <a href=""https://app.powerbi.com/groups/me/apps"" rel=""nofollow noreferrer"">https://app.powerbi.com/groups/me/apps</a> (PowerBI HomePage -&gt; Apps) in them.</p>
<p>What are the other ways to do load testing for PowerBI reports?</p>
",https://stackoverflow.com/questions/76151357/load-testing-powerbi-reports-with-jmeter,"['jmeter', 'powerbi', 'performance-testing', 'load-testing']",23,False,0,1
jmeter performance testing and load testing,"<p>I am performing performance and load testing by sending 1000 requests to the HTTPS sampler, with a ramp-up period of 1 second or a loop count of 3. Sometimes, my requests fail or I get an error.</p>
<p>please share details about it what is and why its happening?</p>
",https://stackoverflow.com/questions/75528546/jmeter-performance-testing-and-load-testing,"['jmeter', 'performance-testing', 'load-testing']",40,False,0,1
Load Testing with Locust - Custom shape,"<p>Hi I need to perform load testing on my e-commerce application deployed using kubernetes, I need to find realistic signals that tests the performance of my application.</p>
<p>In the repo of locust.io, I found this load shape called double_wave and with it it I was able to perform the load test and get good results in terms of SLO.
Link:
<a href=""https://github.com/locustio/locust/blob/master/examples/custom_shape/double_wave.py"" rel=""nofollow noreferrer"">double_wave.py</a></p>
<p>However, Are there scientific articles that certify that this signal  is realistic(or other signals, i welcome advices ) and allows me to have reliable results?</p>
",https://stackoverflow.com/questions/75769766/load-testing-with-locust-custom-shape,"['kubernetes', 'microservices', 'e-commerce', 'load-testing', 'locust']",83,True,-1,1
MongoDB requests timing out while load testing,"<p>Our application connects to MongoDB free tier cluster using mongoose. While load testing an endpoint of our application, we observed that under the same load the response status codes are different.</p>
<p>Fresh requests (initial load test) of about 20 requests/second for 60 seconds return 200 OK response for all 1200 requests. After a few other tests under different loads (30 req/s for 60s, 40req/s ...), if we load test again after an hour or so with 20 requests/second for 60 seconds, all requests are timing out. The endpoint works for single requests made through Postman.</p>
<p>What's interesting is that even 10 requests/second for 10 seconds are also all timing out.</p>
<p>Why does this happen and what can be done to address this issue?</p>
<p>It is a POST request that creates a document in a collection. Load testing is done using artillery</p>
<p>I have tried listening to events (connecting, connected, open, error, timeout, disconnected) and logging, the connected, connecting and open events are fired but while the requests are failing none of the error, timeout or disconnected are fired and nothing is logged.</p>
",https://stackoverflow.com/questions/75792023/mongodb-requests-timing-out-while-load-testing,"['node.js', 'mongodb', 'amazon-web-services', 'mongoose', 'timeout']",27,False,0,0
Working directory of azure load testing service?,"<p>We have uploaded a shell script file as a parameter to Azure load test service and trying to access it in OS process sampler in our jmeter script.
What is the working directory which we have to mention to pick the file which we have uploaded ?</p>
<p>We always get error file not found in directory /</p>
",https://stackoverflow.com/questions/75510214/working-directory-of-azure-load-testing-service,['azure-load-testing'],33,False,0,0
Load testing for less users using Jmeter,"<p>I have a scenario where there are 3 different types of user logins e.g. Customer users, Counterparty users, Corporate users for an application. Their access changes based on the type of users. But there are only 2000 Counterparty users and 61 Corporate users in production right now. Do I need to create load testing for Counterparty and Corporate users in that case?</p>
<p>There are 3000000 customer users and as per my understanding, load testing is required for customer users definitely.</p>
<p>Customer users have very limited access but they are important as they are customer foccussed. I have created scripts for all the users at the moment but creating data for different types of functionalities is an issue as we cannot reuse data in this case. So i am thinking if just focussing on Customer users will be helpful.</p>
",https://stackoverflow.com/questions/76156159/load-testing-for-less-users-using-jmeter,"['testing', 'jmeter', 'load']",10,False,0,1
Testign Curl API load testing with Jmeter,"<p>How should I test this in jemeter? When I import curl from tool, data not displayed in jemeter.</p>
<p>curl --location --request POST 'https://bruh.uselotus.io/api/track/' \</p>
<p>--header 'X-API-KEY: 6tZu1NaQ.PicT21tPHTHfLrYzoLzbSk2vHhvXt7Hc' \</p>
<p>--header 'Content-Type: application/json' \</p>
<p>--data-raw '{</p>
<pre><code>&quot;batch&quot;: [

    {

        &quot;customer_id&quot;: &quot;d21b769b-b824-48ad-98f1-99a4ce93eac0&quot;,

        &quot;event_name&quot;: &quot;task_run3&quot;,

        &quot;idempotency_id&quot;: &quot;07f92995-8b8f-41ad-afdc-406993b31b75&quot;,

        &quot;properties&quot;: {

            &quot;run_count&quot;: 4000

        },

        &quot;time_created&quot;: &quot;2023-03-17T01:16:41.408Z&quot;

    }

]
</code></pre>
<p>}'</p>
<p>I import this curl from the tool menu of jmeter, but I am not able to see any provided data in jmeter, how can I do that?</p>
",https://stackoverflow.com/questions/75764908/testign-curl-api-load-testing-with-jmeter,"['api', 'testing', 'curl', 'jmeter', 'load']",36,True,0,1
Downsides to load testing through gRPC Gateway?,"<p>I'm weighing out the different ways to load test gRPC applications.</p>
<p>One way would be to use the generated clients directly. This would mean having to generate the clients in the language used by the load testing framework.</p>
<p>Another would be to use gRPC Gateway. I'm concerned this may skew results. Is this concern unfounded (eg there's no extra network call and the translation time is minimal compared to other stuff servers do)? Are there other downsides?</p>
",https://stackoverflow.com/questions/75951544/downsides-to-load-testing-through-grpc-gateway,"['grpc', 'performance-testing', 'load-testing']",11,False,0,0
"Jmeter Selinium webdriver - UI load testing, result analysis","<p>I am doing UI load testing using distributed Jmeter Selinium webdriver
I have successfully execute the script and obtain the result.
Even though i have obtained the result with success status of 200 code, But how to confirm that all threads has successfully loaded the web pages including images and thumbnails
is there any assertion to very this or any suggestion pls</p>
",https://stackoverflow.com/questions/75433237/jmeter-selinium-webdriver-ui-load-testing-result-analysis,['jmeter'],32,True,-1,1
What is the correct approach for load testing evm?,"<p>I am trying to create a load testing script for a simple evm with jsonrpc. I have a different type of methods in my mind.
First one is that i will send lets say 1000 requests(write transactions) to the server and wait for the responses and calculate total time then i can find a successful responses/seconds data. Second one is that i can send these request with a delay such as 100ms then during the process i can measure the successful responses/time lets say in every 250ms. In my opinion, real life request will not be sent so fast without a delay but in order to understand the edges of the server requests must be sent as soon as possible. So what is the correct approach to simulate and calculate a load testing result ?</p>
",https://stackoverflow.com/questions/75042074/what-is-the-correct-approach-for-load-testing-evm,"['testing', 'load', 'json-rpc', 'ethers.js', 'evm']",12,False,0,0
Locust load testing report discrepancy in showing the numbers,"<p>I have locust set-up to test my azure function app exposed as an HTTP trigger function, I am doing load testing of the function app with 500 users with rate of 50 users per seconds and I am running load test for 2-minutes, The max response time stats the load test taken showing as 18 seconds (18000 ms), however when I am looking at the azure app insights request duration it showing for function app to respond is max of 500ms, If any one can explain why and how locust showing its 18 seconds when realistically its in ms .Please find attached locust report <a href=""https://i.stack.imgur.com/nqk5N.jpg"" rel=""nofollow noreferrer"">Locust Report</a></p>
<p>Below is code snippet for locustfile.py</p>
<pre><code>import json
import logging
import json 
import uuid
import random
import os
from random import randint
from locust import task, constant, between
from locust.contrib.fasthttp import FastHttpUser


log = logging.getLogger(&quot;rest-api-performance-test&quot;)


class LocustClient(FastHttpUser):
    

    host = os.environ.get('DEMO_DURABLE_FNAPP_URI') 
    wait_time = between(0.900, 1.000)

    @task
    def load_rest_api_based_service(self):
        try:
            
            api_query_params = &quot;&quot;

            with self.client.post(api_query_params, headers=None, catch_response=False, data=None) as resp_of_api:

                if resp_of_api.status == &quot;200&quot; or resp_of_api.status == &quot;202&quot;:
                    log.info(&quot;API call resulted in success.&quot;)

                else:
                    resp_of_api.failure(resp_of_api.text)
            log.error(&quot;API call resulted in failed.&quot;  + &quot;Status:&quot; + resp_of_api.status + &quot; | &quot; + resp_of_api.text)

        except Exception as e:
            log.error(&quot;Exception occurred! details are {e}&quot;)

</code></pre>
<p>Tried to run the locust test against an api endpoint, the set params were as below, 500 users with rate of 50 users per seconds and ran the load test for 2-minutes. The locust report which is showing the max time taken by API to respond is not matching with actual time api taken to respond.</p>
",https://stackoverflow.com/questions/76308067/locust-load-testing-report-discrepancy-in-showing-the-numbers,"['load-testing', 'locust']",22,False,0,0
JMeter Load testing Errors: org.apache.http.conn.HttpHost ConnectException java.net.SocketTimeoutException ConnectTimeoutException errors,"<p>I am using apache JMeter version 5.5.
I am trying to run the sample test with more than 500 users. The test runs up to 200 users without any error after that start throwing list of below errors
<code>Non HTTP response code: org.apache.http.conn.HttpHostConnectException Non HTTP response code: org.apache.http.conn.ConnectTimeoutException Non HTTP response code: java.net.SocketTimeoutException </code>
<a href=""https://i.stack.imgur.com/5jcAi.png"" rel=""nofollow noreferrer"">please refer the image for the error details</a></p>
<p>errors are like this:</p>
<p>case 1:<a href=""https://i.stack.imgur.com/2ZLL1.png"" rel=""nofollow noreferrer"">Time out error</a>
case 2: <a href=""https://i.stack.imgur.com/aS0LT.png"" rel=""nofollow noreferrer"">Read Time out error</a></p>
<p>I have tried the below solutions:
1 enable and check of keep-alive button
2 setting the time outs up to 100000 milliseconds</p>
<p>how to overcome this errors?
Is errors from JMeter script or Server side ?</p>
",https://stackoverflow.com/questions/75374549/jmeter-load-testing-errors-org-apache-http-conn-httphost-connectexception-java,"['java', 'windows', 'jmeter', 'load-testing', 'jmeter-5.0']",51,False,0,1
Is it possible to perform load Testing on Mobile Apps,"<p>Anyone please guide me how I perform load testing on Android Applications. Please suggest any tool with guidelines.</p>
",https://stackoverflow.com/questions/75098518/is-it-possible-to-perform-load-testing-on-mobile-apps,"['android', 'performance-testing', 'load-testing', 'mobile-application']",44,True,1,1
How to implement a planned load testing profile in jmeter,"<p>I collected analytics from the application and got a chart of its use during the day. I want to transfer this graph to jmeter - so that the load (threads) grows and falls.
Tell me, how can this be implemented in Jmeter?
I've tried using the Ultimate Thread Group and other thread groups from plugin, but everything looks too complicated there.
As a result, I want to get the same graph of the Thread Group after executing the script.
<a href=""https://i.stack.imgur.com/ACUgR.png"" rel=""nofollow noreferrer"">my profile of load</a></p>
<p>I came across an implementation in <a href=""https://api.octoperf.com/doc/runtime/edit-scenario/edit-user-profile/strategy/load/?_gl=1*1lfbr7c*_ga*MTkwMDUwNjg0MS4xNjc4NzIwOTUx*_ga_Q0Q7BY8NRR*MTY3ODgwMzcwNy4zLjEuMTY3ODgwNDcwMC4wLjAuMA..#load-table"" rel=""nofollow noreferrer"">OctoPerf</a>. But how to do it without external software?</p>
<p><a href=""https://i.stack.imgur.com/zXYga.png"" rel=""nofollow noreferrer"">example from OctoPerf</a></p>
",https://stackoverflow.com/questions/75734984/how-to-implement-a-planned-load-testing-profile-in-jmeter,['jmeter'],25,True,0,1
Load testing a web app which has a load balancer,"<p>I wrote a Jmeter test (that uses different user credentials) to load test a web app which has a load balancer and all it forwards the requests to a single node. How can I solve this?</p>
<p>I used the DNS Cache manager but that did not work.</p>
<p>Are there any other tools which I could use? (I looked into AWS Load testing but that too won't work because all the containers would get the same set of user credentials and when parallel tests are run they would fail.)</p>
",https://stackoverflow.com/questions/74981320/load-testing-a-web-app-which-has-a-load-balancer,"['jmeter', 'load-balancing', 'load-testing']",50,False,-1,1
Confluent Cloud - Generate Messages of Kafka Producer for Load Testing,"<p>I have found many answers for load testing the on premise Kafka, but are there any ways to do it for Confluent Cloud Kafka?</p>
<p>We plan to stress test the consumers written in java+spring listening to topics from the producer.</p>
",https://stackoverflow.com/questions/75060082/confluent-cloud-generate-messages-of-kafka-producer-for-load-testing,"['apache-kafka', 'stress-testing', 'confluent-cloud']",38,True,0,1
Load testing API to trigger different transactions based on set percentage,"<p>I am using JMeter for Load testing my API endpoint.
My API accepts JSON payload with few key value pairs. I have configured my payload to have a couple of key-value pairs to be passed from csv data file.
While running my load tests... I want to trigger 80% of transactions with 1 key value pair while remaining 20% transactions to trigger with 2nd key value pair.
Example:
Imagine my payload have a field named &quot;Product&quot; which accepts values &quot;VEGAN&quot; and &quot;NON-VEGETARIAN&quot;.
I want to hit 80% of transactions with &quot;product&quot; value as &quot;VEGAN&quot; and 20% of transactions to hit with value as &quot;NON-VEGETARIAN&quot;</p>
<p>Is there a provision in Jmeter to set this % of transactions or any hack to simulate such load.</p>
<p>I did try to have different product values in the csv data sheet but could not set a specific % of transaction as mentioned above.</p>
",https://stackoverflow.com/questions/75763436/load-testing-api-to-trigger-different-transactions-based-on-set-percentage,['jmeter'],27,False,0,1
Can we control the number of requests for API Load Testing?,"<p>I have a list of tasks in locust file. I want to restrict the number of requests for every tasks.</p>
<p>class UserJourney(SequentialTaskSet):
counter = 1
request_limit = 1000</p>
<pre><code>@task
def demo_get_test(self):
    if self.counter &lt;= self.request_limit:
        self.client.get(&quot;/api/users?page=2&quot;, name='Users List')
    self.counter += 1
</code></pre>
<p>class DemoHttpUser(HttpUser):
host = &quot;http://reqres.in&quot;
tasks = [UserJourney]</p>
<p>I want to get the requests fired defined by me for task demo_get_test.</p>
<p>I tried using for loop and then calling event listener to stop test but its not working.</p>
",https://stackoverflow.com/questions/75913045/can-we-control-the-number-of-requests-for-api-load-testing,['locust'],63,True,0,1
"Locust Load Testing in Python: Requires Login to Website, any advise?","<p>There is a localhost website requiring Load Testing (lets call it <code>https://localhost/hompeage</code>). However, to get to the Website needing Load Testing I have to login through a Company Login Page (lets call it <code>https://vpn.company.com/login</code>). This Login is required every time and doesn't save.</p>
<h1>Selenium in Python Works</h1>
<p>Now I know the proper sequence to login vi Selenium, including the Web Element IDs. See the Python file below (which works as an <code>__init__</code> for my Functional Test Cases):</p>
<p><strong>website.py</strong></p>
<pre><code>import sys
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

class Website:
    def __init__(self, browser: str, username: str, password: str):
        try:
            if browser == &quot;Chrome&quot;:
                self.driver = webdriver.Chrome()
            elif browser == &quot;Edge&quot;:
                self.driver = webdriver.Edge()
        except:
            print(&quot;Only 'Chrome' and 'Edge' browsers are supported for testing.&quot;)
            sys.exit(1)
        
        self.driver.get(&quot;https://localhost/homepage&quot;)
        
        get_source = self.driver.page_source # Scan the page
        not_private1 = &quot;Your connection is not private&quot;
        not_private2 = &quot;Your connection isn't private&quot;
        if (not_private1 in get_source or not_private2 in get_source):
            # NET::ERR_CERT_COMMON_NAME_INVALID
            self.driver.find_element(By.ID, &quot;details-button&quot;).click() # Click &quot;Advanced&quot; button
            self.driver.execute_script(&quot;window.scrollTo(0, document.body.scrollHeight);&quot;) # Scroll to the bottom of the page
            self.driver.find_element(By.ID, &quot;proceed-link&quot;).click() # Click &quot;Proceed to localhost (unsafe)&quot; link
        
        get_source = self.driver.page_source # Redirects to Corporate Login Page
        login_page = &quot;Login Page&quot;
        if (login_page in get_source):
            self.driver.find_element(By.ID, &quot;userNameInput&quot;).send_keys(username)
            self.driver.find_element(By.ID, &quot;passwordInput&quot;).send_keys(password)
            self.driver.find_element(By.ID, &quot;submitButton&quot;).click()
            time.sleep(1)

      # connects to the homepage
    
    def close(self):
        self.driver.close() # Closes the browser
</code></pre>
<p>(The above could probably be more efficient by just connecting straight to <code>https://vpn.company.com/login</code> instead of going through the <code>&quot;Your connection isn't private&quot;</code> piece, which is just going to take me to the <code>https://vpn.company.com/login</code> page anyways)</p>
<h1>Locust: &quot;Login&quot; Method</h1>
<p>As for Locust, I've been made aware I cannot use Selenium and I have to rely upon Locust-specific Python Code (I tried putting the <code>__init__</code> code into <code>def on_start</code> already). Here is my Locust file thus far:</p>
<p><strong>locust.py</strong></p>
<pre><code>import time
import webbrowser

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    # HttpUser is the User Agent who can visit different endpoints
    wait_time = between(1, 5) # How long it takes visiting an endpoint before it starts visiting another one
    
    def on_start(self):
        login_page = &quot;https://vpn.company.com/login&quot;
        self.client.get(login_page)

        post_data = {&quot;usernameInput&quot;:&quot;TestUser&quot;, &quot;passwordInput&quot;:&quot;Test123&quot;, &quot;Submit&quot;:&quot;submitButton&quot;}
        self.client.post(login_page, post_data)
        time.sleep(1)
    
    @task
    def landing_page(self):
        self.client.get(url=&quot;/&quot;)
    
    #@task
    #def about_page(self):
    #    self.client.get(url=&quot;/#about&quot;)
    
    # Connect to Locust Page (in new tab, if possible)
    webbrowser.open(&quot;http://localhost:8089&quot;, new = 2)
</code></pre>
<p>(Is <code>&quot;Submit&quot;:&quot;submitButton&quot;</code> correct? At least I remember seeing an ecample of <code>self.client.post</code> that included <code>Submit</code> before the CSS Element ID)</p>
<h2>Locust Testing: &quot;Login&quot; Method</h2>
<p>To run this test, I run the following command in Terminal: <code>locust -f locust.py --host https://localhost/homepage --users 5 --spawn-rate 20</code></p>
<h3>Results</h3>
<p>Here is the output when I run the <code>locust</code> command:</p>
<pre><code>C:\Users\Adam\eclipse-workspace\TestProject4&gt;locust -f libraries\\locust.py --host https://localhost/homepage --users 5 --spawn-rate 20
[2023-05-24 10:39:16,812] vm-w10/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all netwo
rk interfaces)
[2023-05-24 10:39:16,830] vm-w10/INFO/locust.main: Starting Locust 2.15.1
[2023-05-24 10:39:20,907] vm-w10/INFO/locust.runners: Ramping to 5 users at a rate of 20.00 per second
[2023-05-24 10:39:20,910] vm-w10/INFO/locust.runners: All users spawned: {&quot;WebsiteUser&quot;: 5} (5 total users)
</code></pre>
<p>In the Locust Web Application, I get back the following results:</p>
<div class=""s-table-container"">
<table class=""s-table"">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>#Requests</th>
<th>#Fails</th>
</tr>
</thead>
<tbody>
<tr>
<td>GET</td>
<td>/homepage/</td>
<td>13</td>
<td>13</td>
</tr>
<tr>
<td>GET</td>
<td>/login</td>
<td>5</td>
<td>0</td>
</tr>
<tr>
<td>POST</td>
<td>/login</td>
<td>10</td>
<td>0</td>
</tr>
</tbody>
</table>
</div>
<p>From this, I can assume that the initial <code>GET</code> is connecting to <code>https://vpn.company.com/login</code>, and the <code>POST</code> is <em>maybe</em> correct? Obviously the <code>GET</code> to the Homepage isn't connecting. I've thought &quot;perhaps in the delay between authentication and connecting to the website?&quot; so I added <code>time.sleep(1)</code> but that hasn't changed the results of what Locust returns (not even sure if Locust recognizes <code>time.sleep</code>).</p>
<p>If I <code>CTRL + C</code> in the Terminal, I get back the following:</p>
<pre><code>Traceback (most recent call last):
  File &quot;C:\Users\Adam\AppData\Local\Programs\Python\Python311\Lib\site-packages\gevent\_ffi\loop.py&quot;, line 270, in python_check_callback
    def python_check_callback(self, watcher_ptr): # pylint:disable=unused-argument

KeyboardInterrupt
2023-05-24T14:42:14Z
[2023-05-24 10:42:14,476] vm-w10/INFO/locust.main: Shutting down (exit code 1)
Type     Name                                                         # reqs      # fails |    Avg     Min     Max    Med |   req/s  failures/s
--------|-----------------------------------------------------------|-------|-------------|-------|-------|-------|-------|--------|-----------
GET      /homepage/                                                        13  13(100.00%) |     22      18      37     21 |    1.76        1.76
GET      /login
       5     0(0.00%) |    300 
    204     506    260 |    0.68        0.00
POST     /login
       5     0(0.00%) |     71 
     59      77     75 |    0.68        0.00
--------|-----------------------------------------------------------|-------|-------------|-------|-------|-------|-------|--------|-----------
         Aggregated                                                       23   13(56.52%) |     93      18     506     37 |    3.11        1.76

Response time percentiles (approximated)
Type     Name                                                                 50%    66%    75%    80%    90%    95%    98%    99%  99.9% 99.99
Error report
# occurrences      Error
------------------|----------------------------------------------------------------------------------------------------------------------------
13                 GET /homepage/: SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certific
ate (_ssl.c:1002)')
------------------|----------------------------------------------------------------------------------------------------------------------------
</code></pre>
<h1>Locust: &quot;Cookie&quot; Method</h1>
<p>An Admin recommended I try using a Cookie (he also told me that the login method is <em>probably</em> via SAML Token, but he wasn't fully sure). So instead of Login, I found what I believe is the Cookie after I login to the page. I updated my Code so it's using the Cookie as a Token (not sure I'm doing this right):</p>
<p><strong>locust.py</strong></p>
<pre><code>import time
import webbrowser

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    # HttpUser is the User Agent who can visit different endpoints
    wait_time = between(1, 5) # How long it takes visiting an endpoint before it starts visiting another one
    
    def on_start(self):
        login_page = &quot;https://vpn.company.com/login&quot;
        self.client.get(login_page)

        cookie = &quot;.AspNetCore.Cookies=CfDJ8MTHe7hMbp5IvzCac79rZkiG3Tb_tarAITryM-FPR2oZzF5wGHBAVTqIKaIGSOGQZ_CkAeD0M0wOXmRuL0cgRpY6da6K5Ftpod0Ygj3BVxI2ybu5VNUY_RhLGpLuiWI-4BwJKBGtpE1MKhIoB0uq0amGMHFM4jeSYh_TeR21aHWkVXLjmLvT_q_PqNbqIXubK7hHaAk5lwa0pEJ8mZYZE5ZHM-vYL7iid-vWI8IWVLieLIALGOsKEp7W0GHX1cHT2-y_F4O7xBuRidl41xMjGc3V6RLRzrQ1LGFSRwrvNIWksa5IyW-8GtMIIYmNClIPtVgJEgunwWrnwdu3odr28F3bQabc2VPGtk3mW-3QgarNUJxAkGuAM943bUdFKPHyCj6L-2LJGL9EANBWg0Do6wSGy-iXoFb_1aHhzybgzZqy7Cj6xmG_jCDZNWm1sUXySW6meE9BMa2IcG_DZc-kdMsBYOXDn8rw0SHoRlIOwVlVIgOxv13lqMJbHjCp4cEuNwcuqMCWNkX6QB5eFTeqr78fo2g1b90jQfQIi5fD0rs0rMw3m38FMtOBo1Mx0fYNpyQu0iP7FjoWzW37LtxXZCrZtd1lQwv8SbJtcdsz2Q9RQtMq7v-9PXj33uuvRgZtMFApCi0pUSsjM6eeP2cOHKx-woMrGdfGcsdyMzjgHB5ioMpZyqyTmsxjyZmTrGN2Mc_eixGRZnQi0SmQwcZSuCJzirseFzE440UcjXEZbW6Xgt-oMPQes_6VWRLR6fYqB4Cp7Nuzoxgd2RcRHfd7p6uvGTp5nX66oXom-8dsZRRXiagFNUcQPTXplJ8JVPPIip1-T_9jd_JWVLVMxv2ROfh4ftZu0hgzRdrtKJITCnBqzLHzw9BZa0WJabayvdWZMlbhQsJ2RwI4vDIf-uMBMLaSs--iKurKr3AVpgsGRVwYtEs2ZnhGIQDSFSbb4ZPXtz4KZb5pRneZwenGdbuDMMy83sMZHdZ7BHq1vRg7cq2khRVCatUZ467kBaCgKVucjE8TlxKs9t4XvsrQXYgf63zZZf1SNPt1bP-c1E9gNWODoWSLn999Apx_TfusjNY4zCoPMo8ZvrZzZx4UEKeEjiZY-F9k0z873f373wWhdd9QaEpGQiZzhk6fyrvaMjifhN4JLLOKPVOzOsNadRSkJnPRzBzZokmOzybVNc0gkcVp9pfUbcvSHePgazxpSn6Iw4JhN-m0Dj8PAfLGQwqoDLgNCzyNp35x8kBzP-ONbdL1EJbicf9en5ypRmD4oH7QXxVXuigecJnDlvZz4n-aB4D&quot;
        self.client.post(login_page, {&quot;token&quot;: cookie})
        time.sleep(1)
    
    @task
    def landing_page(self):
        self.client.get(url=&quot;/&quot;)
    
    #@task
    #def about_page(self):
    #    self.client.get(url=&quot;/#about&quot;)
    
    # Connect to Locust Page (in new tab, if possible)
    webbrowser.open(&quot;http://localhost:8089&quot;, new = 2)
</code></pre>
<h2>Locust Testing: &quot;Cookie&quot; Method</h2>
<p>Exactly the same as the &quot;Login&quot; Method Results. So either I'm doing both authentication methods correctly and it's just not recognizing the Homepage (of which I'm doubtful) OR both the &quot;Login&quot; and &quot;Cookie&quot; Method I'm doing incorrectly.</p>
<h1>Ultimate Question</h1>
<p><strong>What am I doing wrong?</strong> I'd prefer to use the &quot;Login&quot; method (and I assume the issue is related to the &quot;Sign In&quot; button), but any method to login and have <code>GET</code> for <code>https://localhost/hompeage</code> to return no Failures in Locust, so I'm open to other ideas.</p>
",https://stackoverflow.com/questions/76325123/locust-load-testing-in-python-requires-login-to-website-any-advise,"['python', 'authentication', 'selenium-webdriver', 'load-testing', 'locust']",77,False,0,1
My test works in Jmeter but not in Azure Load Testing,"<p>I've defined a test on Jmeter which works correctly on Jmeter on my pc, but it doesn't work when I run it Azure Load Testing.</p>
<p>My test is very simple: it performs a POST request towards Azure AD (<a href=""https://login.microsoftonline.com/TenantID/oauth2/token?api-version=1.0"" rel=""nofollow noreferrer"">https://login.microsoftonline.com/TenantID/oauth2/token?api-version=1.0</a>) with a body like the following one in order to retrieve a token:</p>
<pre><code> &quot;grant_type&quot; = &quot;client_credentials&quot;; 
 &quot;resource&quot; = &quot;$resource&quot;; 
 &quot;client_id&quot; = &quot;$APPID&quot;;
 &quot;client_secret&quot; = &quot;$ClientSecret&quot; 
</code></pre>
<p><a href=""https://i.stack.imgur.com/h70Re.png"" rel=""nofollow noreferrer"">JMeter parameters for the POST call</a></p>
<p>When I perform the call from my PC, it works and I'm then able to use the token to perform some other calls (not relevant here).</p>
<p>When I perform this single call on Azure Load Testing with my jmx file, the calls fails with a 400 (Bad request), as if my request was malformed.</p>
<p>When I download the results of the test, I get the following csv:</p>
<p>timeStamp   elapsed label   responseCode    responseMessage threadName  dataType    success failureMessage  bytes   sentBytes   grpThreads  allThreads  URL Latency IdleTime    Connect
1.67602E+12 147 Get token   400 Bad Request 172.18.19.5-Setup Authentication 1-1    text    FALSE       925 1119    1   1   <a href=""https://login.microsoft.com/*tenantID*/oauth2/v2.0/token"" rel=""nofollow noreferrer"">https://login.microsoft.com/*tenantID*/oauth2/v2.0/token</a>    144 0   107</p>
<p>where <em>tenantID</em> reflects the actual tenant ID.</p>
<p>In order to troubleshoot it, I've tried to replace the values of the tenand id with the values of client id, scope and secret and they show up correctly in the log file when I execute the test.</p>
<p>Also, in my AAD logs I don't see my login attempts, probably because of the 400 - Bad request code, as if my request was somehow malformed, so it doesn't get logged.</p>
<p>I've no idea how I could troubleshoot this further (e.g. can I somehow trace the parameters of the POST call Azure Load Testing is doing?). Any suggestions?</p>
<p>thanks for your help,</p>
<p>Marco</p>
",https://stackoverflow.com/questions/75410800/my-test-works-in-jmeter-but-not-in-azure-load-testing,"['jmeter', 'azure-load-testing']",106,False,0,0
Load Testing Website Recommendation? Requires Login to get to Website to Test,"<p>I'm creating an Automated Testing Python Project to test a website. This Testing Project needs to perform Functionality, Accessibility and Load Testing of the website, and report the results. I'm coding the Project in <strong>Python</strong>, automating the code using <strong>Selenium</strong>, Accessibility Testing with <strong><a href=""https://www.deque.com/axe/"" rel=""nofollow noreferrer"">axe</a></strong> and reporting with <strong>Allure Framework</strong>. My OS of choice is Windows.</p>
<p>I'm feeling comfortable with the Functional and Accessibility Testing piece. However, I'm not sure what I should be using for Load Testing.</p>
<p>I've been recommended <a href=""https://jmeter.apache.org/"" rel=""nofollow noreferrer"">Apache JMeter</a>, and I've setup a Test Plan. However, the website I'm testing requires Login through an intermediary Company Login Page before I can get to the homepage I need to test. <strong>HTTP Post Request</strong> doesn't work because there is no option (that I know of) for clicking a &quot;Sign In&quot; button (you can send <code>text/plain</code> Content, but not a button press action), and <strong>HTTP Authorization Manager</strong> doesn't work either because I think it only works for a pop-up login, not a whole HTML Login Page.</p>
<p>I've also looked into <a href=""https://locust.io/"" rel=""nofollow noreferrer"">Locust</a>, which I thought would be nice because I could incorporate it inside my Python Project. However, I run into a similar situation as JMeter: <code>@task</code> doesn't look to be built to include any steps outside of connecting to the page (<code>self.client.get(url=&quot;&quot;)</code> for the homepage).</p>
<p>It might help if I share the Python Code for Login (also some functions for <code>access</code>, which handling Axe Accessibility Testing on a page, and <code>find_string</code> which I simply use to look to see if specific text can be found meaning I've connected to a page successfully), which works just fine when run with PyTest.</p>
<p><strong>website.py</strong></p>
<pre><code>import allure
import sys
import time
from axe_selenium_python import Axe
from libraries.report import Report
from selenium import webdriver
from selenium.webdriver.common.by import By

class Website:
    def __init__(self, browser: str, username: str, password: str):
        try:
            if browser == &quot;Chrome&quot;:
                self.driver = webdriver.Chrome()
            elif browser == &quot;Edge&quot;:
                self.driver = webdriver.Edge()
        except:
            print(&quot;Only 'Chrome' and 'Edge' browsers are supported for testing.&quot;)
            sys.exit(1)
        
        self.driver.get(&quot;https://localhost/homepage&quot;)
        
        get_source = self.driver.page_source # Scan the page
        not_private1 = &quot;Your connection is not private&quot;
        not_private2 = &quot;Your connection isn't private&quot;
        if (not_private1 in get_source or not_private2 in get_source):
            # NET::ERR_CERT_COMMON_NAME_INVALID
            self.driver.find_element(By.ID, &quot;details-button&quot;).click() # Click &quot;Advanced&quot; button
            self.driver.execute_script(&quot;window.scrollTo(0, document.body.scrollHeight);&quot;) # Scroll to the bottom of the page
            self.driver.find_element(By.ID, &quot;proceed-link&quot;).click() # Click &quot;Proceed to localhost (unsafe)&quot; link
        
        get_source = self.driver.page_source # Redirects to Corporate Login Page
        login_page = &quot;Login Page&quot;
        if (login_page in get_source):
            self.driver.find_element(By.ID, &quot;userNameInput&quot;).send_keys(username)
            self.driver.find_element(By.ID, &quot;passwordInput&quot;).send_keys(password)
            self.driver.find_element(By.ID, &quot;submitButton&quot;).click()
            time.sleep(1)

      # connects to the homepage

    def access(self, json: str):
        axe = Axe(self.driver)
        axe.inject() # Inject axe-core javascript into page.
        results = axe.run() # Run axe accessibility checks.
        axe.write_results(results, json) # Write results to file
        report = Report()

        if len(results[&quot;violations&quot;]) == 0: # Assert no violations are found
            print(&quot;No Access Violations found on page!&quot;)
            report.screenshot_png(self.driver, &quot;access: PASS&quot;)
            self.driver.close()
            assert True
            return True
        else:
            print(&quot;Access Violations found on page!&quot;)
            report.screenshot_png(self.driver, &quot;access: FAIL&quot;)
            self.driver.close()
            assert False, axe.report(results[&quot;violations&quot;]) # Reports violations found on page
            return False

    def find_string(self, search_text: str):
        get_source = self.driver.page_source # Scan the page
        report = Report()
        
        if (search_text in get_source):
            print(&quot;String Text '&quot; + search_text + &quot;' on page found!&quot;)
            report.screenshot_png(self.driver, &quot;find_string: PASS&quot;)
            self.driver.close()
            assert True
            return True
        else:
            print(&quot;String Text '&quot; + search_text + &quot;' on page not found.&quot;)
            report.screenshot_png(self.driver, &quot;find_string: FAIL&quot;)
            self.driver.close()
            assert False, &quot;String Text '&quot; + search_text + &quot;' on page not found.&quot;
            return False
    
    def close(self):
        self.driver.close() # Closes the browser
</code></pre>
<p>I would also like to find a Load Test solution that I can also share the results in an Allure Report, like I've been able to so far with Functional and Accessibility Testing results (I have a separate file for generating the Allure Report).</p>
",https://stackoverflow.com/questions/76307786/load-testing-website-recommendation-requires-login-to-get-to-website-to-test,"['python', 'selenium-webdriver', 'jmeter', 'allure', 'locust']",60,False,0,1
"Azure Load Testing - ERROR o.a.j.e.j.j.JSONPostProcessor: net.minidev.json.parser.ParseException: Malicious payload, having non natural depths","<p>Azure Load Testing - ERROR o.a.j.e.j.j.JSONPostProcessor: net.minidev.json.parser.ParseException: Malicious payload, having non natural depths.</p>
<p>Hi,</p>
<p>since yesterday evening I've started seeing the following exception</p>
<p><code>ERROR o.a.j.e.j.j.JSONPostProcessor: net.minidev.json.parser.ParseException: Malicious payload, having non natural depths</code></p>
<p>when running my Azure Load Tests. It only occurs for big responses, especially the ones including JSONs with multiple nesting levels.
Previously everything was working fine and when I run my test locally this exception doesn’t occur.
I've found an article - <a href=""https://github.com/karatelabs/karate/issues/2277"" rel=""nofollow noreferrer"">https://github.com/karatelabs/karate/issues/2277</a> saying that there were some limitations introduced to the library net.minidev.json which is used by this extractor. Also it is described in <a href=""https://libraries.io/maven/net.minidev:json-smart"" rel=""nofollow noreferrer"">https://libraries.io/maven/net.minidev:json-smart</a></p>
<p>Please, kindly assist in resolving the issue.</p>
",https://stackoverflow.com/questions/76333714/azure-load-testing-error-o-a-j-e-j-j-jsonpostprocessor-net-minidev-json-parse,['azure-load-testing'],26,False,0,0
Load testing with getting URL parameter and CSRF token in the body,"<p>Please help with solving Sign up load test with using URL parameter and CSRF token in the response body</p>
<p>My case:</p>
<ul>
<li>I have sing up page and enter data(like user name, email, pass etc) <a href=""http://www.example.com/reg"" rel=""nofollow noreferrer"">www.example.com/reg</a></li>
<li>I click on Sing up and the system adds to sing up page <a href=""http://www.example.com/reg"" rel=""nofollow noreferrer"">www.example.com/reg</a> parameter test. (it looks like <a href=""http://www.example.com/reg?test=some_value"" rel=""nofollow noreferrer"">www.example.com/reg?test=some_value</a>)</li>
<li>I received response in JSON format where we have my data and random CSRF token
Example of JSON
{&quot;pass&quot;:&quot;value&quot;,&quot;mail_name&quot;:{&quot;e-mail&quot;:&quot;value&quot;,&quot;name&quot;:{&quot;first&quot;:&quot;value&quot;}},&quot;csrf_token&quot;:&quot;some_value&quot;}</li>
</ul>
<p>My question is:
I need to perform the following test.</p>
<ol>
<li>Enter all data(it can be done by CSD Data Set config) in Sign up page</li>
<li>Obtain test paramater(it is each time different) that added to URL only after clicking on Sign up button in Sing up page</li>
<li>Inject CSRF token to response because it is each time different.</li>
</ol>
<p>In general I should each load test obtain test parameter from URL and obtain CSRF token and pass it to response.</p>
<p>If you will be able to help with examples. Much appreciated. Thank you in advance!</p>
",https://stackoverflow.com/questions/75579155/load-testing-with-getting-url-parameter-and-csrf-token-in-the-body,"['testing', 'jmeter', 'load', 'performance-testing']",49,False,0,1
Load Testing of Websockets with a sustained concurrent connections of 1million plus,"<p>Has anybody done Performance testing of web sockets protocol for 1Million+ sustained concurrent connections and if so what tool is recommended for this purpose and will it integrate into a CICD pipeline ?</p>
<p>Thank you,
Prashat</p>
<p>Couldnt find anything out there</p>
",https://stackoverflow.com/questions/76232794/load-testing-of-websockets-with-a-sustained-concurrent-connections-of-1million-p,"['websocket', 'performance-testing', 'load-testing']",27,False,0,1
How to load testing an application that calling external service APIs using Jmeter?,"<p>I currently want to perform a load testing an application using Jmeter but some functions need to call an external service APIs.</p>
<p>So I want to know how do I test those APIs without the app calling the actual external API service.</p>
<p>For example, I want to test an application that calling Google Maps Platform <a href=""https://developers.google.com/maps/documentation/directions/get-directions?hl=en"" rel=""nofollow noreferrer"">Directions API</a> to get a direction from point A to B.</p>
",https://stackoverflow.com/questions/75280658/how-to-load-testing-an-application-that-calling-external-service-apis-using-jmet,"['testing', 'jmeter', 'performance-testing', 'external', 'load-testing']",156,False,0,1
Load testing an application that uses Azure sso authorization code flow with jmeter,"<p>I am new to Jmeter. I want to load test an application that is protected with Azure sso authorization code. Is there any reference documentation that I could read to achieve this?</p>
<p>I have tried this: <a href=""https://www.aurigait.com/blog/performance-testing-on-auth2-apis-using-jmeter-and-server-cmd-line/"" rel=""nofollow noreferrer"">https://www.aurigait.com/blog/performance-testing-on-auth2-apis-using-jmeter-and-server-cmd-line/</a> but it doesn’t work</p>
",https://stackoverflow.com/questions/75932544/load-testing-an-application-that-uses-azure-sso-authorization-code-flow-with-jme,"['azure', 'oauth-2.0', 'jmeter', 'single-sign-on', 'jmeter-plugins']",61,False,0,1
Microservice is throwing 502 Bad gateway time out after some to perform load testing,"<p>I am using the microservice architecture and performing the load testing where main microservice is throwing the 502 Bad gateway timeout after some time e.g 1k user load, after completing the 400 user request then after it is start to throw the 502 Bad gateway timeout.</p>
<p>Service name
Eureka zuul Api gateway
Eureka server
Eureka client( main microservice)</p>
<p>Please  share your suggestions and let know if you have any questions</p>
",https://stackoverflow.com/questions/75363425/microservice-is-throwing-502-bad-gateway-time-out-after-some-to-perform-load-tes,"['java', 'microservices']",137,False,1,1
Load testing 1000 users via blazemeter and jmeter but getting 1 user reflection in backend,"<p><a href=""https://i.stack.imgur.com/fXcHS.png"" rel=""nofollow noreferrer"">Let's say I am filling this form and recording it via blazemeter</a>
<a href=""https://i.stack.imgur.com/MoZ0h.jpg"" rel=""nofollow noreferrer"">and this is how its looking in jmeter for testing 1000 users</a>
<a href=""https://i.stack.imgur.com/lzjzd.jpg"" rel=""nofollow noreferrer"">this is my backend and it's only reflecting one user</a></p>
<p><a href=""https://i.stack.imgur.com/uhU36.jpg"" rel=""nofollow noreferrer"">I am expecting 1000 differnt users here after load test on jmeter</a></p>
",https://stackoverflow.com/questions/75481414/load-testing-1000-users-via-blazemeter-and-jmeter-but-getting-1-user-reflection,"['testing', 'jmeter', 'load-testing', 'blazemeter']",36,False,0,1
IBM Websphere slowness issue in after some load testing- Need resolution expectedly in Threads and Heap,"<p>Whenever JVM restarts transactions, response is very fast within 500ms for single query and after some load testing for some complex accounts the same single query take 3-4 seconds to process.
Database has no issues.
Please suggest I expect there is issue with Thread or Heap. I have tested with Heap size change etc but overall not much improvement.I even turned of TCP_NODELAYACT to false saving 200ms in server property of IBM on WebSphere server.
Please suggest on Thread level optimizations I am using 15 concurrent users only at load testing and it is not reaching max limits.</p>
<p>Currently tested using:
Heap size : 512MB to 2GB Max size
and 2GB Min size to 4GB Max size overall got 15% improvement along with removing TCP_NODELAYACT parameter.
DB connections Min 7 and Max 20
I checked by increasing Max pool connections but no improvement.</p>
<p>Issue is something overhead on Websphere which once created is delaying everything.....Heap dumps I can see some memory leaks but not too big size. One more issue is how can I identify exactly which part of code is creating Leak because only Object generic name is there in Heap dump analyzer.</p>
",https://stackoverflow.com/questions/75631778/ibm-websphere-slowness-issue-in-after-some-load-testing-need-resolution-expecte,"['websphere', 'threadpool', 'heap-dump', 'thread-dump']",25,False,0,0
Can we use the same Device ID for all the concurrent users during mobile load testing,"<p>I am performing mobile load testing.
And in one of the request there is device ID also captured, so not able to figure out how to proceed</p>
<p>Checked with single decide ID only.</p>
",https://stackoverflow.com/questions/75948658/can-we-use-the-same-device-id-for-all-the-concurrent-users-during-mobile-load-te,"['performance', 'jmeter', 'performance-testing', 'jmeter-5.0']",16,False,0,1
Load testing PowerBI reports with JMeter,"<p>Looking for inputs from experts who have experience in load testing PowerBI reports.</p>
<p>I tried to capture traffic using Fiddler and Developer Tools on edge, but I don't see the main URL's like <a href=""https://app.powerbi.com/groups/me/apps"" rel=""nofollow noreferrer"">https://app.powerbi.com/groups/me/apps</a> (PowerBI HomePage -&gt; Apps) in them.</p>
<p>What are the other ways to do load testing for PowerBI reports?</p>
",https://stackoverflow.com/questions/76151357/load-testing-powerbi-reports-with-jmeter,"['jmeter', 'powerbi', 'performance-testing', 'load-testing']",23,False,0,1
How can I use AWS traffic mirroring to copy the traffic from my Network Load Balancer,"<p>I was trying to copy network requests from my load balancer without redirecting the traffic to another node using traffic mirroring.  Actually I was trying load testing on my app. So in order to do load testing I was trying to record the traffic and then run that data on services like Locust. How can I record the traffic on my production?</p>
",https://stackoverflow.com/questions/75933326/how-can-i-use-aws-traffic-mirroring-to-copy-the-traffic-from-my-network-load-bal,"['amazon-web-services', 'amazon-eks', 'aws-application-load-balancer', 'traffic', 'mirroring']",33,False,0,0
Is it possible to perform load Testing on Mobile Apps,"<p>Anyone please guide me how I perform load testing on Android Applications. Please suggest any tool with guidelines.</p>
",https://stackoverflow.com/questions/75098518/is-it-possible-to-perform-load-testing-on-mobile-apps,"['android', 'performance-testing', 'load-testing', 'mobile-application']",44,True,1,1
Quarkus redis client throwing error &#39;java.util.concurrent.CompletionException: io.vertx.core.impl.NoStackTraceThrowable: No more endpoints in chain.&#39;,"<p>We're trying to move from standalone redis to redis High availability mode. However while load testing in dev environment we're receiving below error.</p>
<pre><code>    level=ERROR time=&quot;07-03-2023 20:54:35&quot; traceId=&quot;5a65a85d2f6ccaa8&quot; logger=GlobalExceptionMapper message=&quot;GlobalExceptionMapper: java.util.concurrent.CompletionException: io.vertx.core.impl.NoStackTraceThrowable: No more endpoints in chain.
        at io.smallrye.mutiny.operators.uni.UniBlockingAwait.await(UniBlockingAwait.java:73)
        at io.smallrye.mutiny.groups.UniAwait.atMost(UniAwait.java:61)
        at io.quarkus.redis.client.runtime.RedisClientImpl.await(RedisClientImpl.java:1026)
        at io.quarkus.redis.client.runtime.RedisClientImpl.set(RedisClientImpl.java:672)
        at io.quarkus.redis.client.RedisClient_761b9a6e5f634178e3291b09c1921f229025da0c_Synthetic_ClientProxy.set(RedisClient_761b9a6e5f634178e3291b09c1921f229025da0c_Synthetic_ClientProxy.zig:2298)
        at &lt;package&gt;.services.SequenceService.isKeyPresentForDuplicityCheck(SequenceService.java:34)
        at &lt;package&gt;.services.SequenceService_ClientProxy.isKeyPresentForDuplicityCheck(SequenceService_ClientProxy.zig:256)
        at &lt;package&gt;.services.AccountsApiServiceImpl.createCustomerAccount(AccountsApiServiceImpl.java:128)
        at &lt;package&gt;.services.AccountsApiServiceImpl_Subclass.createCustomerAccount$$superforward1(AccountsApiServiceImpl_Subclass.zig:197)
        at &lt;package&gt;.services.AccountsApiServiceImpl_Subclass$$function$$2.apply(AccountsApiServiceImpl_Subclass$$function$$2.zig:33)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:132)
        at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:103)
        at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequired.doIntercept(TransactionalInterceptorRequired.java:38)
        at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.intercept(TransactionalInterceptorBase.java:57)
        at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequired.intercept(TransactionalInterceptorRequired.java:32)
        at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequired_Bean.intercept(TransactionalInterceptorRequired_Bean.zig:340)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at &lt;package&gt;.services.AccountsApiServiceImpl_Subclass.createCustomerAccount(AccountsApiServiceImpl_Subclass.zig:404)
        at &lt;package&gt;.services.AccountsApiServiceImpl_ClientProxy.createCustomerAccount(AccountsApiServiceImpl_ClientProxy.zig:659)
        at &lt;package&gt;.resources.AccountsApi.createCustomerAccount(AccountsApi.java:48)
        at &lt;package&gt;.resources.AccountsApi$quarkusrestinvoker$createCustomerAccount_0b915408532d6a09a8c6a63ae490a49fe854ecb6.invoke(AccountsApi$quarkusrestinvoker$createCustomerAccount_0b915408532d6a09a8c6a63ae490a49fe854ecb6.zig:39)
        at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
        at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:7)
        at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:141)
        at io.quarkus.vertx.core.runtime.VertxCoreRecorder$13.runWith(VertxCoreRecorder.java:543)
        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
        at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
        at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:829)
        at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:567)
        at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
Caused by: io.vertx.core.impl.NoStackTraceThrowable: No more endpoints in chain.
</code></pre>
<p><strong>How load testing is being performed?</strong></p>
<p>We're calling posting 30K requests from JMeter with below configuration. While the requests are being processed, we delete the redis master instance one by one (when the previously deleted pod is completely restarted).
The master redis instance is deleted using below command
<code>kubectl -n &lt;namespace&gt; delete pod redis-0</code></p>
<p>Sentinels are able to perform a complete failover when a master redis instance is deleted and a new redis master is selected. In most cases, a few requests are failed and after a short period of time new requests start executing successfully. However, for some cases, the Jmeter hangs for a while and then the error 'io.vertx.core.impl.NoStackTraceThrowable: No more endpoints in chain' is shown for every remaining request.</p>
<p><a href=""https://i.stack.imgur.com/nS3eS.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/nS3eS.png"" alt=""enter image description here"" /></a></p>
<p><strong>System Configuration</strong></p>
<p>Quarkus Process which is connecting to redis</p>
<p><a href=""https://i.stack.imgur.com/1RkzM.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/1RkzM.png"" alt=""enter image description here"" /></a></p>
<p>All the configuration are present in process' application.properties file</p>
<p>Redis
<a href=""https://i.stack.imgur.com/GqTGP.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/GqTGP.png"" alt=""enter image description here"" /></a></p>
<p>Sentinel
<a href=""https://i.stack.imgur.com/1ZfQJ.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/1ZfQJ.png"" alt=""enter image description here"" /></a></p>
<p><strong>Things we've tried</strong></p>
<ul>
<li>Tuning the quarkus redis parameters while load testing. We've executed the load test about 20 times now with changes in redis paramters. All but 1 load tests have resulted in this issue</li>
<li>There is a way to reconnect on error in vertx redis client. Abandoned this approach as there was lot of code change involved to migrate to vertx redis client</li>
</ul>
<p><strong>Quarkus Process Details</strong></p>
<ul>
<li>Traffic of ~300 tps is expected on this api</li>
<li>1 pod was running in dev environment while load testing. In production, there are 5.</li>
<li>Quarkus version: &lt;quarkus.platform.version&gt;2.3.0.Final&lt;/quarkus.platform.version&gt;</li>
<li>Redis dependency</li>
</ul>
<pre><code>        &lt;dependency&gt;
            &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
            &lt;artifactId&gt;quarkus-redis-client&lt;/artifactId&gt;
        &lt;/dependency&gt;
</code></pre>
<ul>
<li>Last time we observed this issue was when we provided incorrect connection string to sentinel</li>
<li>Redis configuration in the process. These values are overridden by the values in kubernetes deployment file</li>
</ul>
<pre><code>quarkus.redis.hosts=redis://sentinel:5000
quarkus.redis.client-type=sentinel
quarkus.redis.password=
quarkus.redis.timeout=5S
quarkus.redis.max-pool-size=50
quarkus.redis.max-pool-waiting=5000
quarkus.redis.pool-cleaner-interval=5S
quarkus.redis.pool-recycle-timeout=5S
quarkus.redis.reconnect-attempts=5
quarkus.redis.reconnect-interval=30S
quarkus.redis.max-waiting-handlers=20
</code></pre>
<p>I'm seeking assistance on how to resolve this issue as I've exhausted all ideas to resolve it. I would appreciate any guidance on the matter, including suggestions on load testing methods and configurations.</p>
<p><strong>Update</strong></p>
<ol>
<li><p>Tried load testing by crashing the redis master instances through liveness probe. Same issue observed again. After crashing the pods twice the error was thrown.</p>
</li>
<li><p>Added below parameters for load testing. Still facing the same error</p>
</li>
</ol>
<pre><code>quarkus.redis.timeout.connect=60_000
quarkus.redis.timeout.read=70_000
quarkus.redis.timeout.write=80_000
</code></pre>
<p>Increased the timeout for redis</p>
<pre><code>quarkus.redis.timeout=100S
</code></pre>
<ol start=""3"">
<li>Workaround done through Jedis library. This library reconnects to redis master automatically. There's probably some issue with quarkus redis client</li>
</ol>
",https://stackoverflow.com/questions/75665363/quarkus-redis-client-throwing-error-java-util-concurrent-completionexception-i,"['java', 'kubernetes', 'redis', 'quarkus', 'redis-sentinel']",328,False,0,1
load testing on form page,"<p>Let's assume if I am doing 1000 users load testing using jmeter and blazemeter on a form page (survey form) is there any way those 1000users can reflect on submission page</p>
<p>I was getting entry on only one user</p>
<hr />
<p><a href=""https://i.stack.imgur.com/Uccgz.png"" rel=""nofollow noreferrer"">if this is the from i am filling and recording it with the help of blazeMeter</a></p>
<p><a href=""https://i.stack.imgur.com/cqbtF.jpg"" rel=""nofollow noreferrer"">And I am only getting reflection of one user on the backend after load testing 1000users</a></p>
<p><a href=""https://i.stack.imgur.com/yiswH.jpg"" rel=""nofollow noreferrer"">This is how it's looking in jmeter </a></p>
<p>[what should I do so there will 1000 reflection of different id in my backend]</p>
",https://stackoverflow.com/questions/75459642/load-testing-on-form-page,"['jmeter', 'blazemeter']",26,True,0,1
How to use Gatling in visual studio c# code,"<p>I have a project which contain WebAPI developed using asp.net c# code. Now my requirement is to add a test layer for this API project which will do the load testing for the API's. Is it possible to use Gatling testing tool for load testing within the visual studio code? if not, then what will be best suited for this kind of scenario.</p>
<p>I tried to search for any library for Gatling but I am not able to find any.I did not find any content available online to this task.</p>
",https://stackoverflow.com/questions/75455979/how-to-use-gatling-in-visual-studio-c-code,"['c#', 'visual-studio', 'scala', 'webapi', 'gatling']",87,False,0,0
Jmeter | SAP Fiori | Load Test | Blank Response Body | Response Code 200 OK,"<p>I am doing load testing of SAP Fiori app using Jmeter tool. The scripts are working fine with multiple users but during load testing the same scripts throw errors as the response body received is blank for most of the requests. However, the response code for the same request is 200 OK. Error because of the response assertion fails as the response received is empty and the check is put on the received text only.</p>
<p><a href=""https://i.stack.imgur.com/c9YfQ.png"" rel=""nofollow noreferrer"">Sample Result</a></p>
<p><a href=""https://i.stack.imgur.com/ltEhx.png"" rel=""nofollow noreferrer"">Response Headers</a></p>
<p>Tried increasing the timeout, changing implementation of the request but, nothing worked.</p>
",https://stackoverflow.com/questions/76158777/jmeter-sap-fiori-load-test-blank-response-body-response-code-200-ok,"['jmeter', 'performance-testing', 'load-testing', 'jmeter-5.0', 'sap-fiori']",46,False,-1,1
Locust randomly fails,"<p>I am attempting to perform load testing, but the test results are inconsistent. While load testing generally succeeds on my local machine, it fails intermittently on the CI environment.</p>
<p>I run below bash script to run locust file after running the API.</p>
<pre class=""lang-bash prettyprint-override""><code>function loadTesting() {
    # check if locust installed
    if ! [ -x &quot;$(command -v locust -V)&quot; ]; then
        if ! [ -x &quot;$(command -v pip3 -V)&quot; ]; then
            warn_msg &quot;pip3 is not installed. Installing...&quot;
            apt install python3-pip
        fi
        warn_msg &quot;Locust is not installed. Installing...&quot;
        pip3 install locust
    fi
    local HOST=http://127.0.0.1:8080
    local CONCURRENT=500
    local RATE=500
    local DURATION=10
    locust -f ${ROOT_DIR}/load-testing/locust.py \
                         --host ${HOST}          \
                         --headless              \
                         --users=${CONCURRENT}   \
                         --spawn-rate=${RATE}    \
                         --run-time=${DURATION}s \
                         --reset-stats           \
                         --only-summary
}
</code></pre>
<p>And here is my locust file</p>
<pre class=""lang-py prettyprint-override""><code>from locust import task, between, FastHttpUser
import string
import random
import time
import datetime

WAIT_TIME_MIN = 0.1
WAIT_TIME_MAX = 0.5

h = {
    &quot;Content-Type&quot;: &quot;application/json&quot;,
    &quot;Authorization&quot;: &quot;Basic YWRtaW46YWRtaW4=&quot;
}

random.seed()

class LoadTest(FastHttpUser):
    wait_time = between(WAIT_TIME_MIN, WAIT_TIME_MAX)
    abstract = True
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.base_path = None

    def generate_random_string(self, min_name_size=2, max_name_size=20) -&gt; str:
        letters = string.ascii_lowercase
        string_size = random.randint(min_name_size, max_name_size)
        generated_string = ''.join(random.choice(letters) for i in range(string_size))
        return generated_string

    def generate_random_dob(self) -&gt; str:
        d = random.randint(1, int(time.time()))
        return datetime.date.fromtimestamp(d).strftime('%Y-%m-%d')

    @task(1)
    def get_all(self):
        self.client.get(url=self.base_path, headers=h)

    @task(1)
    def get_one_by_id(self):
        random_id = self.random_user_id()
        self.client.get(url=f&quot;{self.base_path}/by-id/{random_id}&quot;, headers=h)

    @task(1)
    def get_one_by_email(self):
        random_email = self.random_user_mail()
        self.client.get(url=f&quot;{self.base_path}/by-email/{random_email}&quot;, headers=h)

    @task(20)
    def post_request(self):
        self.client.post(url=self.base_path, json=self._generate_post_data(), headers=h)

    @task(4)
    def put_request(self):
        request_path, request_data = self._generate_put_data()
        self.client.put(url=request_path, json=request_data, headers=h)


class TeacherProcess(LoadTest):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.base_path = &quot;/api/v1/teacher&quot;
        self.teacher_mails = []
        self.counter = 0

    def on_start(self):
        self.client.post(url=self.base_path,
                         json=self._generate_post_data(),
                         headers=h)
    
    def random_user_mail(self) -&gt; str:
        return random.choice(self.teacher_mails)
    
    def random_user_id(self) -&gt; int:
        return random.randint(1, self.counter)

    def on_stop(self):
        for email in self.teacher_mails:
            self.client.delete(url=f&quot;{self.base_path}/by-email/{email}&quot;, headers=h)

    def _generate_post_data(self) -&gt; dict:
        request_data = {
            &quot;name&quot; : self.generate_random_string(),
            &quot;email&quot;: f&quot;{self.generate_random_string()}@{self.generate_random_string()}.{self.generate_random_string()}&quot;,
            &quot;dob&quot;: self.generate_random_dob()
        }
        self.teacher_mails.append(request_data[&quot;email&quot;])
        self.counter += 1

        return request_data

    def _generate_put_data(self) -&gt; (str | dict):
        request_data = {
            &quot;name&quot;: self.generate_random_string(),
            &quot;email&quot;: f&quot;{self.generate_random_string()}@{self.generate_random_string()}.{self.generate_random_string()}&quot;,
            &quot;dob&quot;: self.generate_random_dob()
        }

         # select random email on db
        random_teacher_mail_on_db = random.choice(self.teacher_mails)
        # delete randomly selected email from list
        self.teacher_mails.remove(random_teacher_mail_on_db)
        # add new email to the list
        self.teacher_mails.append(request_data[&quot;email&quot;])

        return f&quot;{self.base_path}/{random_teacher_mail_on_db}&quot;, request_data


class StudentProcess(LoadTest):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.base_path = &quot;/api/v1/student&quot;
        self.student_mails = []
        self.counter = 0

    def on_start(self):
        self.client.post(url=self.base_path,
                         json=self._generate_post_data(),
                         headers=h)
        
    def random_user_mail(self) -&gt; str:
        return random.choice(self.student_mails)
    
    def random_user_id(self) -&gt; int:
        return random.randint(1, self.counter)
    
    def on_stop(self):
        for email in self.student_mails:
            self.client.delete(url=f&quot;{self.base_path}/by-email/{email}&quot;, headers=h)

    def _generate_post_data(self) -&gt; dict:
        request_data = {
            &quot;name&quot;: self.generate_random_string(),
            &quot;email&quot;: f&quot;{self.generate_random_string()}@{self.generate_random_string()}.{self.generate_random_string()}&quot;,
            &quot;dob&quot;: self.generate_random_dob()
        }

        self.student_mails.append(request_data[&quot;email&quot;])
        self.counter += 1

        return request_data
    
    def _generate_put_data(self) -&gt; (str | dict):
        request_data = {
            &quot;name&quot;: self.generate_random_string(),
            &quot;email&quot;: f&quot;{self.generate_random_string()}@{self.generate_random_string()}.{self.generate_random_string()}&quot;,
            &quot;dob&quot;: self.generate_random_dob()
        }

        # select random email on db
        random_student_mail_on_db = random.choice(self.student_mails)
        # delete randomly selected email from list
        self.student_mails.remove(random_student_mail_on_db)
        # add new email to the list
        self.student_mails.append(request_data[&quot;email&quot;])

        return f&quot;{self.base_path}/{random_student_mail_on_db}&quot;, request_data
</code></pre>
<p>I expect the test to consistently pass without modifying any parameters. However, the test results vary on the CI (GitHub Action), with some cases passing and others failing.</p>
<p>Here are two examples where the code remains the same, but the difference lies in the timing of the CI runs:</p>
<ol>
<li><a href=""https://github.com/serdarakyol/spring-boot-app/actions/runs/4967612727/jobs/8889752117"" rel=""nofollow noreferrer"">Failed test</a></li>
<li><a href=""https://github.com/serdarakyol/spring-boot-app/actions/runs/4967711016/jobs/8889866935"" rel=""nofollow noreferrer"">Passed test</a></li>
</ol>
",https://stackoverflow.com/questions/76243642/locust-randomly-fails,['locust'],37,False,0,0
Can we use the same Device ID for all the concurrent users during mobile load testing,"<p>I am performing mobile load testing.
And in one of the request there is device ID also captured, so not able to figure out how to proceed</p>
<p>Checked with single decide ID only.</p>
",https://stackoverflow.com/questions/75948658/can-we-use-the-same-device-id-for-all-the-concurrent-users-during-mobile-load-te,"['performance', 'jmeter', 'performance-testing', 'jmeter-5.0']",16,False,0,1
How to load test a Spring application acting as a Kafka consumer?,"<p>I have developed a Spring application that serves as a Kafka consumer. It listens to a specific Kafka topic and processes incoming messages. Now, I would like to perform load testing on this application to determine its scalability and performance.</p>
<p>My goal is to understand how many loads of Kafka messages my application can handle efficiently. I want to simulate a high volume of messages (I can do that using jMeter or Gatling) to see if the application can handle the load without any performance degradation or failures.</p>
<p>I have considered using tools like JMeter or Gatling for load testing, but I'm unsure about the specific steps and configurations required for testing a Spring application acting as a Kafka consumer.
Actually the existing solutions using those tools test the Kafka infrastructure itself and not the application.</p>
<p>Here are the main aspects I would like assistance with:</p>
<ul>
<li><p>Is there any tools or frameworks for load testing a Spring
application acting as a Kafka consumer?</p>
</li>
<li><p>And if I will need to implement my own tool or plugin, what will be<br />
the key performance metrics I should measure and analyze during the<br />
load test to assess the application's scalability?</p>
</li>
</ul>
",https://stackoverflow.com/questions/76273637/how-to-load-test-a-spring-application-acting-as-a-kafka-consumer,"['spring', 'jmeter', 'load-testing', 'gatling', 'stress-testing']",45,False,0,1
Confluent Cloud - Generate Messages of Kafka Producer for Load Testing,"<p>I have found many answers for load testing the on premise Kafka, but are there any ways to do it for Confluent Cloud Kafka?</p>
<p>We plan to stress test the consumers written in java+spring listening to topics from the producer.</p>
",https://stackoverflow.com/questions/75060082/confluent-cloud-generate-messages-of-kafka-producer-for-load-testing,"['apache-kafka', 'stress-testing', 'confluent-cloud']",38,True,0,1
Apache Thrift Server Load Testing,"<p>I have created Apache Thrift server using Node JS, but i have to provide load test results on hoiw much concurrent users and how much concurrent requests can Apache thrift server handles per second.How can i perform this load testing.?</p>
",https://stackoverflow.com/questions/75546622/apache-thrift-server-load-testing,"['thrift', 'thrift-protocol']",26,False,0,0
Nginx not accepting more than 500-600 requests,"<p>I am doing a load testing with nginx as a proxy server, it is not accepting the expected no of requests I guess, so I want to know whether I have to change any configuration in nginx.conf</p>
<p>I am using gatling tool for load testing. I am sending 1500 requests through gatling to nginx, but logs for only 500-600 requests will be generated in access log file. So I have a doubt that nginx only accepting 500 requests and rejecting all other. I dont know whether the problem is with nginx or gatling. So I want to know whether I have to increase any value in nginx conf file.How to make nginx to handle more requests.
Here is my nginx conf file</p>
<pre><code>worker_processes  2;

events
{
#maximum number of connections for each worker process
worker_connections  2048;
}

#HTTP server

http
{
#allow underscores char in headers Eg : auth_token
underscores_in_headers on;

#Copying file attachment data into buffer to increase the server performance
sendfile        off;

# No. of seconds the server will wait before closing a keep-alive connection
keepalive_timeout  75;

#No. of requests a client can make over a single connection
keepalive_requests 50000;
   
# Maximum post size
client_max_body_size 30M;
   
#Maximum Request header size
client_header_buffer_size 2M;





proxy_http_version 1.1;
       proxy_set_header Host $http_host;
     # Timeout for URL's - 2 hours
       proxy_read_timeout 120m;
         proxy_connect_timeout 120m;
          proxy_send_timeout 120m;
          proxy_ignore_client_abort on;
</code></pre>
",https://stackoverflow.com/questions/75613905/nginx-not-accepting-more-than-500-600-requests,"['nginx', 'load-balancing', 'load-testing', 'nginx-config']",123,False,1,1
jmeter performance testing and load testing,"<p>I am performing performance and load testing by sending 1000 requests to the HTTPS sampler, with a ramp-up period of 1 second or a loop count of 3. Sometimes, my requests fail or I get an error.</p>
<p>please share details about it what is and why its happening?</p>
",https://stackoverflow.com/questions/75528546/jmeter-performance-testing-and-load-testing,"['jmeter', 'performance-testing', 'load-testing']",40,False,0,1
Load testing for less users using Jmeter,"<p>I have a scenario where there are 3 different types of user logins e.g. Customer users, Counterparty users, Corporate users for an application. Their access changes based on the type of users. But there are only 2000 Counterparty users and 61 Corporate users in production right now. Do I need to create load testing for Counterparty and Corporate users in that case?</p>
<p>There are 3000000 customer users and as per my understanding, load testing is required for customer users definitely.</p>
<p>Customer users have very limited access but they are important as they are customer foccussed. I have created scripts for all the users at the moment but creating data for different types of functionalities is an issue as we cannot reuse data in this case. So i am thinking if just focussing on Customer users will be helpful.</p>
",https://stackoverflow.com/questions/76156159/load-testing-for-less-users-using-jmeter,"['testing', 'jmeter', 'load']",10,False,0,1
maxWait mysql configuration taking no effect in grails?,"<p>I am load testing a grails 4.0.10 app using jmeter</p>
<p><a href=""https://i.stack.imgur.com/QaJtc.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/QaJtc.png"" alt=""enter image description here"" /></a></p>
<p>After 5 minutes or so the log starts recording error like this</p>
<p><a href=""https://i.stack.imgur.com/mg2Xg.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/mg2Xg.png"" alt=""enter image description here"" /></a></p>
<p>you can see it says</p>
<pre><code>Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.
</code></pre>
<p>according to the docs</p>
<p><a href=""https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Common_Attributes"" rel=""nofollow noreferrer"">https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Common_Attributes</a></p>
<p>the default maxwait is 30 seconds or 30000 ms</p>
<p><a href=""https://i.stack.imgur.com/ekUQg.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/ekUQg.png"" alt=""enter image description here"" /></a></p>
<p>This is the configuration i am using</p>
<pre><code>        dataSource {
            pooled = true
            dbCreate = &quot;none&quot;
            url = &quot;jdbc:mysql://localhost:3306/dev2?useUnicode=yes&amp;characterEncoding=UTF-8&quot;
            driverClassName = &quot;com.mysql.cj.jdbc.Driver&quot;
            dialect = org.hibernate.dialect.MySQL8Dialect
            type = &quot;com.zaxxer.hikari.HikariDataSource&quot;
            properties {
                jmxEnabled = true
                initialSize = 5
                maxActive = 50
                minIdle = 5
                maxIdle = 25
                maxWait = 10000
                maxAge = 10 * 60000
                timeBetweenEvictionRunsMillis = 5000
                minEvictableIdleTimeMillis = 60000
                validationQuery = &quot;SELECT 1&quot;
                validationQueryTimeout = 3
                validationInterval = 15000
                testOnBorrow = true
                testWhileIdle = true
                testOnReturn = false
                jdbcInterceptors = &quot;ConnectionState;StatementCache(max=200)&quot;
                defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
            }
}
</code></pre>
<p>you can see i am using maxWait 10000.</p>
<p>But the error is saying timeout after 30000 which is the default value.</p>
<p>So this means the configuration change is not taking effect.</p>
<p>I am using root mysql user so the user should have all privilege.</p>
<p>What could be the reason the db configuration is not taking effect especially the maxWait property? I would like to increase maxWait so that load testing can pass.</p>
<p>I am running the app as standalone using this command</p>
<pre><code> nohup java -Dgrails.env=prod -Duser.timezone=US/Mountain -jar RCRoadRaceWeb4-0.1.jar &amp;
</code></pre>
<p>I appreciate any help. Thanks!</p>
",https://stackoverflow.com/questions/75694525/maxwait-mysql-configuration-taking-no-effect-in-grails,"['mysql', 'grails', 'connection-pooling', 'hikaricp']",59,True,0,1
What is the correct approach for load testing evm?,"<p>I am trying to create a load testing script for a simple evm with jsonrpc. I have a different type of methods in my mind.
First one is that i will send lets say 1000 requests(write transactions) to the server and wait for the responses and calculate total time then i can find a successful responses/seconds data. Second one is that i can send these request with a delay such as 100ms then during the process i can measure the successful responses/time lets say in every 250ms. In my opinion, real life request will not be sent so fast without a delay but in order to understand the edges of the server requests must be sent as soon as possible. So what is the correct approach to simulate and calculate a load testing result ?</p>
",https://stackoverflow.com/questions/75042074/what-is-the-correct-approach-for-load-testing-evm,"['testing', 'load', 'json-rpc', 'ethers.js', 'evm']",12,False,0,0
Why websockets clients are not added to map,"<p>I have websocket server developed in golang using gorilla websockets package and I'm using map to store the clients.</p>
<pre><code>func serveWs(pool *Pool, w http.ResponseWriter, r *http.Request) {
    conn, err := Upgrade(w, r)
    if err != nil {
        fmt.Fprintf(w, &quot;%+v\n&quot;, err)
    }

    client := &amp;Client{
        Id: uuid.New(),
        Conn: conn,
        Pool: pool,
        SubsTopics: make(map[string]string),
        UnsubChan: make(chan bool),
    }

    pool.Connect &lt;- client

    client.ReadMessage()
}

func (pool *Pool) Start() {
    for {
        select {
        case client := &lt;-pool.Connect:
            pool.Clients[client] = true
            fmt.Println(&quot;Size of Connection Pool: &quot;, len(pool.Clients), &quot; &amp; &quot; ,client.Id)
            break
        case client := &lt;-pool.Disconnect:
            client.UnsubChan &lt;- true
            delete(pool.Clients, client)
            fmt.Println(&quot;Size of Connection Pool: &quot;, len(pool.Clients), &quot; &amp; &quot; ,client.Id)
            break
        }
    }
}
</code></pre>
<p>This is how I'm adding and removing clients. By these logs imm get to know number of clients connected.</p>
<p>I did load testing of that server using k6 package. While testing for 10000 clients if the connections reachs 5000 clients it is not increasing more than that it was staying in 5000 itself and at the end of the test it disconnects those clients without any error.</p>
<p>What might be the reason behind these issue and how to fix this?</p>
<p>Note: even if I reduce the clients count in load testing tool as 1000, even though after 300 - 400 clients the connections count stays between 300-350 and at the end it was disconnecting every clients without any error.</p>
",https://stackoverflow.com/questions/76260159/why-websockets-clients-are-not-added-to-map,"['go', 'websocket']",49,False,0,0
How to properly evaluate etimedout requests in Artillery.io report,"<p>I tested Artillery.io (cloud-scale load testing) against a page which I believe should work seamlessly: <a href=""http://www.google.com"" rel=""nofollow noreferrer"">www.google.com</a> :)</p>
<p>I'm now wondering if Artillery is reliable. I got 47 errors.ETIMEDOUT out of 600 http requests.</p>
<p>How is this possible, am I missing something? I would have expected 0 time out requests.</p>
<pre><code>npm install -g artillery 
artillery run landing-page-test.json
</code></pre>
<pre><code>// landing-page-test.json

{
  &quot;config&quot;: {
    &quot;target&quot;: &quot;https://wwww.google.com/&quot;,
    &quot;phases&quot;: [
      {
        &quot;duration&quot;: 60,
        &quot;arrivalRate&quot;: 10
      }
    ]
  },
  &quot;scenarios&quot;: [
    {
      &quot;name&quot;: &quot;Load test landing page&quot;,
      &quot;flow&quot;: [
        {
          &quot;get&quot;: {
            &quot;url&quot;: &quot;/&quot;
          }
        }
      ]
    }
  ]
}
</code></pre>
<p><strong>ARTILLERY.IO REPORT:</strong>
<a href=""https://i.stack.imgur.com/TtsCd.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/TtsCd.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/76173119/how-to-properly-evaluate-etimedout-requests-in-artillery-io-report,"['testing', 'performance-testing', 'load-testing', 'artillery']",44,False,0,0
How to increase the tps(transaction per second) in jmeter,"<p>I have to achieve tps of around 2000 in jmeter but able to get around 1000 tried following things -</p>
<p>-Increasing the config
-Distributed Load Testing
-Increasing heap memory
-Increasing or keeping the threads as per the standard formula(followed jmeter best practices)</p>
<p>is there any other way I can do this?</p>
",https://stackoverflow.com/questions/75361675/how-to-increase-the-tpstransaction-per-second-in-jmeter,"['jmeter', 'performance-testing', 'load-testing']",135,False,0,1
Does Jmeter send multiple requests with different IP addresses or same IP?,"<p>When performing load testing for one of my mobile app services, a query entered my head.</p>
<p>If a server receives a request from 100 threads (Users), does JMeter send it with a different IP for each thread or will it send it with the same IP (the current system IP on which JMeter is running)?</p>
",https://stackoverflow.com/questions/75955616/does-jmeter-send-multiple-requests-with-different-ip-addresses-or-same-ip,"['jmeter', 'load-testing']",309,False,0,1
How to capture requests (in the form of curl) made from an app?,"<p>I have apps on Android and iOS and would like to capture requests made from those apps for load testing the API endpoint.</p>
<p>How can I achieve that?</p>
<p>I know there is Flipper but it seems like I need to setup the development environment. And there is man-in-the-middle-proxy but I can't copy curl from there.</p>
",https://stackoverflow.com/questions/75029691/how-to-capture-requests-in-the-form-of-curl-made-from-an-app,"['android', 'ios', 'curl']",49,True,1,1
nBomber runs hundreds of times even if we specify copies:1,"<p>I just came across this very nice load testing tool for .NET and I wrote my first code:</p>
<pre><code>var connectStep = Step.Create(&quot;ConnectReceive&quot;, async context =&gt;
{
    Console.WriteLine(&quot;Step was executed.&quot;);

    return Response.Ok();
});

var scenario = ScenarioBuilder.CreateScenario(&quot;LotsOfConnections&quot;, connectStep)
    .WithLoadSimulations(Simulation.KeepConstant(copies: 1, during: TimeSpan.FromSeconds(10)));

NBomberRunner.RegisterScenarios(scenario).Run();
</code></pre>
<p>However when I run this I see <code>Step was executed</code> hundreds of times in my console screen.
I specified <code>copies: 1, during: TimeSpan.FromSeconds(10)</code> so based on my understanding it should only run once within a period of 10 seconds.
why is it running numerous times</p>
",https://stackoverflow.com/questions/75312369/nbomber-runs-hundreds-of-times-even-if-we-specify-copies1,"['c#', 'asp.net', '.net', 'nbomber']",160,False,-1,1
Jmeter webriver result is not coming for remote system,"<p>Jmeter remote connection is successful and result obtained for localhost but not for remote IP.
As ui load testing i have configure the remote ip in my webdriver code also</p>
<pre><code>ChromeOptions options = new ChromeOptions();
options.addArguments(&quot;--remote-debugging-port=1099&quot;, &quot;--allow-running-insecure-content&quot;);
options.addArguments(&quot;--whitelisted-ips=192.333.10.333&quot;);
</code></pre>
<p>in code also i am not getting error
Remote connection is successful but result not gained. Any help
jmeter log - INFO o.a.j.e.DistributedRunner: Remote engines have been started:[192.333.10.333, 127.0.0.1]</p>
",https://stackoverflow.com/questions/75411608/jmeter-webriver-result-is-not-coming-for-remote-system,"['jmeter', 'distributed-testing']",15,False,0,1
How could I find the GET arguments in BlazeMeter?,"<p>How could I find the GET arguments in BlazeMeter?</p>
<p>E.g. if I am load testing the endpoint <code>https://my.endpoint.com?foo=${__UUID}</code> in BlazeMeter I can see only the <code>https://my.endpoint.com</code>. While, I would be curious to know the request processing time for each <code>foo</code>'s value.</p>
<p>Is it possible to somehow find the GET parameters?</p>
<p>I tried to find out the answer in the <a href=""https://guide.blazemeter.com/hc/en-us"" rel=""nofollow noreferrer"">documentation</a>, but with no success.</p>
",https://stackoverflow.com/questions/75876376/how-could-i-find-the-get-arguments-in-blazemeter,"['parameters', 'jmeter', 'get', 'arguments', 'blazemeter']",35,True,0,1
socket.io server fails in scale test with artillery,"<p>I am executing the scale on socket.io using artillery using the steps mentioned in the blog - <a href=""https://www.artillery.io/blog/load-testing-socketio-with-artillery"" rel=""nofollow noreferrer"">https://www.artillery.io/blog/load-testing-socketio-with-artillery</a> with following modification (adding more users)</p>
<pre><code>config:
  target: &quot;http://localhost:3000&quot;
  phases:
      - duration: 60
        arrivalRate: 5
      - duration: 60
        arrivalRate: 5
        rampTo: 50 
</code></pre>
<p>I am executing the test against the code available at <a href=""https://github.com/socketio/socket.io/tree/main/examples/chat"" rel=""nofollow noreferrer"">https://github.com/socketio/socket.io/tree/main/examples/chat</a></p>
<p>Here is the findings</p>
<pre><code>engine.socketio.emit: .......................................................... 1877
engine.socketio.emit_rate: ..................................................... 2/sec
errors.ECONNREFUSED: ........................................................... 111
errors.Error: xhr poll error: .................................................. 591
errors.Error: xhr post error: .................................................. 388
vusers.completed: .............................................................. 860
vusers.created: ................................................................ 1950
vusers.created_by_name.A chatty user: .......................................... 188
vusers.created_by_name.A mostly quiet user: .................................... 282
vusers.created_by_name.A user that just lurks: ................................. 1480
vusers.failed: ................................................................. 1090
vusers.session_length:
  min: ......................................................................... 60007.8
  max: ......................................................................... 174740.5
  median: ...................................................................... 64236
  p95: ......................................................................... 161191.7
  p99: ......................................................................... 171159.6

</code></pre>
<p>Any idea, why it is failing for so many users?</p>
",https://stackoverflow.com/questions/75456358/socket-io-server-fails-in-scale-test-with-artillery,"['socket.io', 'artillery']",75,False,0,0
"Jmeter Selinium webdriver - UI load testing, result analysis","<p>I am doing UI load testing using distributed Jmeter Selinium webdriver
I have successfully execute the script and obtain the result.
Even though i have obtained the result with success status of 200 code, But how to confirm that all threads has successfully loaded the web pages including images and thumbnails
is there any assertion to very this or any suggestion pls</p>
",https://stackoverflow.com/questions/75433237/jmeter-selinium-webdriver-ui-load-testing-result-analysis,['jmeter'],32,True,-1,1
How to load testing an application that calling external service APIs using Jmeter?,"<p>I currently want to perform a load testing an application using Jmeter but some functions need to call an external service APIs.</p>
<p>So I want to know how do I test those APIs without the app calling the actual external API service.</p>
<p>For example, I want to test an application that calling Google Maps Platform <a href=""https://developers.google.com/maps/documentation/directions/get-directions?hl=en"" rel=""nofollow noreferrer"">Directions API</a> to get a direction from point A to B.</p>
",https://stackoverflow.com/questions/75280658/how-to-load-testing-an-application-that-calling-external-service-apis-using-jmet,"['testing', 'jmeter', 'performance-testing', 'external', 'load-testing']",156,False,0,1
Locust can&#39;t recognize my spring boot app in the same docker-compose network,"<p>I'm running this docker compose file to start a local version of my project and locust to perform some load testing, and I'm supprised how I can't reach my endpoint in the spring boot app.</p>
<p>docker-compose i'm using :</p>
<pre class=""lang-yaml prettyprint-override""><code>version: '3'

services:
  app:
    build: ./colas-crm-back
    ports:
      - &quot;8080:8080&quot;
    networks:
      - locustnet
    hostname: app
    restart: always

  locust:
    build: ./laod-test-back-end
    ports:
      - &quot;8089:8089&quot;
    networks:
      - locustnet
    depends_on:
      - app
    environment:
      - LOCUST_USERS=10
      - LOCUST_HATCH_RATE=1
      - LOCUST_RUN_TIME=10s
      - LOCUST_HOST=http://app:8080
    restart: always

networks:
  locustnet: 
</code></pre>
<p>from locust trying to reach one of the endpoints and it's not recognized at http://app:8080/:
<a href=""https://i.stack.imgur.com/q7Vyo.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/q7Vyo.png"" alt=""enter image description here"" /></a></p>
<p>the endpoint is like that :</p>
<pre class=""lang-java prettyprint-override""><code>@RestController
@RequestMapping(&quot;/api/dashboard&quot;)
@AllArgsConstructor
public class DashboardController {
    ...
    @GetMapping(&quot;colas-value&quot;)
    ResponseEntity&lt;DashboardMetricDto&gt; getColasValue() {
        return ResponseEntity.ok(dashboardService.getColasValue());
    }
</code></pre>
<p>any solution ? to fix it ?</p>
",https://stackoverflow.com/questions/76102045/locust-cant-recognize-my-spring-boot-app-in-the-same-docker-compose-network,"['spring-boot', 'docker', 'docker-compose', 'locust', 'stress-testing']",19,False,0,0
Microservice is throwing 502 Bad gateway time out after some to perform load testing,"<p>I am using the microservice architecture and performing the load testing where main microservice is throwing the 502 Bad gateway timeout after some time e.g 1k user load, after completing the 400 user request then after it is start to throw the 502 Bad gateway timeout.</p>
<p>Service name
Eureka zuul Api gateway
Eureka server
Eureka client( main microservice)</p>
<p>Please  share your suggestions and let know if you have any questions</p>
",https://stackoverflow.com/questions/75363425/microservice-is-throwing-502-bad-gateway-time-out-after-some-to-perform-load-tes,"['java', 'microservices']",137,False,1,1
Can I export the live charts from Locust? If not is it possible to fetch the data generated by Locust and store it to use afterwards?,"<p>I am running load testing of my back-end using Locust, I want the charts to be imported live on my own UI so developers don't have to switch between multiple windows.</p>
<p>If fetching the charts is not possible, at least can I export the live data somewhere on my machine?</p>
<p>I am still searching for the answer. If I have any update I will surely share it here</p>
",https://stackoverflow.com/questions/76162981/can-i-export-the-live-charts-from-locust-if-not-is-it-possible-to-fetch-the-dat,"['load-testing', 'locust', 'stress-testing']",23,False,0,1
My test works in Jmeter but not in Azure Load Testing,"<p>I've defined a test on Jmeter which works correctly on Jmeter on my pc, but it doesn't work when I run it Azure Load Testing.</p>
<p>My test is very simple: it performs a POST request towards Azure AD (<a href=""https://login.microsoftonline.com/TenantID/oauth2/token?api-version=1.0"" rel=""nofollow noreferrer"">https://login.microsoftonline.com/TenantID/oauth2/token?api-version=1.0</a>) with a body like the following one in order to retrieve a token:</p>
<pre><code> &quot;grant_type&quot; = &quot;client_credentials&quot;; 
 &quot;resource&quot; = &quot;$resource&quot;; 
 &quot;client_id&quot; = &quot;$APPID&quot;;
 &quot;client_secret&quot; = &quot;$ClientSecret&quot; 
</code></pre>
<p><a href=""https://i.stack.imgur.com/h70Re.png"" rel=""nofollow noreferrer"">JMeter parameters for the POST call</a></p>
<p>When I perform the call from my PC, it works and I'm then able to use the token to perform some other calls (not relevant here).</p>
<p>When I perform this single call on Azure Load Testing with my jmx file, the calls fails with a 400 (Bad request), as if my request was malformed.</p>
<p>When I download the results of the test, I get the following csv:</p>
<p>timeStamp   elapsed label   responseCode    responseMessage threadName  dataType    success failureMessage  bytes   sentBytes   grpThreads  allThreads  URL Latency IdleTime    Connect
1.67602E+12 147 Get token   400 Bad Request 172.18.19.5-Setup Authentication 1-1    text    FALSE       925 1119    1   1   <a href=""https://login.microsoft.com/*tenantID*/oauth2/v2.0/token"" rel=""nofollow noreferrer"">https://login.microsoft.com/*tenantID*/oauth2/v2.0/token</a>    144 0   107</p>
<p>where <em>tenantID</em> reflects the actual tenant ID.</p>
<p>In order to troubleshoot it, I've tried to replace the values of the tenand id with the values of client id, scope and secret and they show up correctly in the log file when I execute the test.</p>
<p>Also, in my AAD logs I don't see my login attempts, probably because of the 400 - Bad request code, as if my request was somehow malformed, so it doesn't get logged.</p>
<p>I've no idea how I could troubleshoot this further (e.g. can I somehow trace the parameters of the POST call Azure Load Testing is doing?). Any suggestions?</p>
<p>thanks for your help,</p>
<p>Marco</p>
",https://stackoverflow.com/questions/75410800/my-test-works-in-jmeter-but-not-in-azure-load-testing,"['jmeter', 'azure-load-testing']",106,False,0,0
Ballpark value for `--jobs` in `pg_restore` command,"<p>I'm using <a href=""https://www.postgresql.org/docs/current/app-pgrestore.html"" rel=""nofollow noreferrer""><code>pg_restore</code></a> to restore a database to its original state for load testing. I see it has a <code>--jobs=number-of-jobs</code> option.</p>
<p>How can I get a ballpark estimate of what this value should be on my machine? I know this is dependent on a bunch of factors, e.g. machine, dataset, but it would be great to get a conceptual starting point.</p>
<p>I'm on a MacBook Pro so maybe I can use the number of physical CPU cores:</p>
<pre><code>sysctl -n hw.physicalcpu
# 10
</code></pre>
",https://stackoverflow.com/questions/75090169/ballpark-value-for-jobs-in-pg-restore-command,"['postgresql', 'pg-restore']",54,False,0,1
MongoDB requests timing out while load testing,"<p>Our application connects to MongoDB free tier cluster using mongoose. While load testing an endpoint of our application, we observed that under the same load the response status codes are different.</p>
<p>Fresh requests (initial load test) of about 20 requests/second for 60 seconds return 200 OK response for all 1200 requests. After a few other tests under different loads (30 req/s for 60s, 40req/s ...), if we load test again after an hour or so with 20 requests/second for 60 seconds, all requests are timing out. The endpoint works for single requests made through Postman.</p>
<p>What's interesting is that even 10 requests/second for 10 seconds are also all timing out.</p>
<p>Why does this happen and what can be done to address this issue?</p>
<p>It is a POST request that creates a document in a collection. Load testing is done using artillery</p>
<p>I have tried listening to events (connecting, connected, open, error, timeout, disconnected) and logging, the connected, connecting and open events are fired but while the requests are failing none of the error, timeout or disconnected are fired and nothing is logged.</p>
",https://stackoverflow.com/questions/75792023/mongodb-requests-timing-out-while-load-testing,"['node.js', 'mongodb', 'amazon-web-services', 'mongoose', 'timeout']",27,False,0,0
NativeIoException:io.netty.channel.unix.Errors$NativeIoException recvAddress(..) failed: Connection reset by peer,"<p>I am trying to find the solution for below error which occurs in our Appdynamics logs when we perform load testing with Jmeter for 5tps. I am using spring cloud gateway 2.7.8 and netty version - 4.1.87.Final for routing purpose. The same error we do not see in our kubernetes logs or in Kibana logs. I am not able to trace from where the logs is coming up.</p>
<p><code>NativeIoException:io.netty.channel.unix.Errors$NativeIoException recvAddress(..) failed: Connection reset by peer Error capture limit has been reached, this stack trace is truncated.</code></p>
<p>Can someone help me understand why this error is occurring ?</p>
",https://stackoverflow.com/questions/75481015/nativeioexceptionio-netty-channel-unix-errorsnativeioexception-recvaddress,"['spring-boot', 'kubernetes', 'microservices', 'spring-cloud-gateway', 'reactor-netty']",767,False,2,0
IBM Websphere slowness issue in after some load testing- Need resolution expectedly in Threads and Heap,"<p>Whenever JVM restarts transactions, response is very fast within 500ms for single query and after some load testing for some complex accounts the same single query take 3-4 seconds to process.
Database has no issues.
Please suggest I expect there is issue with Thread or Heap. I have tested with Heap size change etc but overall not much improvement.I even turned of TCP_NODELAYACT to false saving 200ms in server property of IBM on WebSphere server.
Please suggest on Thread level optimizations I am using 15 concurrent users only at load testing and it is not reaching max limits.</p>
<p>Currently tested using:
Heap size : 512MB to 2GB Max size
and 2GB Min size to 4GB Max size overall got 15% improvement along with removing TCP_NODELAYACT parameter.
DB connections Min 7 and Max 20
I checked by increasing Max pool connections but no improvement.</p>
<p>Issue is something overhead on Websphere which once created is delaying everything.....Heap dumps I can see some memory leaks but not too big size. One more issue is how can I identify exactly which part of code is creating Leak because only Object generic name is there in Heap dump analyzer.</p>
",https://stackoverflow.com/questions/75631778/ibm-websphere-slowness-issue-in-after-some-load-testing-need-resolution-expecte,"['websphere', 'threadpool', 'heap-dump', 'thread-dump']",25,False,0,0
Zerocode Framework for @ParameterizedTest annotation,"<p>While running performance test on zerocode, I have a method which is annotated with @ParameterizedTest.
But performing load test on it using zerocode Framework it gives an error &quot;Exception in thread &quot;pool-1-thread-1&quot; org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests&quot;. tried using this <a href=""https://medium.com/@igorvlahek1/load-testing-with-junit-393a83261745"" rel=""nofollow noreferrer"">https://medium.com/@igorvlahek1/load-testing-with-junit-393a83261745</a></p>
<pre><code>method which is annotated with @ParameterizedTest is like this:-
    @ParameterizedTest
    @MethodSource(&quot;getData&quot;)
    public void aTest(File file) throws IOException, BusinessException {
    
    }


load class is like this:-
  ` @LoadWith(&quot;my-load-config.properties&quot;)
    @ExtendWith(ParallelLoadExtension.class)
    public class LoadaTest {
        @Test
        @TestMapping(testClass = a.class, testMethod = &quot;aTest&quot;)
        public void aTestLoad(){
    
    }
</code></pre>
<p>is it mandatory to have method annotated with @Test only while performing load test through Zerocode Framework?
please help
thanks in advance`</p>
",https://stackoverflow.com/questions/75820356/zerocode-framework-for-parameterizedtest-annotation,"['testing', 'junit', 'performance-testing', 'load-testing', 'zerocode']",22,False,1,0
What is causing Eggplant performance tool to capture irrelevant URLs during recording?,"<p>I am facing an issue while recording: the tool is not capturing the desired URL. For example, when I try to record <code>amazon.com</code>, it captures an irrelevant URL instead of the correct one. Could you please assist me in resolving this issue?
<a href=""https://i.stack.imgur.com/UjGdg.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/UjGdg.png"" alt=""Amazon Eggplant recording"" /></a></p>
<p>Eggplant Performance records HTTP traffic. I use this to record and play back HTTP request for load testing. However, currently it is only recording request to Microsoft domains. I have been using Google Chrome as my browser.</p>
",https://stackoverflow.com/questions/76076173/what-is-causing-eggplant-performance-tool-to-capture-irrelevant-urls-during-reco,"['testing', 'url', 'load', 'performance-testing', 'egg']",21,False,0,0
Downsides to load testing through gRPC Gateway?,"<p>I'm weighing out the different ways to load test gRPC applications.</p>
<p>One way would be to use the generated clients directly. This would mean having to generate the clients in the language used by the load testing framework.</p>
<p>Another would be to use gRPC Gateway. I'm concerned this may skew results. Is this concern unfounded (eg there's no extra network call and the translation time is minimal compared to other stuff servers do)? Are there other downsides?</p>
",https://stackoverflow.com/questions/75951544/downsides-to-load-testing-through-grpc-gateway,"['grpc', 'performance-testing', 'load-testing']",11,False,0,0
how I generate 1000 rps in Jmeter,"<p>I have to perform CURl API load testing on Jmeter,
requirements are:
The api will be ingesting usage event apis from multiple businesses at the same time. One business could be sending in 500 each second and there could be multiple businesses using this API.</p>
<p>Therefore I would like a full load test of this, specifically if it can sustain 1000 rps and what the performance for the API looks like.</p>
<p>what setting should I set for this on Jmeter?
Thanks in advance</p>
",https://stackoverflow.com/questions/75773910/how-i-generate-1000-rps-in-jmeter,"['api', 'testing', 'curl', 'jmeter', 'load']",57,False,0,1
"How to fix this Response code:422, Response message:Unprocessable Entity while using post method in jmeter?","<p>When I try to perform the post method from jmeter .it will show <a href=""https://i.stack.imgur.com/ILBF7.png"" rel=""nofollow noreferrer"">error message</a>. how to resolve this issue? my request body and URL are correct and it's also working in postman.<a href=""https://i.stack.imgur.com/4xiQ9.png"" rel=""nofollow noreferrer"">response body</a> please help me to resolve this issue.</p>
<p>I try to load testing for my project. get method is working fine in my jmeter but the post method is not working it will show an error message like Response code:422
Response message:Unprocessable Entity error.</p>
<p>how to fix this error?</p>
",https://stackoverflow.com/questions/75916422/how-to-fix-this-response-code422-response-messageunprocessable-entity-while-u,"['api', 'jmeter', 'performance-testing', 'load-testing']",46,True,-1,1
Load Testing with Locust - Custom shape,"<p>Hi I need to perform load testing on my e-commerce application deployed using kubernetes, I need to find realistic signals that tests the performance of my application.</p>
<p>In the repo of locust.io, I found this load shape called double_wave and with it it I was able to perform the load test and get good results in terms of SLO.
Link:
<a href=""https://github.com/locustio/locust/blob/master/examples/custom_shape/double_wave.py"" rel=""nofollow noreferrer"">double_wave.py</a></p>
<p>However, Are there scientific articles that certify that this signal  is realistic(or other signals, i welcome advices ) and allows me to have reliable results?</p>
",https://stackoverflow.com/questions/75769766/load-testing-with-locust-custom-shape,"['kubernetes', 'microservices', 'e-commerce', 'load-testing', 'locust']",83,True,-1,1
Getting &quot;java.net.UnknownHostException&quot; error on Log Out step in JMeter,"<p>I am new in JMeter. Currently I am trying to create load testing scripts using Blazemeter for one of the clients website.</p>
<p>I am getting &quot;java.net.UnknownHostException&quot; on the Log Out step in JMeter.
All other steps I created are getting passed i.e. Launch, Login, Navigation etc.</p>
<p>Only when it comes to Log out step it fails.
Could someone please shed some light on what I might be doing wrong?</p>
<p>Thanks!</p>
<p>I tried correcting the request headers (userid, authorization in my case). Issue still persists.</p>
",https://stackoverflow.com/questions/76123634/getting-java-net-unknownhostexception-error-on-log-out-step-in-jmeter,['jmeter'],18,False,-1,1
Unable to login into the application on Jmeter,"<p>I'm trying to build a login script for my website load testing on Jmeter, but I am not able to do so. I have added the cookie manager and cache manager too. I already recorded the script through http script recorder and made a transaction of the same and running test on this recorded scripts. The website is using spring security for login security.I tried to add Beanshell Preprocessor into the login sameple request for gzip deflate and passed the form parameters but still the server is not authenticating the request.</p>
",https://stackoverflow.com/questions/75398266/unable-to-login-into-the-application-on-jmeter,"['authentication', 'jmeter']",65,True,0,1
Load testing a web app which has a load balancer,"<p>I wrote a Jmeter test (that uses different user credentials) to load test a web app which has a load balancer and all it forwards the requests to a single node. How can I solve this?</p>
<p>I used the DNS Cache manager but that did not work.</p>
<p>Are there any other tools which I could use? (I looked into AWS Load testing but that too won't work because all the containers would get the same set of user credentials and when parallel tests are run they would fail.)</p>
",https://stackoverflow.com/questions/74981320/load-testing-a-web-app-which-has-a-load-balancer,"['jmeter', 'load-balancing', 'load-testing']",50,False,-1,1
Load testing with FitNesse,"<p>I am looking for ways to perform load testing with FitNesse. My colleagues use a low-code platform and a common complaint is that their applications work fine until the load gets high. I have recently started using FitNesse (+ HSAC fixtures) for functional UI testing and was wondering if it is possible to run some of those tests multiple times simuntaneously. I have done some Google searches and asked ChatGPT, but it has been difficult to find information on this topic. Can someone please point me in the right direction?</p>
",https://stackoverflow.com/questions/75545304/load-testing-with-fitnesse,"['testing', 'load-testing', 'fitnesse']",43,False,0,2
Http2 Performance Spring Boot,"<p>I created a basic rest api with spring boot (v2.7.7 Java 11) with default configs.</p>
<p>I did some very basic load testing to compare http1 and http2 performance.</p>
<p>I observe a performance decrease which contradicts my expectation.</p>
<p>What could be wrong? I really appreciate any help you can provide.</p>
<p>Details:</p>
<pre><code>
@RestController
public class Http2PocController {

    @GetMapping(&quot;/&quot;)
    public String poc() {
        return &quot;Hello from server&quot;;
    }
}
</code></pre>
<p>I set up a self-signed certificate.</p>
<pre><code>server.ssl.key-store=classpath:example.jks
server.ssl.key-store-password=password
server.ssl.key-store-type=jks
server.ssl.key-alias=example
server.ssl.key-password=password

</code></pre>
<p>Then I hit the endpoint with apache-jmeter (500 threads 20 loop count)</p>
<p>Then I enable http2</p>
<pre><code>server.http2.enabled=true
</code></pre>
<p>I hit the endpoint with apache-jmeter (bzm-http2-sampler plugin)</p>
<p>Http2 is performing worse.</p>
",https://stackoverflow.com/questions/75369616/http2-performance-spring-boot,"['java', 'spring-boot', 'tomcat', 'http2']",86,False,0,0
"Azure Load Testing - ERROR o.a.j.e.j.j.JSONPostProcessor: net.minidev.json.parser.ParseException: Malicious payload, having non natural depths","<p>Azure Load Testing - ERROR o.a.j.e.j.j.JSONPostProcessor: net.minidev.json.parser.ParseException: Malicious payload, having non natural depths.</p>
<p>Hi,</p>
<p>since yesterday evening I've started seeing the following exception</p>
<p><code>ERROR o.a.j.e.j.j.JSONPostProcessor: net.minidev.json.parser.ParseException: Malicious payload, having non natural depths</code></p>
<p>when running my Azure Load Tests. It only occurs for big responses, especially the ones including JSONs with multiple nesting levels.
Previously everything was working fine and when I run my test locally this exception doesn’t occur.
I've found an article - <a href=""https://github.com/karatelabs/karate/issues/2277"" rel=""nofollow noreferrer"">https://github.com/karatelabs/karate/issues/2277</a> saying that there were some limitations introduced to the library net.minidev.json which is used by this extractor. Also it is described in <a href=""https://libraries.io/maven/net.minidev:json-smart"" rel=""nofollow noreferrer"">https://libraries.io/maven/net.minidev:json-smart</a></p>
<p>Please, kindly assist in resolving the issue.</p>
",https://stackoverflow.com/questions/76333714/azure-load-testing-error-o-a-j-e-j-j-jsonpostprocessor-net-minidev-json-parse,['azure-load-testing'],26,False,0,0
Load testing with K6,"<p>I want to write a load testing script using k6, but I ran into the problem that k6 accepts html from the server and considers it an endpoint, and there are other files in this html, and I would like to know the time of full page loading with all buttons and widgets without writing complex scripts</p>
<p>I tried to write a template by which I would have to go to other links and load them, but the fact is that there may be a different number of them in html, and I want K6 to wait for the page to load itself</p>
",https://stackoverflow.com/questions/75182655/load-testing-with-k6,"['javascript', 'testing', 'k6']",122,False,0,0
Locust - does it have a detailed csv report,"<p>Evaluating Locust load testing (in comparison to some of my older goto's).</p>
<p>Question:  Does Locust have a feature to output a 'detailed csv report' that has each transaction and metrics with that transaction (rather than the aggregates)?</p>
<p>i.e.
timestamp,test_name,url,response_size,latency,connect_time,ttfb,etc....?</p>
<p>Reason is to support performance problem solving with details (specifically latency break-down into what contributed to it the most: connect time/sslhandshake, time to first byte, etc) in each transaction to spot trends and potential problem areas.  I tried csv-full-history, but that looks the same as stats_history just with more aggregates.</p>
",https://stackoverflow.com/questions/76335629/locust-does-it-have-a-detailed-csv-report,['locust'],25,True,0,1
Locust Multiple Hosts With Different Peak Concurrency (Web UI),"<p>I am trying out the Locust load testing Framework. I have a case where I want to test multiple hosts:</p>
<pre><code>from locust import HttpUser, task, between
from tasks import TaskList

class FirstUser(HttpUser):
    wait_time = between(5, 15)
    host = &quot;https://example.com&quot;
    tasks = TaskList

class SecondUser(HttpUser):
    wait_time = between(5, 15)
    host = &quot;https://anotherexample.com&quot;
    tasks = TaskList
</code></pre>
<p>I have found that Locust accepts a <code>fixed_count</code> parameter to spawn an exact number of users on a class.</p>
<p>I want this <code>fixed_count</code> to be set from the Web UI. I can see from the Locust source code <a href=""https://github.com/locustio/locust/blob/master/locust/templates/index.html"" rel=""nofollow noreferrer"">here</a> that it should be possible to pass an <code>extra_options</code> to define new fields on the Web UI Form. There is however no documentation on how to define these fields nor how to obtain the values they submit.</p>
<p>Does anyone know how to go about doing this?</p>
",https://stackoverflow.com/questions/75605257/locust-multiple-hosts-with-different-peak-concurrency-web-ui,"['python', 'python-3.x', 'performance-testing', 'load-testing', 'locust']",82,True,0,1
Problem: Nlog RabbitMQ Opens too many connections under heavy load #63,"<p>I have a .NET MVC application installed on multiple servers behind a load balancer. RabbitMQ is installed on Centos8. While doing load testing, I saw that the Socket descriptors reached the maximum value and after a certain point, requests to RabbitMQ did not go. Servers opened too many connections. When I shut down one of the servers, I saw that the connection numbers of the other servers increased. The number of Connections per server reached 280.
How can we determine the server-based connection limit?</p>
<p>I tried limiting the number of connections and setting the connection time out but failed.</p>
",https://stackoverflow.com/questions/75765658/problem-nlog-rabbitmq-opens-too-many-connections-under-heavy-load-63,"['rabbitmq', 'nlog']",32,False,0,0
How to increase Spring Cloud Gateway throughput without 502 errors,"<p>I am running a Spring Cloud Gateway(version 3.0.3) Project with reactor netty(version 2.5.7). My system is with 8 core processor and 16 GB RAM. I have a route which calls the HttpBin API. When i launch load testing with Constant throughput of 25 tps, i am getting around 0.75% 502 (Bad Gate way) errors.
What might be the issue.</p>
<p>I tried increasing the Netty's worker Thread count to 200, but no change in the throughput. still getting around 0.75% 502 errors.</p>
<p>Update:- After upgrading Spring Cloud Gateway version to 4.0.0, the 502 error count is reduced. It is now 0.15% 502 errors.</p>
",https://stackoverflow.com/questions/75082694/how-to-increase-spring-cloud-gateway-throughput-without-502-errors,"['load-testing', 'spring-cloud-gateway', 'reactor-netty', 'http-status-code-502']",109,False,0,0
How to do a performance test on website which has a mocked APIs,"<p>I want to do a performance test on a website. But the issue is that my company is only developing the frontend. The backend is developed by another company. So currently the website is pointing to mocked firebase APIs.</p>
<p>So I'm planning to do only a UI performance test using lighthouse tool.</p>
<p>My problem is that, do I have to do a load testing also on the website. Since the APIs are mocked I don't think I have to do a load test on the website.</p>
<p>Kindly expecting any guideline for the performance test.</p>
<p>I'm planning to do only a UI performance test using lighthouse tool.</p>
",https://stackoverflow.com/questions/75244436/how-to-do-a-performance-test-on-website-which-has-a-mocked-apis,"['performance', 'user-interface', 'frontend', 'load', 'lighthouse']",18,False,0,0
Idempotency with Redis in multi-threaded envirnment,"<p>I'm creating a POST api in which I'm using <strong>REDIS</strong> for idempotency.</p>
<p>I'm taking a <code>idempotency-key</code> in header which is getting saved in Redis.</p>
<p>When the same request comes in, I'm returning the cached message.</p>
<p>In redis I'm saving it as <code>idempotency-key: message-body with Http status</code></p>
<p>During load testing I sent the same request, with same idempotency-key 30 times.</p>
<p>As expected, 5/30 times, the same request was stored in Redis, because new request comes in before the first finished.</p>
<p>In redis, how can I avoid it, without making API slow?</p>
<p>I did not find much material on net.</p>
<p>Apart for redis I only have dynamo as a centralized DB.</p>
",https://stackoverflow.com/questions/75399804/idempotency-with-redis-in-multi-threaded-envirnment,"['spring', 'redis', 'idempotent']",162,False,0,0
Unable to Record jmeter Script for andriod app,"<p>I'm attempting to use jmeter to run load testing on one of my client's mobile apps. In order for my Android to record the jmeter script, I must send the manual proxy to it first.</p>
<p>My issue arises when I switch from none to manual proxy with every legitimate system IP and port number. I'm having issues since I have WiFi but no internet.</p>
<ol>
<li><p>Set the jmeter recording template</p>
</li>
<li><p>I also connected my LAP and MOBILE to the same network.</p>
</li>
<li><p>Jmeter RootCA certification was installed on my phone.</p>
</li>
<li><p>Configure the IP address and port according to the jmeter.</p>
</li>
<li><p>An internet connection fault has me here. &quot;Connect to WiFi without Internet&quot;</p>
</li>
</ol>
<p><strong>Kindly find a solution for this.</strong></p>
",https://stackoverflow.com/questions/75964982/unable-to-record-jmeter-script-for-andriod-app,"['performance', 'jmeter', 'load-testing']",20,False,0,1
sometimes the mysql update taking a long time,"<p>there is a small table with 10 rows. and sometimes a simple request can take more than 1 second.</p>
<h1>Query_time: 1.874935  Lock_time: 1.370841</h1>
<pre><code>UPDATE table SET 
      value = value + 1 
   WHERE 
      key = operation_key 
   LIMIT 1;
</code></pre>
<p>the request is wrapped in a transaction. update is done by primary key.</p>
<p>Please tell me what could be the reason that the request can be executed for so long. We usually notice this with an increased testing load. Execution is delayed for a fraction of a second, after which it returns to normal.</p>
<p>this causes an error &quot;Lock wait timeout exceeded; try restarting transaction&quot;</p>
<p>I noticed that this behavior occurs when load testing begins, and when creating pages, this field is incremented in the transaction. It often works quickly.</p>
",https://stackoverflow.com/questions/75594169/sometimes-the-mysql-update-taking-a-long-time,"['mysql', 'optimization', 'sql-update']",75,False,0,2
AWS Lambda with API Gateway Integration returning 200 status_code even when calling SageMaker Endpoint doesn&#39;t return a response in lambda function,"<p>I am calling deployed sagemaker Endpoint from lambda for load testing and lambda is getting called from api gateway integration when I am making call using gate POST rest api(with API Proxy Integration Enabled) from client side. But always rest api with lambda returning 200 even when invoke_endpoint doesn't return anything due to traffic load on SageMaker Endpoint.</p>
<pre><code>@logger.inject_lambda_context(correlation_id_path=correlation_paths.API_GATEWAY_REST)
@tracer.capture_lambda_handler
def lambda_handler(event: dict, context: LambdaContext) -&gt; dict:
# return app.resolve(event, context)

try:
    print(&quot;Received event: &quot; + json.dumps(event, indent=2))
    print(type(event), '--&gt; ', event)
    payload = event['data']
    print(payload)

    response  = runtime_client.invoke_endpoint(EndpointName=ENDPOINT_NAME, 
                                              ContentType='application/json', 
                                              Body=json.dumps(payload),
                                              Accept='Accept')
    print(response)
    print(response.keys())
    # if &quot;errorMessage&quot; in str(respone.text):
    #     return
    if &quot;errorMessage&quot; in response.keys() and &quot;502 Bad Gateway&quot; in str(response):
        return {'statusCode': 502,'body': response}
    elif &quot;errorMessage&quot; in response.keys():
        return {'statusCode': 504,'body': response}
        
    result = json.loads(response['Body'].read().decode())
    return result
except Exception as e:
    print(e)
    exception_handler(e)
</code></pre>
<p>I enabled API Integration proxy while creating api method in api gateway and using <a href=""https://awslabs.github.io/aws-lambda-powertools-python/2.6.0/core/event_handler/api_gateway/#application-load-balancer"" rel=""nofollow noreferrer""><code>aws-lambda-powertools</code></a>  to resolve the error but still client is getting 200 response always event my SageMaker Endpoint is not responding in the code due to load.</p>
<p>Error example with 200 code is below:</p>
<pre><code>{&quot;errorMessage&quot;:&quot;2023-01-16T15:23:25.132Z c1bf04bf-12f7-46ab-b9a3-ffb1865eed26 Task timed out after 3.01 seconds&quot;}
status_code: 200
</code></pre>
<p>Can anyone help me out here. Thanks in advance.</p>
<p>PS: I am very new to lambda.</p>
",https://stackoverflow.com/questions/75136650/aws-lambda-with-api-gateway-integration-returning-200-status-code-even-when-call,"['python-3.x', 'aws-lambda', 'api-gateway', 'aws-api-gateway']",229,False,1,1
How to increase the consumption speed of Kafka consumer with multiple listener topics?,"<p>I have a kafka consumer class which has 2 listener TOPICS and a DLQ listener. When load testing with million records i.e.producing 15 requests per second that reaches topic-1 and 1 request per second reaches topic-2 simultaneously, I find that there is a lag in kafka consumption. Eg.if the 15 requests are produced at 2.00 am, the topic-1 listener is consuming only around 2.20am. Where as the Topic -2 that consumes 1 request per second does not show any time lag. Can someone please help me out on how to find the cause of this time lag and solution? Thank you in advance!</p>
<p>Please find the edited Simple Java code that illustrates this issue</p>
<p>Kafka consumerconfig.java</p>
<pre><code>public class KafkaConsumer {
final ObjectMapper mapper =new ObjectMapper();
//MAIN TOPIC LISTENER 1
@KafkaListener(id = &quot;topic-1&quot;, topics = &quot;topic-1&quot;, groupId = &quot;main&quot;, containerFactory= &quot;kafkaListenerContainerFactory&quot;, clientIdPrefix = &quot;topic-1&quot;)
    public void mainListener(ConsumerRecord&lt;String, String&gt; consumerRecord, Acknowledgement ack) {
dbService.saveTodb(consumerRecord.value(),mapper);
        ack.acknowledge();
 }

//MAIN TOPIC LISTENER 2
@KafkaListener(id = &quot;topic-2&quot;, topics = &quot;topic-2&quot;, groupId = &quot;main&quot;, containerFactory= &quot;kafkaListenerContainerFactory&quot;, clientIdPrefix = &quot;topic-2&quot;)
    public void mainListener(ConsumerRecord&lt;String, String&gt; consumerRecord, Acknowledgement ack) {   
 dbService.saveTodb(consumerRecord.value(), mapper);
ack.acknowledge();
}
}
</code></pre>
<p>KafkaBeanFactory.java</p>
<pre><code>@Configuration
public class KafkaBeanFactory{
@Bean(name = &quot;kafkaListenerContainerFactory&quot;)
    public ConcurrentKafkaListenerContainerFactory&lt;Object, Object&gt; kafkaListenerContainerFactory(
            ConcurrentKafkaListenerContainerFactoryConfigurer configurer,
            ConsumerFactory&lt;Object, Object&gt; kafkaConsumerFactory, KafkaTemplate&lt;Object, Object&gt; template) {
        ConcurrentKafkaListenerContainerFactory&lt;Object, Object&gt; factory = new ConcurrentKafkaListenerContainerFactory&lt;&gt;();
        configurer.configure(factory, kafkaConsumerFactory);
        var recoverer = new DeadLetterPublishingRecoverer(template,
                (record, ex) -&gt; new TopicPartition(&quot;DLQ-topic&quot;, record.partition()));
        var errorHandler = new DefaultErrorHandler(recoverer, new FixedBackOff(3, 20000));
        errorHandler.addRetryableExceptions(JsonProcessingException.class, DBException.class);
        errorHandler.setAckAfterHandle(true);
        factory.setCommonErrorHandler(errorHandler);
        return factory;
}
}
</code></pre>
<p>application.yaml</p>
<pre><code>spring:
 kafka:
    bootstrap-servers: localhost:9092 # sample value 
    client-id: mainDLQ
    properties:
      security:
        protocol: SASL_SSL
      sasl:
        mechanism: PLAIN
        jaas:
          config: org.apache.kafka.common.security.plain.PlainLoginModule required username=&quot;$ConnectionString&quot; password=&quot;&lt;string&gt;&quot;;
          security:
            protocol: SASL_SSL
    consumer:
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      groupId: main
      enable-auto-commit: false
      auto.offset.reset: earliest
    listener:
      ack-mode: MANUAL_IMMEDIATE
</code></pre>
",https://stackoverflow.com/questions/75748823/how-to-increase-the-consumption-speed-of-kafka-consumer-with-multiple-listener-t,"['java', 'spring-kafka', 'dead-letter']",57,False,0,0
"RSS memory of my application keeps increasing with time, however intel inspector suspect no leaks","<p>I have written an application server in C++ (using libhv as my server library).</p>
<p>The RSS memory of my app keeps increasing when I do the load testing.
I did use tools like Intel Inspector and Heaptracker to see for memory leaks.</p>
<p>Intel inspector claims no memory leaks.</p>
<p>Heaptracker claims 1.5-4 MB of memory leaks, however I have seen my app can use RSS of upto 500 MB (or more) during those time. The code where heaptrack shows error are not part of my code either and I suspect these are generated due to shutting down app server abruptly.</p>
<p>Is this worrying and possible memory leak issue. And what other tools can I use to pinpoint the problem if exist any.</p>
",https://stackoverflow.com/questions/75884109/rss-memory-of-my-application-keeps-increasing-with-time-however-intel-inspector,"['c++', 'memory-leaks']",83,False,0,0
Load Testing Website Recommendation? Requires Login to get to Website to Test,"<p>I'm creating an Automated Testing Python Project to test a website. This Testing Project needs to perform Functionality, Accessibility and Load Testing of the website, and report the results. I'm coding the Project in <strong>Python</strong>, automating the code using <strong>Selenium</strong>, Accessibility Testing with <strong><a href=""https://www.deque.com/axe/"" rel=""nofollow noreferrer"">axe</a></strong> and reporting with <strong>Allure Framework</strong>. My OS of choice is Windows.</p>
<p>I'm feeling comfortable with the Functional and Accessibility Testing piece. However, I'm not sure what I should be using for Load Testing.</p>
<p>I've been recommended <a href=""https://jmeter.apache.org/"" rel=""nofollow noreferrer"">Apache JMeter</a>, and I've setup a Test Plan. However, the website I'm testing requires Login through an intermediary Company Login Page before I can get to the homepage I need to test. <strong>HTTP Post Request</strong> doesn't work because there is no option (that I know of) for clicking a &quot;Sign In&quot; button (you can send <code>text/plain</code> Content, but not a button press action), and <strong>HTTP Authorization Manager</strong> doesn't work either because I think it only works for a pop-up login, not a whole HTML Login Page.</p>
<p>I've also looked into <a href=""https://locust.io/"" rel=""nofollow noreferrer"">Locust</a>, which I thought would be nice because I could incorporate it inside my Python Project. However, I run into a similar situation as JMeter: <code>@task</code> doesn't look to be built to include any steps outside of connecting to the page (<code>self.client.get(url=&quot;&quot;)</code> for the homepage).</p>
<p>It might help if I share the Python Code for Login (also some functions for <code>access</code>, which handling Axe Accessibility Testing on a page, and <code>find_string</code> which I simply use to look to see if specific text can be found meaning I've connected to a page successfully), which works just fine when run with PyTest.</p>
<p><strong>website.py</strong></p>
<pre><code>import allure
import sys
import time
from axe_selenium_python import Axe
from libraries.report import Report
from selenium import webdriver
from selenium.webdriver.common.by import By

class Website:
    def __init__(self, browser: str, username: str, password: str):
        try:
            if browser == &quot;Chrome&quot;:
                self.driver = webdriver.Chrome()
            elif browser == &quot;Edge&quot;:
                self.driver = webdriver.Edge()
        except:
            print(&quot;Only 'Chrome' and 'Edge' browsers are supported for testing.&quot;)
            sys.exit(1)
        
        self.driver.get(&quot;https://localhost/homepage&quot;)
        
        get_source = self.driver.page_source # Scan the page
        not_private1 = &quot;Your connection is not private&quot;
        not_private2 = &quot;Your connection isn't private&quot;
        if (not_private1 in get_source or not_private2 in get_source):
            # NET::ERR_CERT_COMMON_NAME_INVALID
            self.driver.find_element(By.ID, &quot;details-button&quot;).click() # Click &quot;Advanced&quot; button
            self.driver.execute_script(&quot;window.scrollTo(0, document.body.scrollHeight);&quot;) # Scroll to the bottom of the page
            self.driver.find_element(By.ID, &quot;proceed-link&quot;).click() # Click &quot;Proceed to localhost (unsafe)&quot; link
        
        get_source = self.driver.page_source # Redirects to Corporate Login Page
        login_page = &quot;Login Page&quot;
        if (login_page in get_source):
            self.driver.find_element(By.ID, &quot;userNameInput&quot;).send_keys(username)
            self.driver.find_element(By.ID, &quot;passwordInput&quot;).send_keys(password)
            self.driver.find_element(By.ID, &quot;submitButton&quot;).click()
            time.sleep(1)

      # connects to the homepage

    def access(self, json: str):
        axe = Axe(self.driver)
        axe.inject() # Inject axe-core javascript into page.
        results = axe.run() # Run axe accessibility checks.
        axe.write_results(results, json) # Write results to file
        report = Report()

        if len(results[&quot;violations&quot;]) == 0: # Assert no violations are found
            print(&quot;No Access Violations found on page!&quot;)
            report.screenshot_png(self.driver, &quot;access: PASS&quot;)
            self.driver.close()
            assert True
            return True
        else:
            print(&quot;Access Violations found on page!&quot;)
            report.screenshot_png(self.driver, &quot;access: FAIL&quot;)
            self.driver.close()
            assert False, axe.report(results[&quot;violations&quot;]) # Reports violations found on page
            return False

    def find_string(self, search_text: str):
        get_source = self.driver.page_source # Scan the page
        report = Report()
        
        if (search_text in get_source):
            print(&quot;String Text '&quot; + search_text + &quot;' on page found!&quot;)
            report.screenshot_png(self.driver, &quot;find_string: PASS&quot;)
            self.driver.close()
            assert True
            return True
        else:
            print(&quot;String Text '&quot; + search_text + &quot;' on page not found.&quot;)
            report.screenshot_png(self.driver, &quot;find_string: FAIL&quot;)
            self.driver.close()
            assert False, &quot;String Text '&quot; + search_text + &quot;' on page not found.&quot;
            return False
    
    def close(self):
        self.driver.close() # Closes the browser
</code></pre>
<p>I would also like to find a Load Test solution that I can also share the results in an Allure Report, like I've been able to so far with Functional and Accessibility Testing results (I have a separate file for generating the Allure Report).</p>
",https://stackoverflow.com/questions/76307786/load-testing-website-recommendation-requires-login-to-get-to-website-to-test,"['python', 'selenium-webdriver', 'jmeter', 'allure', 'locust']",60,False,0,1
How to run Karate GatlingDockerJobRunner example?,"<p>Having already run some promising experiments with Karate-Gatling, we wanted to take it to the next level with Distributed Load Testing across multiple Kubernetes pods and clusters. Following the <a href=""https://github.com/karatelabs/karate/wiki/Distributed-Testing#gatling"" rel=""nofollow noreferrer"">docs</a>, I tried to explore the <a href=""https://github.com/karatelabs/karate/tree/master/examples/gatling"" rel=""nofollow noreferrer"">karate-gatling-demo</a> and espacially the <a href=""https://github.com/karatelabs/karate/blob/master/examples/gatling/src/test/java/jobtest/GatlingDockerJobRunner.java"" rel=""nofollow noreferrer"">GatlingDockerJobRunner</a>.</p>
<p>But with the current versions (since v1.2.0) I don't get the code successfully built. No matter which command, <code>mvn clean test</code>, <code>mvn gatling:test</code> or even <code>mvn gatling:test -Dtest=jobtest.GatlingDockerJobRunner</code> - they always return:</p>
<pre><code>Could not resolve dependencies for project com.intuit.karate.examples:examples-gatling:jar:1.0-SNAPSHOT: Failure to find com.intuit.karate:karate-gatling:jar:1.0-SNAPSHOT in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
</code></pre>
<p>Up to v1.1.0, on the other hand, it works on my machine (Ubuntu 20.04 inside Windows 11 WSL2).
Seems like the <a href=""https://github.com/karatelabs/karate/blob/master/examples/gatling/pom.xml"" rel=""nofollow noreferrer""><code>pom.xml</code></a> is currently no longer valid?</p>
<p>Edit:</p>
<p>BTW: The docs for this example seems very sparse to me, which may be part of the reason why other people (see <a href=""https://stackoverflow.com/questions/62804771/running-karate-gatling-tests-in-distributed-mode-using-docker"">here</a>) find it difficult to get into. The Maven commands for quick trial don't seem to be documented at all.</p>
",https://stackoverflow.com/questions/75651066/how-to-run-karate-gatlingdockerjobrunner-example,"['karate', 'distributed-testing']",91,True,1,1
HttpclientFactory SendAsync timesout while calling a XML web service,"<p>We are using the HttpClientFactory SendAsync method, and it calls web service, the web service gives a response on time however SendAsync goes into a processing state and eventually it times out after 1 min because we have kept a timeout interval.</p>
<p>If we take the below snapshot example, the user calls RestService with some input, the RestService calls WebService A which in turn calls WebService B, WebService A &amp; B responds in 2-3 seconds[time logged in kibana] but the RestService HttpClient SendAsync method takes more than a min, and I'm not able to understand why it is taking time, it's difficult to troubleshoot this issue, and this scenario is only reproducible when we do high load testing. Why is sendAsync taking time to process?</p>
<p><a href=""https://i.stack.imgur.com/1fiRW.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/1fiRW.png"" alt=""enter image description here"" /></a></p>
<pre><code>var httpClient = _httpClientFactory.CreateClient();
using (var response = await httpClient.SendAsync(httpRequestMessage))
        {
            ...
        }
</code></pre>
<p>And Web Service web.config:</p>
<pre><code>&lt;webHttpBinding&gt;
    &lt;binding name=&quot;REST.Binding&quot; closeTimeout=&quot;00:01:00&quot; openTimeout=&quot;00:01:00&quot; receiveTimeout=&quot;00:1:00&quot; sendTimeout=&quot;00:01:00&quot; maxReceivedMessageSize=&quot;2147483647&quot; maxBufferPoolSize=&quot;2147483647&quot; maxBufferSize=&quot;2147483647&quot;&gt;
        &lt;readerQuotas maxDepth=&quot;32&quot; maxStringContentLength=&quot;2147483647&quot; maxArrayLength=&quot;2147483647&quot; maxBytesPerRead=&quot;2147483647&quot; maxNameTableCharCount=&quot;2147483647&quot; /&gt;
        &lt;security mode=&quot;Transport&quot;&gt;
            &lt;transport clientCredentialType=&quot;None&quot; /&gt;
        &lt;/security&gt;
    &lt;/binding&gt;
&lt;/webHttpBinding&gt;
</code></pre>
",https://stackoverflow.com/questions/76348153/httpclientfactory-sendasync-timesout-while-calling-a-xml-web-service,"['c#', 'web-services', 'wcf', 'httpclient', 'httpclientfactory']",44,False,0,0
Increasing pool size in Grails taking no effect,"<p>I am load testing a Grails 4.0.10 app using JMeter. The app is connected to a MySQL 8 database. The JDK I am using is JDK 8.</p>
<p>I am testing registration feature simulating 2000 users trying to register at once.</p>
<p>Registration process consist of these steps:</p>
<p><a href=""https://i.stack.imgur.com/6OcQQ.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/6OcQQ.png"" alt=""enter image description here"" /></a></p>
<p>I am first testing with this database and pool size configuration:</p>
<pre><code>production:
    dataSource:
        #            dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        dbCreate: none
        url: jdbc:mysql://localhost:3306/dev2?useUnicode=yes&amp;characterEncoding=UTF-8
        username: root
        password: password


        properties:
            minimumIdle: 5
            maximumPoolSize: 10
            poolName: main-db
            cachePrepStmts: true
            prepStmtCacheSize: 250
            prepStmtCacheSqlLimit: 2048
            useServerPrepStmts: true
            useLocalSessionState: true
            rewriteBatchedStatements: true
            cacheResultSetMetadata: true
            cacheServerConfiguration: true
            elideSetAutoCommits: true
            maintainTimeStats: false
</code></pre>
<p>Using this db configuration the number of successful registrations I am getting is 1167.</p>
<p><a href=""https://i.stack.imgur.com/4fIVO.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/4fIVO.png"" alt=""enter image description here"" /></a></p>
<p>After that I change the pool size to 10 times:</p>
<pre><code>production:
    dataSource:
        #            dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        dbCreate: none
        url: jdbc:mysql://localhost:3306/dev2?useUnicode=yes&amp;characterEncoding=UTF-8
        username: root
        password: password


        properties:
            minimumIdle: 50
            maximumPoolSize: 100
            poolName: main-db
            cachePrepStmts: true
            prepStmtCacheSize: 250
            prepStmtCacheSqlLimit: 2048
            useServerPrepStmts: true
            useLocalSessionState: true
            rewriteBatchedStatements: true
            cacheResultSetMetadata: true
            cacheServerConfiguration: true
            elideSetAutoCommits: true
            maintainTimeStats: false
</code></pre>
<p>With this configuration, the total successful registration I am getting is 1169.</p>
<p><a href=""https://i.stack.imgur.com/Djm9z.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Djm9z.png"" alt=""enter image description here"" /></a></p>
<p>The error shown for the missing registration is this:</p>
<p><a href=""https://i.stack.imgur.com/Ywsfa.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Ywsfa.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/BTXX0.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/BTXX0.png"" alt=""enter image description here"" /></a></p>
<p>Why is the db configuration change not taking effect? Am I doing something wrong?</p>
<h2>Update</h2>
<p>I am running the Grails app as standalone. I am using the following command on my server:</p>
<pre><code>nohup java -Dgrails.env=prod -Duser.timezone=US/Mountain -jar RoadRace4-0.1.jar &amp;
</code></pre>
",https://stackoverflow.com/questions/75570518/increasing-pool-size-in-grails-taking-no-effect,"['mysql', 'grails', 'jmeter', 'connection-pooling', 'grails-4']",56,False,0,0
CosmosClient creation - Only one usage of each socket address (protocol/network address/port) is normally permitted,"<p>while connecting to cosmos DB from an API, I am creating a cosmosclient with with following code. var client = new CosmosClient(endPoint, accountKey, new CosmosClientOptions { IdleTcpConnectionTimeout = new TimeSpan(0, 0, 10, 0), PortReuseMode = PortReuseMode.PrivatePortPool });</p>
<p>This api is working fine. but needed to do load test. IN my load testing using task.parallel I am trying to call that API.</p>
<p>When i am doing load test by sending request to the api . At that time I am getting socket error with description . &quot;Only one usage of each socket address (protocol/network address/port) is normally permitted&quot;</p>
<p>I tried to change the cosmosclientOptions but still it is throwing the same exception.
I am sending 700 requests. out of it we are getting 6 to 8 socket errors. api is deployed in azure.
Any help is much appreciated.</p>
",https://stackoverflow.com/questions/75741857/cosmosclient-creation-only-one-usage-of-each-socket-address-protocol-network,"['load-testing', 'cosmosclient']",52,False,0,0
Pass custom parameters in locust,"<p>Actually, I am in a case study and I would like to use Locust for load testing.</p>
<p>As an input, I have a csv file that contains as columns the datetime, number of users and other variable parameters that should be used for each post request as query parameters:</p>
<pre><code>datetime,rps,param1,param2
2022-09-18 00:00:00,5,1000,2000
2022-09-18 00:01:00,10,500,1000
</code></pre>
<p>I have this following class that I  am able to read the CSV file and prepare the stages required for tick function:</p>
<pre><code>class StagesShape(LoadTestShape):
</code></pre>
<p>And in the other hand, I have HttpUser instance that will run the post request:</p>
<pre><code>class UserInstance(HttpUser):
</code></pre>
<p>I would like to know how to pass the param1 and param2 from <code>StagesShape</code> class to <code>UserInstance</code> class that will be used to be added in the header of the post request.
By the way, the params are not static and they could be different for each stage.</p>
",https://stackoverflow.com/questions/75683944/pass-custom-parameters-in-locust,"['python', 'load-testing', 'locust']",140,False,0,2
MongoDb Queries stop running with flushes set to 1,"<p>I am working on a project made in golang, and I have used mongoDb as database in the project.
I am working on the cron in the project, in which i have to process data to send reminders,
During the load testing of the cron, I have found some issues in the Db performance.</p>
<p>I have noticed that mongoDb stop working for sometime while executing queries, and i have noticed that issue after a certain interval of time,
e.g db stop working after every 1-2 minutes, and it again starts execution after 40-60 seconds.</p>
<p>To find the issue I have checked mongostat using cmd</p>
<blockquote>
<p>mongostat -u username --authenticationDatabase admin</p>
</blockquote>
<p>In this I have found that mongoDb stops whenever the flushes set to 1, and it again starts execution after a certain time.
Can you please help me to overcome this issue.</p>
",https://stackoverflow.com/questions/75553127/mongodb-queries-stop-running-with-flushes-set-to-1,"['mongodb', 'go', 'cron']",29,False,1,0
Getting the length of time between start and end of orchestrator function,"<p>I have an an orchestrator function that has a few <code>CallHttpAsync</code>'s within it.  I am doing some load testing and trying to isolate how long, on average, the orchestrator function takes to complete.  I'm having trouble getting to a query that will give me this in an ideal format.</p>
<p>I currently have this:</p>
<pre><code>union traces
| where customDimensions.Category == 'Host.Triggers.DurableTask'
| extend instanceId = customDimensions['prop__instanceId']
| extend state = customDimensions['prop__state']
| extend isReplay = tobool(tolower(customDimensions['prop__isReplay']))
| extend sequenceNumber = tolong(customDimensions[&quot;prop__sequenceNumber&quot;])
| where isReplay != true
| where operation_Name == 'O_EnrollInCanvas'
| sort by timestamp desc, sequenceNumber desc
| sort by timestamp asc, sequenceNumber asc
| project timestamp, instanceId, sequenceNumber, state, operation_Name, message 
</code></pre>
<p>Using these results I could take over to excel and figure it out; however, I'm trying to see if I can get the result directly from an insights query.  Here is an example of the results.  You can see the <code>instanceId</code> which can be used to get the <strong>Started</strong>, <strong>Scheduled</strong>, and <strong>Completed</strong> time
<a href=""https://i.stack.imgur.com/9kmzD.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/9kmzD.png"" alt=""enter image description here"" /></a></p>
<p>Using the highlighted instanceId from the screenshot, my ideal result would be something like this:</p>
<pre><code>instanceId | StartedTimestamp | CompletedTimestamp
14afcd0d7fcb43a3a94e4869c81f9047 | 2/20/2023, 11:38:33.381 AM | 2/20/2023, 11:38:34.827 AM
</code></pre>
<p>Update; I <em>think</em> this can be accomplished using the <code>join</code>:</p>
<pre><code>let FunctionTraces = traces | where operation_Name == 'O_EnrollInCanvas';
union FunctionTraces
| where customDimensions.Category == 'Host.Triggers.DurableTask'
| extend instanceId = customDimensions['prop__instanceId']
| extend state = customDimensions['prop__state']
| extend isReplay = tobool(tolower(customDimensions['prop__isReplay']))
| extend sequenceNumber = tolong(customDimensions[&quot;prop__sequenceNumber&quot;])
| where isReplay != true
| where state == 'Started'
| join (FunctionTraces
        | where customDimensions['prop__state'] == 'Completed'
        | extend instanceId = customDimensions['prop__instanceId']
        | project CompletedTimestamp = timestamp, CompletedInstance = instanceId)
        on $right.instanceId == $left.instanceId
| where operation_Name == 'O_EnrollInCanvas'
| sort by timestamp desc, sequenceNumber desc
| sort by timestamp asc, sequenceNumber asc
| project timestamp, instanceId, sequenceNumber, state, operation_Name, message
</code></pre>
<p>However, with the current query I'm getting the error <code>join: Invalid entities used as join attributes. When using equality expressions, entities should be used by specifying its source $left or $right.</code></p>
",https://stackoverflow.com/questions/75513809/getting-the-length-of-time-between-start-and-end-of-orchestrator-function,['azure-application-insights'],37,False,0,1
Application instance life time variable ASP.NET Restful api,"<p>I have two duplicates ASP.NET restful api instants ( worker count = 2) on Azure web service. I need to crash one of them by code for testing Health Check feature purposes. So far what I have tried, which none of them worked</p>
<ol>
<li>Throw unhandled exceptions</li>
<li>Load testing</li>
<li>Use static variable in controller + url trigger to mark one of them to return bad requests for health check end point, but the static variable is not persist during the lifetime of the instance</li>
</ol>
<p>The #3 could work if there is a way to make this variable modifiable by URL request, and make the modified value persists during the lifetime of the application.</p>
<p>How to define an application life time variable to achieve the goal of crashing one of two identical app instants? Or making one of them return bad request while the other one return good request?</p>
",https://stackoverflow.com/questions/75692671/application-instance-life-time-variable-asp-net-restful-api,"['c#', 'asp.net', 'asp.net-mvc', 'azure']",59,False,0,1
Load testing API to trigger different transactions based on set percentage,"<p>I am using JMeter for Load testing my API endpoint.
My API accepts JSON payload with few key value pairs. I have configured my payload to have a couple of key-value pairs to be passed from csv data file.
While running my load tests... I want to trigger 80% of transactions with 1 key value pair while remaining 20% transactions to trigger with 2nd key value pair.
Example:
Imagine my payload have a field named &quot;Product&quot; which accepts values &quot;VEGAN&quot; and &quot;NON-VEGETARIAN&quot;.
I want to hit 80% of transactions with &quot;product&quot; value as &quot;VEGAN&quot; and 20% of transactions to hit with value as &quot;NON-VEGETARIAN&quot;</p>
<p>Is there a provision in Jmeter to set this % of transactions or any hack to simulate such load.</p>
<p>I did try to have different product values in the csv data sheet but could not set a specific % of transaction as mentioned above.</p>
",https://stackoverflow.com/questions/75763436/load-testing-api-to-trigger-different-transactions-based-on-set-percentage,['jmeter'],27,False,0,1
Cloud Run autoscaling based on CPU utilization,"<p>What CPU utilization percentile does Cloud Run used as condition for autoscaling? Is it P100 over a one minute window?</p>
<p>From the following document, it mentioned CPU utilization being above 60% can be a trigger.</p>
<p><a href=""https://cloud.google.com/run/docs/about-instance-autoscaling"" rel=""nofollow noreferrer"">https://cloud.google.com/run/docs/about-instance-autoscaling</a></p>
<blockquote>
<p>The CPU utilization of existing instances when they are processing requests or events over a one minute window, targeting to keep scheduled instances to a 60% CPU utilization.</p>
</blockquote>
<p>During load testing, my Cloud Run instance is getting P99 and P95 CPU utilization above 60% but the P50 is way below 20%. The instance does not seem fully utilized as a result.</p>
<p>The cause for getting P99 and P95 utilization is still unknown but likely due to spikes from garbage collection. Depending on actual percentile used for autoscaling, would have to bring that down.</p>
<p>I've looked at other documentation but nothing seem to mention the exact percentile.
<a href=""https://cloud.google.com/run/docs/configuring/cpu-allocation#choosing-scaling"" rel=""nofollow noreferrer"">https://cloud.google.com/run/docs/configuring/cpu-allocation#choosing-scaling</a></p>
",https://stackoverflow.com/questions/75924678/cloud-run-autoscaling-based-on-cpu-utilization,"['google-cloud-platform', 'google-cloud-run']",169,False,2,1
What techniques can I use to increase the number of concurrent users my Socket.IO application can handle?,"<p>I'm currently implementing real-time communication in my web application using Socket.IO, and I'm having trouble ensuring that my application can handle a large number of concurrent users. I've tried configuring the server to use a load balancer and implementing connection pooling, but I'm still experiencing performance issues when the number of users exceeds a certain threshold.</p>
<p>I've also tested my application using load testing tools like Apache JMeter, and I'm seeing that the response times increase significantly when the number of concurrent users increases. Specifically, I'm observing an increase in the time it takes to establish new WebSocket connections and a higher rate of dropped connections.</p>
<p>Here's an example of the server-side code I'm currently using to handle incoming WebSocket connections:</p>
<pre><code>// Set up the server
const server = require('http').createServer();
const io = require('socket.io')(server);

// Handle incoming connections
io.on('connection', (socket) =&gt; {
  console.log('New connection:', socket.id);

  // Handle incoming messages
  socket.on('message', (data) =&gt; {
    console.log('Received message:', data);
    // Handle the message
  });

  // Handle disconnections
  socket.on('disconnect', () =&gt; {
    console.log('Connection closed:', socket.id);
  });
});

// Start the server
server.listen(3000, () =&gt; {
  console.log('Server listening on port 3000');
});
</code></pre>
<p>Based on this code, can anyone suggest additional best practices or optimizations that I could implement to improve the performance and scalability of my real-time communication using WebSockets?</p>
",https://stackoverflow.com/questions/75627526/what-techniques-can-i-use-to-increase-the-number-of-concurrent-users-my-socket-i,"['javascript', 'websocket', 'concurrency', 'socket.io-1.0', 'multiple-users']",21,False,0,0
Connection Lifetime with urllib3 Library,"<p>I’m using Locust for load testing and I’m trying to implement a connection lifetime such that connections in a connection pool are closed on the client side after a certain amount of time has passed since the connection’s creation. This functionality exists in C# with <a href=""https://learn.microsoft.com/en-us/dotnet/api/system.net.http.socketshttphandler.pooledconnectionlifetime?view=net-7.0"" rel=""nofollow noreferrer"">PooledConnectionLifetime</a>.</p>
<p>I've been unable to replicate the connection lifetime functionality with the connection library that Locust uses, urllib3. I have a client script that uses HttpUser. I’ve not had success after getting the HttpUser to use a PoolManager subclass. The subclass uses HttpConnection and HttpsConnection subclasses that have overridden methods which attempt to implement the connection lifetime functionality. It seems like the subclasses are not even used, as they don't produce any logs when the Locust client is running.</p>
<p>Is there a way to add the connection lifetime functionality to urllib3, or another solution that can be used?</p>
<p>Edit: My attempt to implement the functionality leveraged the <code>conn.timeout.get_connect_duration()</code> <a href=""https://urllib3.readthedocs.io/en/stable/reference/urllib3.util.html#urllib3.util.Timeout.get_connect_duration"" rel=""nofollow noreferrer"">method</a>. I'm not sure if <code>start_connect()</code> is called only on the first time <code>_make_request</code> is used, or every time it's taken out of the pool.</p>
",https://stackoverflow.com/questions/75922950/connection-lifetime-with-urllib3-library,"['python', 'locust', 'urllib3']",74,True,2,1
Apache Camel : is there a way to reuse resources that aren&#39;t thread-safe in a threaded environment?,"<p>I have a web service based on Camel that can be summarised like this in Java DSL :</p>
<pre><code>public class MyRoute extends RouteBuilder {
    
    @Override
    public void configure() throws Exception {
        MyResource myResource = new MyResource();
        
        from(&quot;jetty:...&quot;)
            .setHeader(&quot;myResource&quot;, constant(myResource))
            .bean(MyProcessor.class)
        ;
    }
}
</code></pre>
<p>The data stored in <code>myResource</code> is necessary for the processing in the bean <code>MyProcessor</code>.</p>
<p>The initialisation of <code>myResource</code> can be quite long (few seconds), so I want to prepare it ahead of time when the app is starting, rather than initialising a throwaway copy at runtime every time there is a request on the service (aiming for milliseconds response times).</p>
<p>The code above worked fine when I was the only user of the service, but after doing some automated load testing, it appeared that some parts of <code>myResource</code> that are beyond my reach (external libraries) are not thread-safe.</p>
<p>Since I can't fix the the &quot;thread-unsafety&quot; of <code>myResource</code>, I was hoping for a way to instantiate <em>N</em> distinct copies of <code>myResource</code>, so that each Camel-Jetty thread can use safely their own copy of <code>myResource</code>, but I didn't find any info on doing that in the documentation page about threads : <a href=""https://camel.apache.org/manual/threading-model.html"" rel=""nofollow noreferrer"">https://camel.apache.org/manual/threading-model.html</a></p>
<p>Has anyone encountered and solved that issue before?</p>
",https://stackoverflow.com/questions/76264627/apache-camel-is-there-a-way-to-reuse-resources-that-arent-thread-safe-in-a-th,"['java', 'multithreading', 'apache-camel']",27,False,0,0
Locust load testing report discrepancy in showing the numbers,"<p>I have locust set-up to test my azure function app exposed as an HTTP trigger function, I am doing load testing of the function app with 500 users with rate of 50 users per seconds and I am running load test for 2-minutes, The max response time stats the load test taken showing as 18 seconds (18000 ms), however when I am looking at the azure app insights request duration it showing for function app to respond is max of 500ms, If any one can explain why and how locust showing its 18 seconds when realistically its in ms .Please find attached locust report <a href=""https://i.stack.imgur.com/nqk5N.jpg"" rel=""nofollow noreferrer"">Locust Report</a></p>
<p>Below is code snippet for locustfile.py</p>
<pre><code>import json
import logging
import json 
import uuid
import random
import os
from random import randint
from locust import task, constant, between
from locust.contrib.fasthttp import FastHttpUser


log = logging.getLogger(&quot;rest-api-performance-test&quot;)


class LocustClient(FastHttpUser):
    

    host = os.environ.get('DEMO_DURABLE_FNAPP_URI') 
    wait_time = between(0.900, 1.000)

    @task
    def load_rest_api_based_service(self):
        try:
            
            api_query_params = &quot;&quot;

            with self.client.post(api_query_params, headers=None, catch_response=False, data=None) as resp_of_api:

                if resp_of_api.status == &quot;200&quot; or resp_of_api.status == &quot;202&quot;:
                    log.info(&quot;API call resulted in success.&quot;)

                else:
                    resp_of_api.failure(resp_of_api.text)
            log.error(&quot;API call resulted in failed.&quot;  + &quot;Status:&quot; + resp_of_api.status + &quot; | &quot; + resp_of_api.text)

        except Exception as e:
            log.error(&quot;Exception occurred! details are {e}&quot;)

</code></pre>
<p>Tried to run the locust test against an api endpoint, the set params were as below, 500 users with rate of 50 users per seconds and ran the load test for 2-minutes. The locust report which is showing the max time taken by API to respond is not matching with actual time api taken to respond.</p>
",https://stackoverflow.com/questions/76308067/locust-load-testing-report-discrepancy-in-showing-the-numbers,"['load-testing', 'locust']",22,False,0,0
Spring Kafka Producer to Consumer lag,"<p>Hi we are using spring Kafka for producing and consuming messages.The topic has 6 partitions.On doing a load testing with 500,1000 messages being posted to the topic we see that the consumer receives it at a lag of 1 sec or more.
Also our application is deployed in two servers.So we have kept the concurrency of the Consumer to be 3.So 3 consumers on one server and 3 on other.We see two problem here.</p>
<ol>
<li>We observe a lag of 1 seconds or more for each message.This is observed even on sending 1 message from producer to consumer.</li>
<li>On seeing the splunk logs ,we observe that event processing is happening on only one server not both.Means consumer logs are seen on one server only.</li>
</ol>
<p>We are not setting any specific producer and consumer properties.So consumer and producer should be using the default configuration.Also we have verified that the producer distributes the load to all partitions.</p>
<p>Any help or suggestion in this regard is highly appreciable.</p>
<p>We even manually changed the consumer and producer properties as shown in image attached.But no luck.</p>
",https://stackoverflow.com/questions/75913406/spring-kafka-producer-to-consumer-lag,"['java', 'apache-kafka', 'spring-kafka']",54,False,0,0
How to find out what app is sending an AWS SNS text message (SMS) or at least what was the text of that failed message?,"<p>So we have a many node.js EC2 apps (and also many node.js lambda funcs) which send AWS SNS messages to users' phones (an SMS text message).<br />
We have special code in each of those apps (and lambda funcs) which doesn't send out the SMS if the user types a special test phone # (like 999-999-9999 pretend, as it would be wasteful to send to that fake test #... this is so our QA Team can use this special # in their regular or load testing without worry that AWS will charge us for trying to send to it).<br />
Yet we are seeing some texts are still trying to go through when we check the logs (aka the SNS-&gt;'Text messaging (SMS)'-&gt;'Delivery status logs' area in AWS).<br />
Here is for example what you see in that default report (there is a 'message id' in there, but I'm not sure if you can use that to find what was the text itself):
<a href=""https://i.stack.imgur.com/OPuNu.png"" rel=""nofollow noreferrer"">Pic of AWS Report</a></p>
<p>Is there anyway to see the source of the SMS? Or even what was the text of that message (as that could also be used to determine which app or lambda it came from).</p>
<p>Thanks!</p>
",https://stackoverflow.com/questions/76067132/how-to-find-out-what-app-is-sending-an-aws-sns-text-message-sms-or-at-least-wh,"['amazon-web-services', 'amazon-sns']",38,False,1,1
"Locust Load Testing in Python: Requires Login to Website, any advise?","<p>There is a localhost website requiring Load Testing (lets call it <code>https://localhost/hompeage</code>). However, to get to the Website needing Load Testing I have to login through a Company Login Page (lets call it <code>https://vpn.company.com/login</code>). This Login is required every time and doesn't save.</p>
<h1>Selenium in Python Works</h1>
<p>Now I know the proper sequence to login vi Selenium, including the Web Element IDs. See the Python file below (which works as an <code>__init__</code> for my Functional Test Cases):</p>
<p><strong>website.py</strong></p>
<pre><code>import sys
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

class Website:
    def __init__(self, browser: str, username: str, password: str):
        try:
            if browser == &quot;Chrome&quot;:
                self.driver = webdriver.Chrome()
            elif browser == &quot;Edge&quot;:
                self.driver = webdriver.Edge()
        except:
            print(&quot;Only 'Chrome' and 'Edge' browsers are supported for testing.&quot;)
            sys.exit(1)
        
        self.driver.get(&quot;https://localhost/homepage&quot;)
        
        get_source = self.driver.page_source # Scan the page
        not_private1 = &quot;Your connection is not private&quot;
        not_private2 = &quot;Your connection isn't private&quot;
        if (not_private1 in get_source or not_private2 in get_source):
            # NET::ERR_CERT_COMMON_NAME_INVALID
            self.driver.find_element(By.ID, &quot;details-button&quot;).click() # Click &quot;Advanced&quot; button
            self.driver.execute_script(&quot;window.scrollTo(0, document.body.scrollHeight);&quot;) # Scroll to the bottom of the page
            self.driver.find_element(By.ID, &quot;proceed-link&quot;).click() # Click &quot;Proceed to localhost (unsafe)&quot; link
        
        get_source = self.driver.page_source # Redirects to Corporate Login Page
        login_page = &quot;Login Page&quot;
        if (login_page in get_source):
            self.driver.find_element(By.ID, &quot;userNameInput&quot;).send_keys(username)
            self.driver.find_element(By.ID, &quot;passwordInput&quot;).send_keys(password)
            self.driver.find_element(By.ID, &quot;submitButton&quot;).click()
            time.sleep(1)

      # connects to the homepage
    
    def close(self):
        self.driver.close() # Closes the browser
</code></pre>
<p>(The above could probably be more efficient by just connecting straight to <code>https://vpn.company.com/login</code> instead of going through the <code>&quot;Your connection isn't private&quot;</code> piece, which is just going to take me to the <code>https://vpn.company.com/login</code> page anyways)</p>
<h1>Locust: &quot;Login&quot; Method</h1>
<p>As for Locust, I've been made aware I cannot use Selenium and I have to rely upon Locust-specific Python Code (I tried putting the <code>__init__</code> code into <code>def on_start</code> already). Here is my Locust file thus far:</p>
<p><strong>locust.py</strong></p>
<pre><code>import time
import webbrowser

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    # HttpUser is the User Agent who can visit different endpoints
    wait_time = between(1, 5) # How long it takes visiting an endpoint before it starts visiting another one
    
    def on_start(self):
        login_page = &quot;https://vpn.company.com/login&quot;
        self.client.get(login_page)

        post_data = {&quot;usernameInput&quot;:&quot;TestUser&quot;, &quot;passwordInput&quot;:&quot;Test123&quot;, &quot;Submit&quot;:&quot;submitButton&quot;}
        self.client.post(login_page, post_data)
        time.sleep(1)
    
    @task
    def landing_page(self):
        self.client.get(url=&quot;/&quot;)
    
    #@task
    #def about_page(self):
    #    self.client.get(url=&quot;/#about&quot;)
    
    # Connect to Locust Page (in new tab, if possible)
    webbrowser.open(&quot;http://localhost:8089&quot;, new = 2)
</code></pre>
<p>(Is <code>&quot;Submit&quot;:&quot;submitButton&quot;</code> correct? At least I remember seeing an ecample of <code>self.client.post</code> that included <code>Submit</code> before the CSS Element ID)</p>
<h2>Locust Testing: &quot;Login&quot; Method</h2>
<p>To run this test, I run the following command in Terminal: <code>locust -f locust.py --host https://localhost/homepage --users 5 --spawn-rate 20</code></p>
<h3>Results</h3>
<p>Here is the output when I run the <code>locust</code> command:</p>
<pre><code>C:\Users\Adam\eclipse-workspace\TestProject4&gt;locust -f libraries\\locust.py --host https://localhost/homepage --users 5 --spawn-rate 20
[2023-05-24 10:39:16,812] vm-w10/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all netwo
rk interfaces)
[2023-05-24 10:39:16,830] vm-w10/INFO/locust.main: Starting Locust 2.15.1
[2023-05-24 10:39:20,907] vm-w10/INFO/locust.runners: Ramping to 5 users at a rate of 20.00 per second
[2023-05-24 10:39:20,910] vm-w10/INFO/locust.runners: All users spawned: {&quot;WebsiteUser&quot;: 5} (5 total users)
</code></pre>
<p>In the Locust Web Application, I get back the following results:</p>
<div class=""s-table-container"">
<table class=""s-table"">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>#Requests</th>
<th>#Fails</th>
</tr>
</thead>
<tbody>
<tr>
<td>GET</td>
<td>/homepage/</td>
<td>13</td>
<td>13</td>
</tr>
<tr>
<td>GET</td>
<td>/login</td>
<td>5</td>
<td>0</td>
</tr>
<tr>
<td>POST</td>
<td>/login</td>
<td>10</td>
<td>0</td>
</tr>
</tbody>
</table>
</div>
<p>From this, I can assume that the initial <code>GET</code> is connecting to <code>https://vpn.company.com/login</code>, and the <code>POST</code> is <em>maybe</em> correct? Obviously the <code>GET</code> to the Homepage isn't connecting. I've thought &quot;perhaps in the delay between authentication and connecting to the website?&quot; so I added <code>time.sleep(1)</code> but that hasn't changed the results of what Locust returns (not even sure if Locust recognizes <code>time.sleep</code>).</p>
<p>If I <code>CTRL + C</code> in the Terminal, I get back the following:</p>
<pre><code>Traceback (most recent call last):
  File &quot;C:\Users\Adam\AppData\Local\Programs\Python\Python311\Lib\site-packages\gevent\_ffi\loop.py&quot;, line 270, in python_check_callback
    def python_check_callback(self, watcher_ptr): # pylint:disable=unused-argument

KeyboardInterrupt
2023-05-24T14:42:14Z
[2023-05-24 10:42:14,476] vm-w10/INFO/locust.main: Shutting down (exit code 1)
Type     Name                                                         # reqs      # fails |    Avg     Min     Max    Med |   req/s  failures/s
--------|-----------------------------------------------------------|-------|-------------|-------|-------|-------|-------|--------|-----------
GET      /homepage/                                                        13  13(100.00%) |     22      18      37     21 |    1.76        1.76
GET      /login
       5     0(0.00%) |    300 
    204     506    260 |    0.68        0.00
POST     /login
       5     0(0.00%) |     71 
     59      77     75 |    0.68        0.00
--------|-----------------------------------------------------------|-------|-------------|-------|-------|-------|-------|--------|-----------
         Aggregated                                                       23   13(56.52%) |     93      18     506     37 |    3.11        1.76

Response time percentiles (approximated)
Type     Name                                                                 50%    66%    75%    80%    90%    95%    98%    99%  99.9% 99.99
Error report
# occurrences      Error
------------------|----------------------------------------------------------------------------------------------------------------------------
13                 GET /homepage/: SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certific
ate (_ssl.c:1002)')
------------------|----------------------------------------------------------------------------------------------------------------------------
</code></pre>
<h1>Locust: &quot;Cookie&quot; Method</h1>
<p>An Admin recommended I try using a Cookie (he also told me that the login method is <em>probably</em> via SAML Token, but he wasn't fully sure). So instead of Login, I found what I believe is the Cookie after I login to the page. I updated my Code so it's using the Cookie as a Token (not sure I'm doing this right):</p>
<p><strong>locust.py</strong></p>
<pre><code>import time
import webbrowser

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    # HttpUser is the User Agent who can visit different endpoints
    wait_time = between(1, 5) # How long it takes visiting an endpoint before it starts visiting another one
    
    def on_start(self):
        login_page = &quot;https://vpn.company.com/login&quot;
        self.client.get(login_page)

        cookie = &quot;.AspNetCore.Cookies=CfDJ8MTHe7hMbp5IvzCac79rZkiG3Tb_tarAITryM-FPR2oZzF5wGHBAVTqIKaIGSOGQZ_CkAeD0M0wOXmRuL0cgRpY6da6K5Ftpod0Ygj3BVxI2ybu5VNUY_RhLGpLuiWI-4BwJKBGtpE1MKhIoB0uq0amGMHFM4jeSYh_TeR21aHWkVXLjmLvT_q_PqNbqIXubK7hHaAk5lwa0pEJ8mZYZE5ZHM-vYL7iid-vWI8IWVLieLIALGOsKEp7W0GHX1cHT2-y_F4O7xBuRidl41xMjGc3V6RLRzrQ1LGFSRwrvNIWksa5IyW-8GtMIIYmNClIPtVgJEgunwWrnwdu3odr28F3bQabc2VPGtk3mW-3QgarNUJxAkGuAM943bUdFKPHyCj6L-2LJGL9EANBWg0Do6wSGy-iXoFb_1aHhzybgzZqy7Cj6xmG_jCDZNWm1sUXySW6meE9BMa2IcG_DZc-kdMsBYOXDn8rw0SHoRlIOwVlVIgOxv13lqMJbHjCp4cEuNwcuqMCWNkX6QB5eFTeqr78fo2g1b90jQfQIi5fD0rs0rMw3m38FMtOBo1Mx0fYNpyQu0iP7FjoWzW37LtxXZCrZtd1lQwv8SbJtcdsz2Q9RQtMq7v-9PXj33uuvRgZtMFApCi0pUSsjM6eeP2cOHKx-woMrGdfGcsdyMzjgHB5ioMpZyqyTmsxjyZmTrGN2Mc_eixGRZnQi0SmQwcZSuCJzirseFzE440UcjXEZbW6Xgt-oMPQes_6VWRLR6fYqB4Cp7Nuzoxgd2RcRHfd7p6uvGTp5nX66oXom-8dsZRRXiagFNUcQPTXplJ8JVPPIip1-T_9jd_JWVLVMxv2ROfh4ftZu0hgzRdrtKJITCnBqzLHzw9BZa0WJabayvdWZMlbhQsJ2RwI4vDIf-uMBMLaSs--iKurKr3AVpgsGRVwYtEs2ZnhGIQDSFSbb4ZPXtz4KZb5pRneZwenGdbuDMMy83sMZHdZ7BHq1vRg7cq2khRVCatUZ467kBaCgKVucjE8TlxKs9t4XvsrQXYgf63zZZf1SNPt1bP-c1E9gNWODoWSLn999Apx_TfusjNY4zCoPMo8ZvrZzZx4UEKeEjiZY-F9k0z873f373wWhdd9QaEpGQiZzhk6fyrvaMjifhN4JLLOKPVOzOsNadRSkJnPRzBzZokmOzybVNc0gkcVp9pfUbcvSHePgazxpSn6Iw4JhN-m0Dj8PAfLGQwqoDLgNCzyNp35x8kBzP-ONbdL1EJbicf9en5ypRmD4oH7QXxVXuigecJnDlvZz4n-aB4D&quot;
        self.client.post(login_page, {&quot;token&quot;: cookie})
        time.sleep(1)
    
    @task
    def landing_page(self):
        self.client.get(url=&quot;/&quot;)
    
    #@task
    #def about_page(self):
    #    self.client.get(url=&quot;/#about&quot;)
    
    # Connect to Locust Page (in new tab, if possible)
    webbrowser.open(&quot;http://localhost:8089&quot;, new = 2)
</code></pre>
<h2>Locust Testing: &quot;Cookie&quot; Method</h2>
<p>Exactly the same as the &quot;Login&quot; Method Results. So either I'm doing both authentication methods correctly and it's just not recognizing the Homepage (of which I'm doubtful) OR both the &quot;Login&quot; and &quot;Cookie&quot; Method I'm doing incorrectly.</p>
<h1>Ultimate Question</h1>
<p><strong>What am I doing wrong?</strong> I'd prefer to use the &quot;Login&quot; method (and I assume the issue is related to the &quot;Sign In&quot; button), but any method to login and have <code>GET</code> for <code>https://localhost/hompeage</code> to return no Failures in Locust, so I'm open to other ideas.</p>
",https://stackoverflow.com/questions/76325123/locust-load-testing-in-python-requires-login-to-website-any-advise,"['python', 'authentication', 'selenium-webdriver', 'load-testing', 'locust']",77,False,0,1
Setting memory limits for kubernetes containers in conjunction with java heap,"<p>I would like to know,  if there is an optimal approach for setting memory limits for Kubernetes containers, especially for applications running java.</p>
<p>For Java applications, we have to set a heap value in conjunction with Kubernetes resources. it's like we're kinda forced to guess at a memory limit for the Kubernetes microservice.</p>
<p>To be more clear,</p>
<ul>
<li>in java the heap memory can be limited to memory limits defined in the container, but how to arrive at a specific limit value ??</li>
<li>If we don't set up limits for the container, then the java heap considers the underlying node memory limits rather than at container limits, so it can extend the pod limit to max memory,  which can stress the other pods running in that node.</li>
<li>If we don't set up enough memory limits at the container, then we can see containers getting killed with OOM errors.</li>
</ul>
<p>The possible solutions, I can think of is</p>
<ol>
<li>Monitoring the microservice for some period of time and based on the utilization, choosing the limits</li>
<li>Implementing some load testing mechanism and based on the observation setting the limits</li>
</ol>
<p>Other than the above, I would like to get some comments if there is any other approach followed by anyone in setting memory limits for Kubernetes containers.
Has anyone encountered this earlier!!</p>
",https://stackoverflow.com/questions/75730376/setting-memory-limits-for-kubernetes-containers-in-conjunction-with-java-heap,"['java', 'kubernetes', 'heap-memory']",147,True,1,1
Jmeter delay between two loop count in Loop Controller,"<p>I am trying to achieve below use case for load testing via jmeter</p>
<pre><code>1. Search Product
2. Add to cart
3. Do payment
</code></pre>
<p>1 user with uid = 1 will perform above mentioned 3 steps every 5min for 1 hour.
<code>total request per user per hour. = 12(5 * 12 = 60) * 3(rpm) = 36(request per hour)</code></p>
<p>total users(threads) = 1000.
<code>total request per hour = 1000 * 36 = 36000</code></p>
<p>lets consider 3 request as a single set</p>
<p>I am looking for below things</p>
<ol>
<li>after every 5min 1 set should be executed</li>
<li>delay between two sets should be of 5 min</li>
</ol>
<p>can anyone please help me in achieving above scenario?</p>
<p>I have tried with below jmeter tools</p>
<ol>
<li><p>thread group (thread = 1000, ramp up = 100 sec, loop count = 1)</p>
</li>
<li><p>loop controller( above 3 request with loop count = 12)</p>
</li>
<li><p>constant timer = 300000 millisecond</p>
</li>
<li><p>thread group (thread = 1000, ramp up = 100 sec, loop count = 1)</p>
</li>
<li><p>loop controller( above 3 request with loop count = 12)</p>
</li>
<li><p>constant throughput timer = 5 rpm</p>
</li>
<li><p>thread group (thread = 1000, ramp up = 100 sec, loop count = infinite, duration = 3600 sec)</p>
</li>
<li><p>above 3 request inside thread group</p>
</li>
<li><p>constant throughput timer = 5 rpm</p>
</li>
</ol>
<p>Also I have tried with random order controller</p>
<p>I am unable to simulate above scenario. What I am getting is first request is getting executed 1000 times, then delay, then second request is getting executed 1000 times, then delay then 3rd request is getting executed 1000 times.</p>
",https://stackoverflow.com/questions/75266825/jmeter-delay-between-two-loop-count-in-loop-controller,"['performance', 'jmeter', 'load-testing', 'stress-testing']",75,True,0,1
What is the correct CSV format for tuples when loading data with DSBulk?,"<p>I recently started using Cassandra for my new project and doing some load testing.</p>
<p>I have a scenario where I’m doing dsbulk load using CSV like this,</p>
<pre><code>$ dsbulk load -url &lt;csv path&gt; -k &lt;keyspace&gt; -t &lt;table&gt; -h &lt;host&gt; -u &lt;user&gt; -p &lt;password&gt; -header true -cl LOCAL_QUORUM
</code></pre>
<p>My CSV file entries looks like this,</p>
<pre><code>userid birth_year created_at                  freq
1234   1990       2023-01-13T23:27:15.563Z    {1234:{&quot;(1, 2)&quot;: 1}}
</code></pre>
<p>Column types,</p>
<pre><code>userid bigint PRIMARY KEY,
birth_year int,
created_at timestamp,
freq map&lt;bigint, frozen&lt;map&lt;frozen&lt;tuple&lt;tinyint, smallint&gt;&gt;, smallint&gt;&gt;&gt;
</code></pre>
<p>The issue is, for column <code>freq</code>, I try different ways of setting the value in csv like below, but not able to insert the row using <code>dsbulk</code></p>
<ol>
<li><p>Let’s say if I set freq as <code>{1234:{[1, 2]: 1}}</code>,
com.datastax.oss.dsbulk.workflow.commons.schema.InvalidMappingException: Could not map field freq to variable freq; conversion from Java type java.lang.String to CQL type Map(BIGINT =&gt; Map(Tuple(TINYINT, SMALLINT) =&gt; SMALLINT, not frozen), not frozen) failed for raw value: {1234:{[1,2]: 1}}
Caused by: java.lang.IllegalArgumentException: Could not parse ‘{1234:{[1, 2]: 1}}’ as Json
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘[’ (code 91)): was expecting either valid name character (for unquoted name) or double-quote (for quoted) to start field name
at [Source: (String)“{1234:{[1, 2]: 1}}“; line: 1, column: 9]</p>
</li>
<li><p>If I set freq as <code>{\&quot;1234\&quot;:{\&quot;[1, 2]\&quot;:1}}</code>,<br />
java.lang.IllegalArgumentException: Expecting record to contain 4 fields but found 5.</p>
</li>
<li><p>If I set freq as <code>{1234:{&quot;[1, 2]&quot;: 1}} or {1234:{&quot;(1, 2)&quot;: 1}}</code>,<br />
Source: 1234,80,2023-01-13T23:27:15.563Z,“{1234:{“”[1, 2]“”: 1}}” java.lang.IllegalArgumentException: Expecting record to contain 4 fields but found 5.</p>
</li>
</ol>
<p>But in <code>COPY FROM TABLE</code> command, the value for freq <code>{1234:{[1, 2]:1}}</code> inserts into DB without any error, the value in DB looks like this <code>{1234: {(1, 2): 1}}</code></p>
<p>I guess the JSON not accepting array(tuple) as key when I try with dsbulk? Can someone advise me what’s the issue and how to fix this? Appreciate your help.</p>
",https://stackoverflow.com/questions/75120715/what-is-the-correct-csv-format-for-tuples-when-loading-data-with-dsbulk,"['cassandra', 'tuples', 'cqlsh', 'dsbulk']",137,True,1,1
Increase number of Postgres pool connections for each Uvicorn Worker of a Django Application,"<p>I am running an asynchronous Django server with django-postgrespool2 as its Database Engine on my local machine. No matter how I configure the pooling parameters, it creates only a certain amount of pool connections. This number seems to be directly proportional to the number of Uvicorn Workers I run for my application.</p>
<p>The following parameters are configured in the settings.py</p>
<p><code>DATABASE_POOL_CLASS = 'sqlalchemy.pool.QueuePool'</code></p>
<p><code>DATABASE_POOL_ARGS = {&quot;max_overflow&quot;: 500, &quot;pool_size&quot;: 1000, &quot;recycle&quot;: 300}</code></p>
<p>I am using the QueuePool class of SQLAlchemy for queueing as mentioned in the official documentation of Django-Postgrespool2. Also, I have significantly incremented the pool size to 1000 and max_overflow to 500. After concurrently hitting requests with a load testing tool, what I have observed is, that the number of database connections in the pool only increase with the number of Uvicorn workers I have running.</p>
<p>Even though the pool size has been set to 1000, the number of pool connections created, are limited. My inferences, based on the number of Uvicorn workers that have been run and the number of pool connections created as a result of this are stated as follows:</p>
<div class=""s-table-container"">
<table class=""s-table"">
<thead>
<tr>
<th>Number of Uvicorn Workers</th>
<th>Pool Connections Created</th>
</tr>
</thead>
<tbody>
<tr>
<td>5</td>
<td>80</td>
</tr>
<tr>
<td>6</td>
<td>96</td>
</tr>
<tr>
<td>7</td>
<td>112</td>
</tr>
<tr>
<td>8</td>
<td>128</td>
</tr>
<tr>
<td>9</td>
<td>144</td>
</tr>
<tr>
<td>10</td>
<td>160</td>
</tr>
<tr>
<td>50</td>
<td>773</td>
</tr>
</tbody>
</table>
</div>
<p>The pool_size and max_overflow remained constant during my experiments. Also, these results were based on 50000 requests hit with 1000 concurrent threads.</p>
<p>As it can be seen that the requests (which are constant throughout) generate only a certain number of pool connections with increasing workers. Earlier, it never went past 100 but that changed when I altered the max_connections in postgresql.conf to 1000 from the default(100). But I still can't find a way out to increase number of pool connections per worker.</p>
<p>The pool_size parameter only helps limit the pool connections if the requests are way beyond its capacity but the backend application doesn't entirely utilise the pool size allotted to it. Is there any way I could achieve this without having to spawn a lot of workers?</p>
",https://stackoverflow.com/questions/75721217/increase-number-of-postgres-pool-connections-for-each-uvicorn-worker-of-a-django,"['django', 'postgresql', 'connection-pooling', 'uvicorn', 'django-postgresql']",125,False,0,0
Where is the bottleneck and spikes,"<p>I have a Async FastAPI endpoint. This endpoint essentially at a high level gets data and does some simple business calculations and returns a json model.</p>
<p>It makes 3 database queries within <code>asyncio.gather()</code>. These calls are made using SQALCHEMY ORM 1.4. The queries are as optimized as can be (index being used, small result sets, only columns needed etc. I use the depends within FastAPI for the async engine connection as well.</p>
<p>This is the only I/O then after the 3 queries are returned there is some non intensive business logic (few date calculations and match cases) ran and a new “api response” model is generated and then cached in a redis and returned to the user. Pretty straightforward and no frills.</p>
<p>However I do not know if my understanding of FastAPI capabilities or pythons are mislead but I can’t seem to reach a high RPS on the endpoint as well as latency is also not as I expect.</p>
<p>I have it deployed using kubernetes and what not and resource wise I have it currently set to 50 pods with 1.5 CPU and 2gb memory. The cpu is more than enough as I can see in monitoring of the pods and memory is plenty. With this when load testing can only reach around 4.5k RPS max, does this seem right? I know other drop wizard services and spring boot APIs of similar scale and functionality reach much higher RPS of like 15k RPS and latency was 2-3x quicker.</p>
<p>I know code wise it is pretty much optimized there are a few thing I know I could do like not use ORM or that but I have tested with that and it does little to no effect on performance.</p>
<p>I noticed “spikes” in latency as well such as the p90 would be ~40ms but then the p95 would be ~400ms and then some response even get as high as 1.2s. This is not even when there is high traffic all the time.</p>
<p>I’m running out of ideas but I just want to even know is this kind of RPS expected from fast api/ python 3.10 or is it a case of I’m missing something?</p>
",https://stackoverflow.com/questions/76240537/where-is-the-bottleneck-and-spikes,"['python', 'python-asyncio', 'fastapi']",83,False,0,0
How can I configure ECS autoscaling to track both CPU and RAM utilisation?,"<p>I'm working on adding autoscaling to an ECS service. The service is currently configured to use 3 tasks, but there's no scaling policy in place.
The service deals with a number of different workloads - some of the workloads are CPU bound (i.e. metrics calculations), and other workloads are memory-bound (i.e. retrieving large amounts of data). Depending on the time of day, the workload on the server changes, so we would like to be able to scale based on <strong>both</strong> RAM and CPU utilisation - in order to scale for both types of workloads.</p>
<p>I've worked with Kubernetes in the past, and <a href=""https://stackoverflow.com/a/73555411/19307830"">I know that having two <strong>separate</strong> HPAs (Horizontal Pod Autoscalers) for the same service can cause issues</a> (e.g. the service gets scaled up because of the HPA that tracks memory, but then the HPA that tracks CPU scales the service back down). However, I'm not sure about whether ECS has the same issue with conflicting scaling policies.</p>
<p>I've looked at <a href=""https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-autoscaling.html#capacity-autoscaling-app"" rel=""nofollow noreferrer"">the AWS docs relating to ECS autoscaling</a>, however, the documentation seems to talk about identifying a <strong>single</strong> metric to track utilisation - for instance:</p>
<blockquote>
<p>To scale effectively, it's critical to identify <strong>a metric</strong> that indicates utilization or saturation</p>
</blockquote>
<p>The above implies using a singular metric, and:</p>
<blockquote>
<p>While load testing, examine each of the utilization metrics. The metrics that increase along with the load are the top candidates to serve as your best utilization metrics. [...] At the same time, also <strong>examine the utilization metrics to see which one flattens out at a high level first</strong>. [...] Therefore, <strong>choose the metric that represents the resource that depletes first</strong>. [...] Assume that <strong>the key metric</strong> increases, or decreases, at half the rate as before. If this is the case, then <strong>the metric</strong> is proportional to capacity. This is a good utilization metric for auto scaling.</p>
</blockquote>
<p>The above snippet guides you from identifying a set of metrics tied to load, to selecting <strong>a single</strong> metric that's most proportional to load.</p>
<p>As mentioned above, the load on our service changes throughout the day, so we would ideally like to scale based on <strong>both</strong> RAM and CPU utilisation, but the AWS documentation pushes you towards selecting a single metric. Is there a way for us to tie scaling to both metrics, or will tracking multiple metrics lead to conflicting scaling instructions?</p>
",https://stackoverflow.com/questions/76333758/how-can-i-configure-ecs-autoscaling-to-track-both-cpu-and-ram-utilisation,"['amazon-web-services', 'amazon-ecs', 'amazon-cloudwatch', 'autoscaling', 'aws-auto-scaling']",26,False,0,0
Can I configure HPA and/or Karpenter to remove pods located on Karpenter-provisioned nodes with higher priority?,"<p>I am using HPA(Horizontal Pod Autoscaler) and Karpenter in my AWS EKS cluster to increase the number of pods and provision new nodes when my application encounters high traffic, respectively.</p>
<p>My application is a simple API serving pod, that receives various requests from outside world and handles such traffics appropriately.</p>
<p>I've done some load-testing on my application and encountered the following incident. I will be descriptive as possible.</p>
<p>Currently, there are 5 pods that serve my API. It is because the number of replicas in the Deployment was set to 5. And I've set a HPA to scale it from minimum of 5 pods to maximum of 20 pods. It tries to keep the target cpu utilization of 50%.</p>
<p>Also, I've deployed Karpenter and created a provisioner that provisions and deprovisions specific type of nodes to my cluster.</p>
<p>When I intentionally gave lots of traffics to my application to trigger HPA, it was successfully triggered and created at max 20 pods to ease the traffic.</p>
<p>Since there were not enough resources in the existing nodes to hold all the 20 pods, the Karpenter provisioner was then triggered, and it began to provision several nodes to my cluster. As a result, it provisioned 5 more nodes. The existing nodes and the new nodes were now able to serve all the 20 pods together.</p>
<p>Now, when I remove all the traffic, HPA decreased the number of pods from 20 to 5, since the cpu utilization is now almost 0. Then, since there is no need for extra nodes, the Karpenter provisioner was triggered and it started to deprovision the pre-created nodes. Deprovisioning was activated since I've set consolidation as true in Karpenter provisioner's manifest file.</p>
<pre class=""lang-yaml prettyprint-override""><code>apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
  name: my-provisioner
spec:
  consolidation:
    enabled: true
  ...
</code></pre>
<p>However, I found that not all newly provisioned nodes were deprovisioned. One of them was still remaining in the cluster, because one of the 5 pods (there are currently 5 pods in the cluster since the Deployment claimed for 5 replicas) was located on the Karpenter-provisioned node, not on the existing node.</p>
<p>I found this quite a waste of money since I am currently running one extra node that is created by Karpenter provisioner, despite the fact that this node is not necessarily needed; existing nodes can sufficiently serve all the requirements of running 5 pods.</p>
<p>Is there a way to tell HPA and/or Karpenter provisioner which pods to evict first, in case when there is no more need for extra-created pods? I think above circumstance happened since HPA removed one of the pods that were originally existing, rather than from the ones that are newly created by HPA.</p>
<p>Is there a way to tell HPA to delete newly created pods first, in case of de-provisioning the pods?</p>
",https://stackoverflow.com/questions/75903607/can-i-configure-hpa-and-or-karpenter-to-remove-pods-located-on-karpenter-provisi,"['amazon-web-services', 'kubernetes', 'amazon-eks', 'hpa', 'karpenter']",148,False,0,1
WriteConflict issue at MongoDB when called multi time,"<p>I have a Java Spring Boot application and have an endpoint which will POST file and json data, the Java code as below. I would like to do Load Testing on the Java code, so I wrote another application, which will repeatedly call the Java endpoint for 20 times or more.</p>
<p>When call 20 times, the MongoDB will throw error of
Command failed with error 112 (WriteConflict): 'WriteConflict error: this operation conflicted with another operation. Please retry your operation or multi-document transaction.'</p>
<p>Can someone help?</p>
<p>UPDATE: If I remove the mongoTransactionManager() in MongoConfig, it works fine. or if I remove the @JaversSpringDataAuditable in the TestRepo</p>
<pre><code>@Configuration
public class MongoConfig{
    @Bean
    public MongoTransactionManager mongoTransactionManager(MongoDatabaseFactory factory){
        return new MongoTransactionManager(factory);
    }
}

@JaversSpringDataAuditable
@Repository
public interface TestRepo extends MongoRepository&lt;TestClass, String&gt;{
}

@Service
public class TestService{
    public MinioRepo minioRepo;
    public TestRepo testRepo; 
    
    @Transactional
    public void addTestClass(TestClass testClass, MultipartFile file){
        minioRepo.putObject(bucket, file.getInputStream); //method to insert/upload file to MinIO
        //after insert into MinIO, there is a listener that can delete the object in MinIO if there is any error/exception in this method. 
        
        testRepo.save(testClass);
    }
}


@Controller
public class TestController{
    public TestService testService;
    
    @PostMapping 
    public void test(@RequestBody String data, MultipartFile file){
        TestClass testClass = ....convert data json into TestClass object...;
        testService.addTestClass(testClass, file);
    }
}
</code></pre>
<p>Error message in Spring boot</p>
<blockquote>
<p>com.mongodb.MongoCommandException: Command failed with error 112
(WriteConflict): 'WriteConflict error: this operation conflicted with
another operation. Please retry your operation or multi-document
transaction.' on server localhost:27017. The full response is
{&quot;errorLabels&quot;: [&quot;TransientTransactionError&quot;], &quot;operationTime&quot;:
{&quot;$timestamp&quot;: {&quot;t&quot;: 1679905729, &quot;i&quot;: 6}}, &quot;ok&quot;: 0.0, &quot;errmsg&quot;:
&quot;WriteConflict error: this operation conflicted with another
operation. Please retry your operation or multi-document
transaction.&quot;, &quot;code&quot;: 112, &quot;codeName&quot;: &quot;WriteConflict&quot;,
&quot;$clusterTime&quot;: {&quot;clusterTime&quot;: {&quot;$timestamp&quot;: {&quot;t&quot;: 1679905730, &quot;i&quot;:
4}}, &quot;signature&quot;: {&quot;hash&quot;: {&quot;$binary&quot;: {&quot;base64&quot;:
&quot;AAAAAAAAAAAAAAAAAAAAAAAAAAA=&quot;, &quot;subType&quot;: &quot;00&quot;}}, &quot;keyId&quot;: 0}}}  at
com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:198)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:418)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:342)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceive(UsageTrackingInternalConnection.java:116)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.sendAndReceive(DefaultConnectionPool.java:647)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.CommandProtocolImpl.execute(CommandProtocolImpl.java:71)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:244)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:227)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:127)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:117)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.connection.DefaultServer$OperationCountTrackingConnection.command(DefaultServer.java:348)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.CommandOperationHelper.lambda$executeRetryableWrite$15(CommandOperationHelper.java:411)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.OperationHelper.lambda$withSourceAndConnection$2(OperationHelper.java:564)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.OperationHelper.withSuppliedResource(OperationHelper.java:589)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.OperationHelper.lambda$withSourceAndConnection$3(OperationHelper.java:563)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.OperationHelper.withSuppliedResource(OperationHelper.java:589)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.OperationHelper.withSourceAndConnection(OperationHelper.java:562)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.CommandOperationHelper.lambda$executeRetryableWrite$16(CommandOperationHelper.java:395)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.async.function.RetryingSyncSupplier.get(RetryingSyncSupplier.java:65)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.CommandOperationHelper.executeRetryableWrite(CommandOperationHelper.java:423)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.TransactionOperation.execute(TransactionOperation.java:70)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.CommitTransactionOperation.execute(CommitTransactionOperation.java:133)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.internal.operation.CommitTransactionOperation.execute(CommitTransactionOperation.java:54)
~[mongodb-driver-core-4.4.2.jar:na]   at
com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:212)
~[mongodb-driver-sync-4.4.2.jar:na]   at
com.mongodb.client.internal.ClientSessionImpl.commitTransaction(ClientSessionImpl.java:147)
~[mongodb-driver-sync-4.4.2.jar:na]   at
org.springframework.data.mongodb.MongoTransactionManager$MongoTransactionObject.commitTransaction(MongoTransactionManager.java:469)
~[spring-data-mongodb-3.3.2.jar:3.3.2]    at
org.springframework.data.mongodb.MongoTransactionManager.doCommit(MongoTransactionManager.java:236)
~[spring-data-mongodb-3.3.2.jar:3.3.2]    at
org.springframework.data.mongodb.MongoTransactionManager.doCommit(MongoTransactionManager.java:200)
~[spring-data-mongodb-3.3.2.jar:3.3.2]    at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743)
~[spring-tx-5.3.16.jar:5.3.16]    at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
~[spring-tx-5.3.16.jar:5.3.16]    at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654)
~[spring-tx-5.3.16.jar:5.3.16]    at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407)
~[spring-tx-5.3.16.jar:5.3.16]    at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
~[spring-tx-5.3.16.jar:5.3.16]    at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
~[spring-aop-5.3.16.jar:5.3.16]   at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
~[spring-aop-5.3.16.jar:5.3.16]   at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)
~[spring-aop-5.3.16.jar:5.3.16]   at
com.example.service.TestService$$EnhancerBySpringCGLIB$$32b03c26.testMultipleCallsToMongoDB()
~[classes/:na]    at
com.example.controller.TestController.test(TestController.java:21)
~[classes/:na]    at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) ~[na:na]  at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:na]  at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:na]  at
java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
~[spring-web-5.3.16.jar:5.3.16]   at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
~[spring-web-5.3.16.jar:5.3.16]   at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
~[tomcat-embed-core-9.0.58.jar:4.0.FR]    at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
~[spring-webmvc-5.3.16.jar:5.3.16]    at
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
~[tomcat-embed-core-9.0.58.jar:4.0.FR]    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
~[tomcat-embed-websocket-9.0.58.jar:9.0.58]   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
~[spring-web-5.3.16.jar:5.3.16]   at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
~[spring-web-5.3.16.jar:5.3.16]   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
~[spring-web-5.3.16.jar:5.3.16]   at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
~[spring-web-5.3.16.jar:5.3.16]   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
~[spring-web-5.3.16.jar:5.3.16]   at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
~[spring-web-5.3.16.jar:5.3.16]   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
~[tomcat-embed-core-9.0.58.jar:9.0.58]    at
java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]</p>
</blockquote>
",https://stackoverflow.com/questions/75789237/writeconflict-issue-at-mongodb-when-called-multi-time,"['java', 'mongodb', 'spring-boot', 'minio']",66,False,0,0
