title,body,link,tags,view_count,is_answered,score,answer_count
Registration during performance testing,"<p>I have an app on django, that I am writing performance tests for it using locust.
I have a custom registration process (not the built-in one from django, session-based), that require you to verify your email by sending a link with token to your email.</p>
<p>What is the best way to register and authenticate a user in locust?</p>
<ul>
<li>Generate a verification token in locust bu providing it the same secret key</li>
<li>Make the request to some email api to get the token from there</li>
<li>Skip the registration process and use pre-configured users</li>
<li>Something else?</li>
</ul>
",https://stackoverflow.com/questions/75625070/registration-during-performance-testing,"['python', 'django', 'authentication', 'performance-testing', 'locust']",24,False,0,0
Performance Testing of APIs,"<p>Please could someone suggest:</p>
<p>I need to performance test a few APIs. Which of the below methods will be better way of conducting the tests (trying to understand the pros and cons of various ways to run JMeter tests):</p>
<ol>
<li>Create Ultimate Concurrency Thread groups using only Jmeter.</li>
<li>Buy Blazemeter, add the Jmeter scripts, create scenario and run the tests</li>
<li>Run the JMeter tests using Maven plugin as part of the build.</li>
</ol>
<p>Thanks,
N</p>
",https://stackoverflow.com/questions/75139560/performance-testing-of-apis,['jmeter'],37,False,-1,2
QA Tester Performance Testing,"<p>How do I test how the software behaves if several users enter the web site?
ex: for example 100 users</p>
",https://stackoverflow.com/questions/75520014/qa-tester-performance-testing,"['testing', 'concurrency', 'software-distribution', 'web-component-tester']",16,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
Performance Testing Mainframe ERP system - baseline,"<p>newbie in performance testing. Have a client who wants to have performance testing done on their ERP system which is mainframe.</p>
<p>They have 3 environments: 1 dev and one pre-prod that will become prod at some point and of course production</p>
<p>Im thinking of JMeter here. I has some exposure to it years back</p>
<p>Question 1: Can I use JMeter to test mainframe ERP?</p>
<p>Question 2: I need to take a baseline test. Is it normally done in production?</p>
<p>Question 3: If the client does not know their SLAs at all. They want me to help them what are some  of the steps to take to figure out what those should be. Also how do you come up with scenarios to test?</p>
<p>Thank you!!!</p>
",https://stackoverflow.com/questions/75186508/performance-testing-mainframe-erp-system-baseline,"['load', 'performance-testing', 'load-testing']",28,True,0,1
Angular UI performance testing as TPS,"<p>We have an Angular application which is hosted in PCF. The flow is, when user hit the application URL <a href=""https://abcd.com"" rel=""nofollow noreferrer"">https://abcd.com</a>, it goes to NGINX servers and NGINX will forward to PCF, from the PCF Angular code will be served.</p>
<p>Our backend API's are configured as 300TPS(300 Transactions per second).
What is the way to test the UI screen for 300TPS (if 300 users hit the URL at same time whether current spec able to load the login screen)</p>
",https://stackoverflow.com/questions/76036539/angular-ui-performance-testing-as-tps,"['angular', 'pcf']",12,False,0,0
Performance Testing ActiveMQ Artemis using AMQP protocol,"<p>I need to test ActiveMQ Artemis using AMQP protocol (not JMS or MQTT). I am completely new on testing message queues.</p>
<p>Thanks in advance.</p>
<p>Please assist on how to try this in Jmeter or LoadRunner tool.</p>
",https://stackoverflow.com/questions/75374081/performance-testing-activemq-artemis-using-amqp-protocol,"['jmeter', 'message-queue', 'amqp', 'loadrunner', 'activemq-artemis']",141,True,-1,1
List comprehension vs. for loop performance testing,"<p>In an effort to avoid Django ModelSerialization performance hits, I am looking at &quot;serializing&quot; a result set on my own. Many related Stackoverflow questions say that list comprehension should be the fastest, but my own tests are showing nested for loops being consistently faster.</p>
<p>I have raw DB results (100) that need to be converted into a list of OrderedDict based on an ordered list of fields (14). Is my use case too complex for the list comprehension performance advantage, or my sample size too small? Maybe the performance is negligible? My overall question is: am I going about testing the performance properly?</p>
<p><strong>Nested for-loop (0.000919342041015625)</strong></p>
<pre class=""lang-py prettyprint-override""><code>serialized = []
start = time.time()
for raw in results:
    result = OrderedDict()
    for index, field in enumerate(fields):
        result[field] = raw[index]
    serialized.append(result)
end = time.time()
print(&quot;For loop + for loop &quot; + str(end - start))
</code></pre>
<p><strong>Nested list comprehension (0.011911153793334961)</strong></p>
<pre class=""lang-py prettyprint-override""><code>serialized = []
start = time.time()
serialized = [OrderedDict((field, raw[index]) for index, field in enumerate(fields)) for raw in results]
end = time.time()
print(&quot;List comprehensions + list comprehensions &quot; + str(end - start))
</code></pre>
<p><strong>For-loop + list comprehension (0.020151615142822266)</strong></p>
<pre class=""lang-py prettyprint-override""><code>serialized = []
start = time.time()
for raw in results:
    result = OrderedDict((field, raw[index]) for index, field in enumerate(fields))
    serialized.append(result)
end = time.time()
print(&quot;For loop + list comprehensions &quot; + str(end - start))
</code></pre>
",https://stackoverflow.com/questions/75816024/list-comprehension-vs-for-loop-performance-testing,"['python', 'list', 'performance']",89,True,0,1
Performance testing of a HTTP Request side process,"<p>Is there a way to test only part of your code with jmeter.</p>
<p>My scenario is as follows: User sends an HTTP request. The body data gets inserted into the table, which is read by another service and put on Kafka topic. I would only like to do the performance testing from the point when data gets inserted into the db and until is put on kafka topic.</p>
<p>A normal JMeter HTTP Request wouldn't work, since the HTTP response won't adhere to the data being processed and put on kafka topic.</p>
<p>Also, I believe, I can't just use the JDBC Request, since when data from the request, that gets inserted into the db produces a cascade of other inserts, and all this data is needed by that other service.</p>
<p>Any help would be much appreciated.</p>
",https://stackoverflow.com/questions/75383731/performance-testing-of-a-http-request-side-process,"['database', 'oracle', 'apache-kafka', 'jmeter', 'performance-testing']",25,False,0,1
Jmeter performance Testing the Apps that use BOTS,"<p>I have a scenario where in I have to perform perf testing on the application that will use computerized software robots(RPA) to handle some of the functions of application. I need to come up with test plan and provide an over view on how the bots will impact the application.</p>
<p>Currently , I have Jmeter set up for testing the application. I have a performance base line established and most of the APIs are being tested in my current suite. The goal is to ensure that the bots don't degrade the performance of the applications if they are used for certain functions within the application.
The bots export reports on daily basis , Some bots download reports and some perform few work flow functions. Should I run the perf test while the bots are being run or should I establish base line first . Any feed back is appreciated.</p>
<p>currently planning to run perf base line.</p>
",https://stackoverflow.com/questions/75701073/jmeter-performance-testing-the-apps-that-use-bots,"['jmeter', 'performance-testing', 'jmeter-plugins', 'jmeter-5.0', 'rpa']",21,False,0,1
scalability - Calculate load for performance testing from requirements,"<p>Suppose we have an API endpoint that will receive 100 Million requests a year and suppose our application needs to have at least 95% of those requests handled with less than 30ms. Is there a model to calculate what will be the load for the performance test that can make these tests check if the current system can meet those requirements?</p>
<p>With load, I mean, for instance: in the test, we need to do <code>x</code> parallel requests and have <code>q</code>% of them with less than <code>t</code> ms.</p>
",https://stackoverflow.com/questions/76233065/scalability-calculate-load-for-performance-testing-from-requirements,"['performance-testing', 'system-design', 'requirements', 'system-requirements']",14,False,0,1
Understanding SQL Server query performance testing - output not understood,"<p>I am trying to test the time it takes to run certain queries in my project.  I am testing the query in management studio.</p>
<p>Here is a snippet of my code:</p>
<pre><code>SET STATISTICS TIME ON

SET STATISTICS IO ON
EXEC &lt;my stored procedure&gt;

SET STATISTICS IO OFF
SET STATISTICS TIME OFF
</code></pre>
<p>I do not understand what I am getting as an output:</p>
<pre><code>SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms. 
SQL Server parse and compile time: 
   CPU time = 21 ms, elapsed time = 21 ms.

 SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'product_loadtable'. Scan count 1, logical reads 942, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'Workfile'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'product_option'. Scan count 2, logical reads 26, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'product_description'. Scan count 157, logical reads 628, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'barsizes'. Scan count 0, logical reads 314, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'product_detail'. Scan count 1, logical reads 17, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'product'. Scan count 1588, logical reads 6299, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'inventory'. Scan count 1, logical reads 24, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'option_value'. Scan count 1, logical reads 3, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.

 SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 41 ms.

 SQL Server Execution Times:
   CPU time = 31 ms,  elapsed time = 62 ms.

 SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.

Completion time: 2023-04-21T09:49:57.7878903-04:00
</code></pre>
<p>Why so many SQL Execution times - are they additive? Can I make all the times into one easy to read time? Am I doing something wrong here?</p>
",https://stackoverflow.com/questions/76073847/understanding-sql-server-query-performance-testing-output-not-understood,"['sql-server', 'performance', 'unit-testing']",50,True,2,2
Java daemon process performance testing not getting consistent results,"<p>I am trying to test cpu consumption of an agent / daemon process written in Java. To avoid getting skewed by garbage collection, I keep trying longer periods for each profiling run. In the beginning I tried 15 minutes, then later arrived at 2 hours. Yet I just found out that, even with 2 hour runs, I can get very inconsistent results. - One run of 2 hours gave me cpu of 6%, another of 2 hours gave me cpu of 12%.</p>
<p>Any suggestions to get consistent results?</p>
",https://stackoverflow.com/questions/75252843/java-daemon-process-performance-testing-not-getting-consistent-results,"['jvm', 'garbage-collection', 'performance-testing', 'cpu', 'cpu-usage']",25,True,1,1
Spark Performance Tuning Question - Resetting all caches for performance testing,"<p>I'm currently working on performance &amp; memory tuning for a spark process. As part of this I'm performing multiple runs of different versions of the code and trying to compare their results side by side.</p>
<p>I've got a few questions to ask, so I'll post each separately so they can be addressed separately.</p>
<p>Currently, it looks like getOrCreate() is re-using the Spark Context each run. This is causing me two problems:</p>
<ul>
<li>Caching from one run may be affecting the results of future runs.</li>
<li>All of the tasks are bundled into a single 'job', and I have to guess at which tasks correspond to which test run.</li>
</ul>
<p>I'd like to ensure that I'm properly resetting all caches in each run to ensure that my results are comparable. I'd also ideally like some way of having each run show up as a separate job in the local job history server so that it's easier for me to compare.</p>
<p>I'm currently relying on <code>spark.catalog.clearCache()</code> but not sure if this is covering all of what I need. I'd also like a way to ensure that the tasks for each job run are clearly grouped in some fashion for comparison so I can see where I'm losing time and hopefully see total memory used by each run as well (this is one thing I'm currently trying to improve on).</p>
",https://stackoverflow.com/questions/75305871/spark-performance-tuning-question-resetting-all-caches-for-performance-testing,"['performance', 'apache-spark']",14,False,0,0
"I&#39;m doing performance testing using Artillery, But getting 400 status code","<pre><code>config:
  environments:
    dev:
      target: &quot;https://dev.api.serverless-accelerator.myApp.io/serverless-accelerator&quot;
    local:
      target: &quot;http://127.0.0.1:3000/serverless-accelerator&quot;
  defaults:
    headers: {
        Correlation-Object: '{&quot;correlationId&quot;:&quot;any value is ok&quot;}',
        Connection: &quot;keep-alive&quot;,
      }
  phases:
    - duration: 10
      arrivalRate: 5
      name: Warm up

scenarios:
  - name: &quot;test&quot;
    flow:
      - post:
          url: &quot;/example-data&quot;
          json:
            name: &quot;{{New API Test33}}&quot;
            email: &quot;{{abcd@xyz.test}}&quot;
            exampleNumber: 5
            address:
              '{
                address1: &quot;{{123 state}}&quot;
                city: &quot;{{New York}}&quot;
                zipOrPostalCode: &quot;{{12345}}&quot;
                country: &quot;{{US}}&quot;
              }'
</code></pre>
",https://stackoverflow.com/questions/75980852/im-doing-performance-testing-using-artillery-but-getting-400-status-code,['artillery'],27,False,0,0
locust mixed rest and websocket performance testing on the same locustfile,"<p>I'm trying to write a test with the following requirementes:</p>
<ol>
<li>the test has two calls, the calls has to be exectuted in sequence</li>
<li>the first call is a REST call (http post)</li>
<li>the second one is a websocket call</li>
</ol>
<p>How I can implement this in the same locustfile?
Is this possible?</p>
<p>This is my test:</p>
<pre><code>import time
import json
import logging
import re
import gevent
import websocket

from locust import User, FastHttpUser, SequentialTaskSet, task, between

headers = [
    &quot;auth: headers&quot;,
]


class MySocketUserClass(User):
    def connect(self, host: str, header=[], **kwargs):
        self.ws = websocket.create_connection(host, header=header, **kwargs)
        gevent.spawn(self.receive_loop)

    def send(self, body, context={}):
        self.environment.events.request.fire(
            request_type=&quot;WSS&quot;,
            name='test',
            response_time=None,
            response_length=len(body),
            exception=None,
            context={**self.context(), **context},
        )
        logging.debug(f&quot;WSS: {body}&quot;)
        self.ws.send(json.dumps(body))

    def on_message(self, message):  # override this method in your subclass for custom handling
        print(message)
        self.environment.events.request.fire(
            request_type=&quot;WSR&quot;,
            name='test',
            response_time=0,
            response_length=len(message),
            exception=None,
            context=self.context(),
        )

    def receive_loop(self):
        while True:
            message = self.ws.recv()
            logging.debug(f&quot;WSR: {message}&quot;)
            self.on_message(message)
    
    def sleep_with_heartbeat(self, seconds):
        while seconds &gt;= 0:
            gevent.sleep(min(15, seconds))
            seconds -= 15
            self.send({})

class WebSocketCall(MySocketUserClass):
    @task
    def my_task(self):

        self.connect(&quot;wss://example.com&quot;, header=headers)

        # example of subscribe
        self.send({'example': 'payload'})

        # wait for additional pushes, while occasionally sending heartbeats, like a real client would
        self.sleep_with_heartbeat(10)

    def on_message(self, message):
        # TO BE IMPLEMENTED
        pass

class RestCall(FastHttpUser):
    default_headers = {
        &quot;accept&quot;: &quot;application/json&quot;,
        &quot;accept-encoding&quot;: &quot;gzip, deflate, br&quot;,
        &quot;accept-language&quot;: &quot;en-US,en;q=0.9,it;q=0.8&quot;,
        &quot;content-type&quot;: &quot;application/json&quot;,
        &quot;sec-ch-ua&quot;: '&quot;Chromium&quot;;v=&quot;110&quot;, &quot;Not A(Brand&quot;;v=&quot;24&quot;, &quot;Microsoft Edge&quot;;v=&quot;110&quot;',
        &quot;sec-ch-ua-mobile&quot;: &quot;?0&quot;,
        &quot;sec-ch-ua-platform&quot;: '&quot;Windows&quot;',
        &quot;sec-fetch-dest&quot;: &quot;empty&quot;,
        &quot;sec-fetch-mode&quot;: &quot;cors&quot;,
        &quot;sec-fetch-site&quot;: &quot;same-origin&quot;,
        &quot;user-agent&quot;: &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50&quot;,
        &quot;origin&quot;: &quot;https://example.com&quot;,
        &quot;referer&quot;: &quot;https://example.com&quot;,
    }

    def call_rest(self):
        self.iam = 'rest'

        with self.rest(
            &quot;POST&quot;,
            &quot;https://example.com&quot;,
            json={
                &quot;example&quot;: &quot;payload&quot;
            },
        ) as resp:
            # CHECK RESPONSE
            print(resp)

    @task
    def sent1(self):
        self.call_rest()

class UserBehaviour(SequentialTaskSet):
    tasks = [RestCall, WebSocketCall]
</code></pre>
<p>but only the RestCall is executed</p>
",https://stackoverflow.com/questions/75626969/locust-mixed-rest-and-websocket-performance-testing-on-the-same-locustfile,"['python', 'performance-testing', 'locust']",142,True,0,2
why do i get 403 during during performance testing with Jmeter,"<p>i m doing performance testing witih Jmeter i put token manually it is expired in 3 hours , but when i run my performance testing i got 403 , but when i do same step on postman i did get 200 , do anybody know why i m getting 403 forbidden during my jmeter testing ?</p>
<p>i was doing performance testing i was running one of my end point 75000 times and verify that performance of api , some reason my another api test passed with manual token which i m getting UI , so i  put this token to my jmeter and i got 403 , but when i run this action with postman i got 200</p>
",https://stackoverflow.com/questions/75673209/why-do-i-get-403-during-during-performance-testing-with-jmeter,['api'],7,False,0,0
100 requests per minute for a duration of 20 minutes - Load/performance testing,"<p>I am doing load test on my system using Jmeter. the requirement is I need to generate 150 requests per minute for a duration of 20 minutes constantly.
I tried with below approaches</p>
<ol>
<li><p>I tried by giving this configuration.
No of threads - 3000 [150 req/min * 20 mins]
rampup period - 1200sec [20mins * 60]</p>
<p>But here test stopped after creation of 2004 thread. by giving
this error</p>
<p>Failed to start the native thread for java.lang.Thread “Thread Group 1-2004”
Uncaught Exception java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached in thread Thread[#51,StandardJMeterEngine,6,main]. See log file for details</p>
</li>
<li><p>Used concurrency thread group with below details
Target concurrency - 150
ramp up time - 1 min
hold target rate time - 20 mins</p>
<p>but here no of samples collected are more than 3000 [150 req *20 sec] which i feel is not correct</p>
</li>
</ol>
<p>Is it possible to create exact load according to my requirement in Jmeter(150 req/min -&gt;duration of 20 mins) or should I explore other tools like locust??</p>
<ol start=""3"">
<li>tried with precision timers (attaching screen shots)</li>
</ol>
<p><a href=""https://i.stack.imgur.com/cBKwv.png"" rel=""nofollow noreferrer"">enter image description here</a></p>
<p><a href=""https://i.stack.imgur.com/CVNOZ.jpg"" rel=""nofollow noreferrer"">enter image description here</a></p>
<p><a href=""https://i.stack.imgur.com/Q881M.jpg"" rel=""nofollow noreferrer"">enter image description here</a></p>
",https://stackoverflow.com/questions/75288869/100-requests-per-minute-for-a-duration-of-20-minutes-load-performance-testing,"['performance', 'jmeter', 'load-testing', 'web-api-testing']",300,False,0,1
How to do performance testing of a lambda which is triggered by event bridge?,"<p>I have a lambda that is triggered whenever an event is dropped in the eventbus to which my lambda is connected and is triggered automatically. How can I performance test it to test how it performs of 500 events are dropped at a time?</p>
<p>Also I know aws has some inbuilt metrics like lambda execution time, xray tracing etc. Can anyone let me know how to use them for my use case?</p>
",https://stackoverflow.com/questions/75404010/how-to-do-performance-testing-of-a-lambda-which-is-triggered-by-event-bridge,"['aws-lambda', 'performance-testing', 'aws-event-bridge', 'aws-xray']",108,True,0,1
What parameters do I need to check in listeners for performance testing in Jmeter?,"<p>I am rather new to performance testing with a basic knowledge in JMeter, I am given a task to do the performance testing for few API's. But I am not sure which parameters(connect time/latency..etc) should I be looking at in the listners to know that a particular API is performing well.</p>
<p>Please help me out on what paramters I need to check and which listener to use for it.</p>
",https://stackoverflow.com/questions/75591460/what-parameters-do-i-need-to-check-in-listeners-for-performance-testing-in-jmete,"['jmeter', 'performance-testing']",31,True,0,1
Is it useful for performance testing to catch FPS drops within Playwright or Puppeteer?,"<p>I’m curious if running an FPS counter in a Playwright/Puppeteer test suite that throws when the FPS drops below a threshold, like 60fps, is that a useful canary to alert when a part of the interface needs performance work.</p>
<p>Here’s an example of something like the FPS counter I’m wanting to implement within the browser context:</p>
<pre class=""lang-js prettyprint-override""><code>// Options
const decimalPlaces    = 2;
const updateEachSecond = 1;

// Cache values
const decimalPlacesRatio = Math.pow(10, decimalPlaces);
let timeMeasurements     = [];

// Final output
let fps = 0;

const tick = function() {
  timeMeasurements.push(performance.now());

  const msPassed = timeMeasurements[timeMeasurements.length - 1] - timeMeasurements[0];

  if (msPassed &gt;= updateEachSecond * 1000) {
    fps = Math.round(timeMeasurements.length / msPassed * 1000 * decimalPlacesRatio) / decimalPlacesRatio;
    timeMeasurements = [];
  }

  if ( fps &gt; 60 ) {
      // Throw to Puppeteer or Playwright
  }

  requestAnimationFrame(() =&gt; {
    tick();
  });
}

tick();
</code></pre>
<p>Original: <a href=""https://stackoverflow.com/a/52727222/1397641"">https://stackoverflow.com/a/52727222/1397641</a></p>
<p>Ideally I’d love an FPS counter on as many tests as possible that tells me when a part of the user experience is too sluggish before it gets deployed to the user.</p>
<p>I know using performance.now() is better than Date.now(), but I'm uncertain how to make sure the test environment is similar or slightly slower than a target user device.</p>
<p>For example:
Is puppeteer running on a build process like Netlify or Vercel comparable to a user device like a 5 year old Android device?</p>
<p>Can I add throttles to make the test more realistic or even less powerful than a user device so that the FPS test fails slightly before users devices would?</p>
",https://stackoverflow.com/questions/76019553/is-it-useful-for-performance-testing-to-catch-fps-drops-within-playwright-or-pup,"['node.js', 'testing', 'puppeteer', 'performance-testing', 'playwright']",101,False,0,0
How can I calculate the absolute value of a variable in JMeter during performance testing?,"<p>How to get magnitude or absolute value of a variable in jmeter?</p>
<p>I didn't found any function to find the absolute value of a variable in JMeter.
Like if a variable holds the value -12 I want to store 12 instead of storing -12 in that variable.</p>
",https://stackoverflow.com/questions/76356607/how-can-i-calculate-the-absolute-value-of-a-variable-in-jmeter-during-performanc,"['jmeter', 'performance-testing']",16,True,0,1
Is it possible to take a static snapshot of a website to &quot;replay&quot; that page locally for performance testing?,"<p>I am working on a complex web app where I'm tasked with improving the TTI performance of the home page across various build configuration variations - specifically looking at JavaScript performance.</p>
<p>It's not trivial to switch between variants and I can only access it over a VPN using the full staging environment.</p>
<p>To decrease the feedback loop, I would like to download a static clone of this web app so I can work on it from my local machine without interference.</p>
<p>Using Chrome's &quot;save as&quot; function to save the website does not work as it doesn't pull dynamically loaded javascript assets and doesn't mock the HTTP responses.</p>
<p>Is there an easy way to download a website in a way that lets you supply the assets, mock any http requests and essentially &quot;replay&quot; the page in isolation?</p>
<p>I had considered manually stubbing the backend by writing a proxy service that lazily caches the back end requests, offering replayability.</p>
",https://stackoverflow.com/questions/75279367/is-it-possible-to-take-a-static-snapshot-of-a-website-to-replay-that-page-loca,"['performance', 'google-chrome']",19,False,1,0
Is there a way to handle encoded data in API request during performance testing as the request content looks to be in encoded format,"<p>Here is a example recorded data</p>
<p>HTTP Request header : https://qa.**********.com/*****/api/v1</p>
<p>HTTP Request content : vrAJ82y0qP93FB2YCj6PAgG5f2IxEUpvYRnJ59D4HGb4n3G3YkjYSMXs3vWUIuAOHHjs</p>
<p>When trying too replay the recorded script again the response says &quot;the request cannot be understood&quot;</p>
<p>The request content keep changing with every new session in this case how to handle this during performance testing ? is there way to decode this data while replaying the script</p>
<p>Note: we may not be able correlate the request as this doesn't appear elsewhere and unique to that particular request</p>
",https://stackoverflow.com/questions/76235616/is-there-a-way-to-handle-encoded-data-in-api-request-during-performance-testing,"['api', 'jmeter', 'performance-testing', 'load-testing', 'loadrunner']",26,True,0,1
While recording in Jmeter is not capturing upload the file transaction,"<p>Is there any way to do performance testing in another tool or selenium and other frameworks. will it capturing all request like performance testing tool</p>
",https://stackoverflow.com/questions/75877355/while-recording-in-jmeter-is-not-capturing-upload-the-file-transaction,"['jmeter', 'performance-testing', 'load-testing']",31,False,1,2
why do i get 403 during during performance testing with Jmeter,"<p>i m doing performance testing witih Jmeter i put token manually it is expired in 3 hours , but when i run my performance testing i got 403 , but when i do same step on postman i did get 200 , do anybody know why i m getting 403 forbidden during my jmeter testing ?</p>
<p>i was doing performance testing i was running one of my end point 75000 times and verify that performance of api , some reason my another api test passed with manual token which i m getting UI , so i  put this token to my jmeter and i got 403 , but when i run this action with postman i got 200</p>
",https://stackoverflow.com/questions/75673209/why-do-i-get-403-during-during-performance-testing-with-jmeter,['api'],7,False,0,0
What parameters do I need to check in listeners for performance testing in Jmeter?,"<p>I am rather new to performance testing with a basic knowledge in JMeter, I am given a task to do the performance testing for few API's. But I am not sure which parameters(connect time/latency..etc) should I be looking at in the listners to know that a particular API is performing well.</p>
<p>Please help me out on what paramters I need to check and which listener to use for it.</p>
",https://stackoverflow.com/questions/75591460/what-parameters-do-i-need-to-check-in-listeners-for-performance-testing-in-jmete,"['jmeter', 'performance-testing']",31,True,0,1
How to connect keyhole to AWS DocumentDB?,"<p>I want to do some performance testing with on AWS DocumentDB with <a href=""https://github.com/simagix/keyhole"" rel=""nofollow noreferrer"">keyhole</a></p>
<p>What a is valid connection string to connect?</p>
",https://stackoverflow.com/questions/75175486/how-to-connect-keyhole-to-aws-documentdb,"['mongodb', 'performance-testing', 'aws-documentdb']",31,False,0,1
WebLogic 14c - Performance Tuning Test,"<p>I want to do load test WebLogic 14c on Oracle Linux 8 (JDK 8). What are the best Load performance testing tools I can work with?</p>
",https://stackoverflow.com/questions/75968465/weblogic-14c-performance-tuning-test,"['performance', 'load', 'weblogic', 'weblogic14c']",29,False,0,1
How to perform cryptographic algorithmic performance test on localhost using JMETER,"<p>How to do performance testing on localhost. I did use PHP</p>
<p>I tried a few things but it didn't work. How do I test the performance of a text encoder like this?</p>
",https://stackoverflow.com/questions/75114260/how-to-perform-cryptographic-algorithmic-performance-test-on-localhost-using-jme,"['php', 'performance', 'encryption', 'jmeter', 'cryptography']",29,False,0,1
converting Neoload script to Jmeter script,"<p>Is there a possibility of converting the Neoload script to the Jmeter script?
If yes, then how?</p>
<p>I have solutions for other performance testing tools to Jmeter, but not for Neoload to Jmeter.</p>
",https://stackoverflow.com/questions/76200153/converting-neoload-script-to-jmeter-script,"['java', 'jmeter', 'neoload']",76,True,-1,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
Performance Testing Mainframe ERP system - baseline,"<p>newbie in performance testing. Have a client who wants to have performance testing done on their ERP system which is mainframe.</p>
<p>They have 3 environments: 1 dev and one pre-prod that will become prod at some point and of course production</p>
<p>Im thinking of JMeter here. I has some exposure to it years back</p>
<p>Question 1: Can I use JMeter to test mainframe ERP?</p>
<p>Question 2: I need to take a baseline test. Is it normally done in production?</p>
<p>Question 3: If the client does not know their SLAs at all. They want me to help them what are some  of the steps to take to figure out what those should be. Also how do you come up with scenarios to test?</p>
<p>Thank you!!!</p>
",https://stackoverflow.com/questions/75186508/performance-testing-mainframe-erp-system-baseline,"['load', 'performance-testing', 'load-testing']",28,True,0,1
Non HTTP response code: org.apache.http.conn.HttpHostConnectException/Non HTTP response message: Connect :443 failed: Operation timed out,"<p>We are doing performance testing in Jmeter for our project. But we are getting following error Non HTTP response code: org.apache.http.conn.HttpHostConnectException/Non HTTP response message: Connect to  :443 failed: Operation timed out</p>
<p>We are running 10000 users ramp ip period 100 seconds</p>
",https://stackoverflow.com/questions/75483575/non-http-response-code-org-apache-http-conn-httphostconnectexception-non-http-r,['jmeter-5.0'],15,False,0,0
Murex Application intercept network traffic,"<p>I am performing performance testing for  Murex desktop application, but not able to capture network traffic, can anyone assist if one has carried out testing for the same.</p>
<p>Thanks</p>
<p>Tried using Blazemeter Har to jmx conversion, HTTP toolkit, silkperformer ,loadrunner, jmeter traffic is not getting captured</p>
",https://stackoverflow.com/questions/75780533/murex-application-intercept-network-traffic,"['performance', 'testing', 'jmeter', 'network-traffic']",39,False,0,2
JMeter WebDriver Sampler Groovy : Error unable to resolve class org.openqa.selenium.manager.SeleniumManager is thrown,"<p>I have <code>JMeter 5.5</code> running on Mac <code>12.6 (21G115)</code> with WebDriver Sampler for doing client side performance testing. It works without any issue with <code>javascript</code>.</p>
<p><a href=""https://i.stack.imgur.com/d7Wn7.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/d7Wn7.png"" alt=""enter image description here"" /></a></p>
<p>I want to move to Groovy quickly and got following error when test was executed.
It looks like a PATH issue.</p>
<pre><code>2023-01-04 23:14:08,307 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[Thread Group 1-1,6,main]
java.lang.NoClassDefFoundError: org/openqa/selenium/manager/SeleniumManager
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:141) ~[selenium-remote-driver-4.7.2.jar:?]
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:41) ~[selenium-chrome-driver-4.7.2.jar:?]
    at 
</code></pre>
<p>Following Selenium jars are available in <code>JMETER_HOME/lib/ext</code> folder</p>
<p><a href=""https://i.stack.imgur.com/RIphk.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/RIphk.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/75009407/jmeter-webdriver-sampler-groovy-error-unable-to-resolve-class-org-openqa-selen,"['macos', 'selenium', 'jmeter']",239,True,1,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
How to mark the test fail in the Spec report if the webdriver.io falls catch block,"<p>I'm using webdriover.io and .js script to write script for performance testing. I want to mark the test case fail if the script falls into catch block. But the current implementation is showing the all test cases passed even if its falls into catch block.</p>
<pre><code>describe(&quot;Android Tests&quot;, () =&gt; {

    beforeEach(async function(){
        process.env.SESSIONID=driver.sessionId;
        if (args.flag==='true'){
            let fx = await outer(inner)
            await fx(ACCESSCODE,cmds.get_cpu_level)
        }
    })

for(let i = 0; i&lt;10;i++)
{
    it('App launch task', async () =&gt; {
        if(type == 'cpu')
        {
          try { 
              await ClickBtn.clickHighTask();
              await LoginScreen.logIn(USERNAME, PASSWORD, true);
           }
           catch(err) {
           // spec report should log the current iteration is failed.
               console.error(err);
           }
        }
        else if(type == 'ram')
        {
         try { 
              await ClickBtn.clickHighTask();
              await LoginScreen.logIn(USERNAME, PASSWORD, true);
           }
           catch(err) {
                // I can't use any assertion here because I'm doing performance testing.
               console.error(err);
           }
        }
     });
}
    afterEach(async function(){
        await browserStack.sessionTags(&quot;Android Phone&quot;);
    })
</code></pre>
<p>I want to mark the test case fail if the driver falls into catch block in the webdriver.io</p>
",https://stackoverflow.com/questions/75542669/how-to-mark-the-test-fail-in-the-spec-report-if-the-webdriver-io-falls-catch-blo,"['javascript', 'webdriver-io', 'specifications', 'wdio', 'mochawesome']",31,False,0,0
how to run existing restassured tests with gatling?,"<p>I'm trying to implement gatling performance tests as a part of my project. I have existing test-cases written in RestAssured with Java and maven as a build tool. Can I re-use those and hook with Gatling. I checked the reference <a href=""https://abstracta.us/blog/performance-testing/tutorial-use-gatling-maven/"" rel=""nofollow noreferrer"">https://abstracta.us/blog/performance-testing/tutorial-use-gatling-maven/</a> - but mostly it tells me to write new tests for Gatling.</p>
<p>Thanks!</p>
",https://stackoverflow.com/questions/75332259/how-to-run-existing-restassured-tests-with-gatling,"['gatling', 'scala-gatling', 'gatling-plugin']",101,False,0,1
How to increase the size of the dataframe by 5 times using pyspark,"<p>I have a dataframe which has about 5 million rows. How do i programmatically increase the size of the dataframe by 5 times to do some performance testing. Below is the example of the dataframe. The combination of the id_nbr,id_itm and id_line makes each row unique. I want to increase the size of this dataframe by 5 fold by populating the unique id_nbrs programatically. Can someone pls help me how to go about it.</p>
<pre><code>id_nbr        id_itm      id_line        col4          col5
50000001      100           101
50000001      100           102
50000002      200           201
50000002      200           202
50000007      100           101
50000020      300           301
50000021      300           301
</code></pre>
",https://stackoverflow.com/questions/75415631/how-to-increase-the-size-of-the-dataframe-by-5-times-using-pyspark,"['python', 'dataframe', 'apache-spark', 'pyspark']",69,True,-2,1
JMeter does not execute the next HTTP request,"<p>I am trying to test some set of API's via JMeter, performance testing.</p>
<p>I have created a test plan and added all the necessary details,</p>
<p>here is how it looks like,</p>
<p><a href=""https://i.stack.imgur.com/a4Z6A.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/a4Z6A.png"" alt=""enter image description here"" /></a></p>
<p>The <strong>LB</strong> which is the next request HTTP element, does not execute but not sure why ? below is a screenshot of it</p>
<p><a href=""https://i.stack.imgur.com/wVLU1.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/wVLU1.png"" alt=""enter image description here"" /></a></p>
<p>This is the Thread Group configuration
<a href=""https://i.stack.imgur.com/NWsxM.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/NWsxM.png"" alt=""enter image description here"" /></a></p>
<p>This is the test plan configuration</p>
<p><a href=""https://i.stack.imgur.com/Vprlj.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/Vprlj.png"" alt=""enter image description here"" /></a></p>
<p>I am using a Simple Controller.</p>
<p>JMeter Version: 5.5</p>
<p>View result tree</p>
<p><a href=""https://i.stack.imgur.com/TwUdh.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/TwUdh.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/75917529/jmeter-does-not-execute-the-next-http-request,['jmeter'],37,False,0,2
Is there a way to handle encoded data in API request during performance testing as the request content looks to be in encoded format,"<p>Here is a example recorded data</p>
<p>HTTP Request header : https://qa.**********.com/*****/api/v1</p>
<p>HTTP Request content : vrAJ82y0qP93FB2YCj6PAgG5f2IxEUpvYRnJ59D4HGb4n3G3YkjYSMXs3vWUIuAOHHjs</p>
<p>When trying too replay the recorded script again the response says &quot;the request cannot be understood&quot;</p>
<p>The request content keep changing with every new session in this case how to handle this during performance testing ? is there way to decode this data while replaying the script</p>
<p>Note: we may not be able correlate the request as this doesn't appear elsewhere and unique to that particular request</p>
",https://stackoverflow.com/questions/76235616/is-there-a-way-to-handle-encoded-data-in-api-request-during-performance-testing,"['api', 'jmeter', 'performance-testing', 'load-testing', 'loadrunner']",26,True,0,1
"Cannot await combined future of multiple async requests, proc hangs when doing so","<p>I wanted to do some performance testing of my site. For that purpose I wanted to fire <code>n</code> requests asynchronously, combine the Futures that result of that into one future that completes when they all complete and then wait for that futures completion.</p>
<p>However, my code gets stuck awaiting the combined future and never completes.</p>
<p>My code looked like this:</p>
<pre><code>import benchy
import std/[sugar, strformat, sequtils, httpclient, asyncfutures, asyncdispatch]

proc callSite(client: AsyncHttpClient, url: static string, callCount: int): Future[string] {.async.} =
  var futures : seq[Future[AsyncResponse]] = @[]
  for x in 1..callCount:
    futures.add client.get(url)
  
  echo &quot;pre combo&quot;
  let comboFuture = all(futures)
  let responses = await comboFuture

  echo &quot;post awaited combo&quot;
  result = await responses[0].body
  echo &quot;post response&quot;


var myClient = newAsyncHttpClient()
myClient.headers = newHttpHeaders({
  &quot;Authorization&quot;: &quot;Bearer &quot; &amp; token,
  &quot;Accept&quot;: &quot;application/json&quot;
})
const url = &lt;Some URL&gt;

timeIt &quot;campaign overview&quot;:
  let x = waitFor myClient.callSite(url, 3)
  keep(x) 

</code></pre>
<p>When I run this I never get past <code>&quot;pre combo&quot;</code>, the request gets stuck, even though the server receives 3 requests and sends 3 responses (I checked that in server-side logs).</p>
<p>What is going wrong here?</p>
",https://stackoverflow.com/questions/75127488/cannot-await-combined-future-of-multiple-async-requests-proc-hangs-when-doing-s,"['http', 'asynchronous', 'client', 'nim-lang']",55,True,1,1
How can i send a different header id for every request with Artillery?,"<p>I'm trying to send for instance 1000 concurrent requests with different request-id header for performance testing. API will notify if a request-id is duplicated, I'm facing Artillery will use same request-id for most requests. Is there any config param i should add so I can avoid this?</p>
<pre><code>config:
  plugins:
    expect: {}
  phases:
    - duration: 1 # Phase duration in seconds
      arrivalRate: 1000  # Initial number of virtual requests per second
      name: Warn up
  ensure:
    maxErrorRate: 0
  defaults:
    headers:
      Content-Type: application/json
      request-id: &quot;request-{{ $randomString() }}&quot;
</code></pre>
<ul>
<li><p>I tried to pass a .csv file as payload to set headers but it seems is not possible for headers to use that value.</p>
</li>
<li><p>I tried to concatenate random string and number but I face the same issue.</p>
</li>
</ul>
",https://stackoverflow.com/questions/76232264/how-can-i-send-a-different-header-id-for-every-request-with-artillery,['artillery'],23,False,0,0
JMeter: Total size of data sent and received,"<p>I use JMeter for API performance testing. One requirement I have is to send a specific size of data during the test (e.g., 10 TB).</p>
<p>I want to display (and save to log) the <strong>total size of sent data and total size of received data</strong> from all samplers.</p>
<p>Apparently, the values are collected, since the Summary report shows the average bytes. Also, I can see the sent and received data size per request in &quot;View Results in Table&quot;.</p>
<p>Is there any simple way to pick the total size for sent and received data?</p>
",https://stackoverflow.com/questions/75648633/jmeter-total-size-of-data-sent-and-received,"['jmeter', 'performance-testing']",113,True,0,1
links between locust container to web container,"<p>I have an issue with connection refuse when I try to link my web container to my locust container, I've read this post <a href=""https://stackoverflow.com/questions/60550111/connection-refused-error-111-when-using-locust-for-performance-testing-against"">Connection refused error (111) when using Locust for Performance Testing against docker-compose app</a> and tried it on my local but still not works, and also i add depends_on param on my locust container, but when i try links between my redis and my odoo web it works like a charm, i want the locust can link with my odoo, so i can use it for my stress test, here are my docker-compose</p>
<pre><code>version: '2'
services:
  . . .
  odoo-efishery:
    container_name: odoo-efishery
    build: 
      context: .
      dockerfile: Dockerfile
    depends_on:
      - db
    environment:
      - ODOO_SERVER=odoo-bin
      - WDB_NO_BROWSER_AUTO_OPEN=True
      - WDB_SOCKET_SERVER=wdb
      - WDB_WEB_PORT=1984
      - WDB_WEB_SERVER=localhost
    links:
      - wdb:wdb # Debugger, only for development
      - redis:redis
      - pgbouncer:pgbouncer
    ports:
      - &quot;8021:8069&quot;
    volumes:
      - odoo-odoo_efishery-data:/var/lib/odoo
      - ./config_odoo_efishery:/etc/odoo
      - ./odoo-efishery/efishery_addons:/mnt/efishery_addons
      - ./odoo-efishery/enterprise_addons:/mnt/enterprise_addons
    command: odoo --test-tags efishery --test-enable

  locust-master:
    container_name: locust-master
    image: locustio/locust
    depends_on:
      - odoo-efishery
    ports:
     - &quot;8089:8089&quot;
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py --master -H http://odoo-efishery:8021
  
  locust-worker:
    image: locustio/locust
    depends_on:
      - odoo-efishery
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py --worker --master-host locust-master
  . . .
</code></pre>
<p>is there anything that missing/wrong in my docker-compose file? thank you</p>
",https://stackoverflow.com/questions/76117197/links-between-locust-container-to-web-container,"['docker', 'odoo', 'locust']",27,False,0,0
"How to fetch metrics for Memory Usage, CPU utilization and Render time in k6?","<p>I am new to performance testing and k6 so please be kind. I am figuring out a way to find out the total memory used for a particular test, I tried a lot but didn't find any way.
Also I want to fetch the time it takes to render a page after a certain event.</p>
<pre><code>import http from 'k6/http';
import { check } from 'k6';

export default function () {
  const response = http.get('https://example.com');
  const renderTime = response.timings.duration - response.timings.waiting;
  check(renderTime, {
    'Render time is less than 1s': (renderTime) =&gt; renderTime &lt; 1000,
  });
}
</code></pre>
<p>Through above code I have been able to get the metric, but even though the metric itself shows time in milliseconds, the check always fails.
I would really appreciate if you could spot the issue or suggest a better way to get the render time, and suggest ways to fetch memory usage (if any).</p>
",https://stackoverflow.com/questions/75694268/how-to-fetch-metrics-for-memory-usage-cpu-utilization-and-render-time-in-k6,"['performance-testing', 'load-testing', 'k6']",91,False,0,0
Why is my Python app slow connecting to Cassandra compared to C#?,"<p>I have default configuration cassandra on default installation docker on windows 11. Table data contains 19 rows.</p>
<p>The python driver is exceptionally slow and crashes in about 20% of cases. (Connection Timeout)</p>
<p>I first expected this has something to do with docker or the container configuration, but I noticed that RazorSQL has no issues and therefore I did some performance testing by comparing the official datastax python driver to the official datastax .NET driver.</p>
<p>The results are devastating:</p>
<ul>
<li>Python: 22.908 seconds (!)</li>
<li>.NET: 0.168 seconds</li>
</ul>
<p>Is this normal behavior of the python driver?</p>
<p>My python code:</p>
<pre><code>from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
import time
start = time.time()
for i in range(10):
    auth_provider = PlainTextAuthProvider(username=&quot;cassandra&quot;, password=&quot;cassandra&quot;)
    cluster=Cluster([&quot;localhost&quot;], auth_provider=auth_provider,connect_timeout=30)
    session=cluster.connect(&quot;rds&quot;)
    session.execute(&quot;SELECT COUNT(*) FROM data&quot;).one()
end = time.time()
print((end - start)/10)
</code></pre>
<p>My C# code:</p>
<pre><code>using Cassandra;
using System;
using System.Diagnostics;
public void TestReliability()
{
    Stopwatch stopwatch = new Stopwatch();
    stopwatch.Start();
    for (int i = 0; i &lt; 100; i++){Test();}
    stopwatch.Stop();
    Console.WriteLine(&quot;Average connect + one query in ms: &quot; + (stopwatch.ElapsedMilliseconds / 100));
}
public void Test()
{
    Cluster cluster = Cluster.Builder().AddContactPoint(&quot;localhost&quot;).WithAuthProvider(new PlainTextAuthProvider(&quot;cassandra&quot;, &quot;cassandra&quot;)).Build();
    ISession session = cluster.Connect(&quot;rds&quot;);
    var result=session.Execute(&quot;SELECT COUNT(*) FROM data&quot;);
    session.Dispose();
    cluster.Dispose();
}
</code></pre>
<p>EDIT: The python driver does not crash when timeout is set high enough (35 seconds(!))</p>
",https://stackoverflow.com/questions/75931596/why-is-my-python-app-slow-connecting-to-cassandra-compared-to-c,"['python', 'cassandra', 'datastax-python-driver']",72,True,0,2
Autocannon requests rate,"<p>So I need to make some simple performance testing on an Http server, which includes simulating users load, and I would like to use autocannon.</p>
<p>For example I need to simulate 200 req/sec for 2 minutes to an endpoint (as a simple simulation of stress created by multiple users), so that's the config I tried:</p>
<pre><code>const config = {    
  connections: 200,   
  duration: 120,     
  overallRate: 200,     
  timeout: 10 
};
</code></pre>
<p>But from the metrics I see, it seems like it doesn't maintain a rate of 200 <strong>new requests</strong> per second, but rather closer to 200 open requests every second...
So it starts with 200 and then drops and stays way below that number.
Generally the latency of the tested endpoint is ~4 seconds.
Is there any way to configure autocannon to repeatedly create a certain amount of new requests every second regardless of the currently waiting ones?</p>
",https://stackoverflow.com/questions/75598037/autocannon-requests-rate,"['javascript', 'node.js', 'performance', 'performance-testing', 'load-testing']",99,False,1,0
Firebase throws &quot;TOO_MANY_ATTEMPTS_TRY_LATER&quot; for requests from backend server,"<p>We are using firebase for implementing the guest user flow in our application. For this, we are logging in such users anonymously by calling the <code>accounts:signUp?key=[API_KEY]</code> API in firebase. Further, we are calling this API from the backend server to avoid exposing our API key on the client (UI and mobile). Now, this works fine in normal testing scenarios, but while performance testing after a while, firebase starts blocking these calls with the following error -</p>
<pre><code>{
  &quot;error&quot;: {
    &quot;code&quot;: 400,
    &quot;message&quot;: &quot;TOO_MANY_ATTEMPTS_TRY_LATER&quot;,
    &quot;errors&quot;: [
      {
        &quot;message&quot;: &quot;TOO_MANY_ATTEMPTS_TRY_LATER&quot;,
        &quot;domain&quot;: &quot;global&quot;,
        &quot;reason&quot;: &quot;invalid&quot;
      }
    ]
  }
}
</code></pre>
<p>When I searched for this error code, it seems it's expected for the email verification link API, why our sign in call getting this error code? This is a very valid use case where we can login users by calling firebase REST APIs from the backend service, is there anything missing in terms of firebase documentation?</p>
",https://stackoverflow.com/questions/75615248/firebase-throws-too-many-attempts-try-later-for-requests-from-backend-server,"['firebase', 'google-cloud-platform', 'firebase-authentication']",216,True,0,1
Performance testing of a HTTP Request side process,"<p>Is there a way to test only part of your code with jmeter.</p>
<p>My scenario is as follows: User sends an HTTP request. The body data gets inserted into the table, which is read by another service and put on Kafka topic. I would only like to do the performance testing from the point when data gets inserted into the db and until is put on kafka topic.</p>
<p>A normal JMeter HTTP Request wouldn't work, since the HTTP response won't adhere to the data being processed and put on kafka topic.</p>
<p>Also, I believe, I can't just use the JDBC Request, since when data from the request, that gets inserted into the db produces a cascade of other inserts, and all this data is needed by that other service.</p>
<p>Any help would be much appreciated.</p>
",https://stackoverflow.com/questions/75383731/performance-testing-of-a-http-request-side-process,"['database', 'oracle', 'apache-kafka', 'jmeter', 'performance-testing']",25,False,0,1
WSO2 Identity server Session Data Key Retrieval for SAML Authentication,"<p>I'm working on the Jmeter Performance Testing of WSO2 Identity Server SAML Authentication based Web Appplication. I need to test the User Login &amp; Logout of the Application. For That i'm using blazemeter for recording the user login and logout from browser. But all the session parameters are hardcoded as i have recorded. can anyone please help how to retrive the session data key dynamically so that i can pass the same session data key for the subsequent request. Attaching the sample application URL which i get after calling the application url</p>
<p>Application url : http://appname:port/contextname</p>
<p>Identity server URL : https://:/logincontext?sessionDataKey=c3a1070c-38a2-454a-b441-3f8b330e7ccf&amp;relyingParty=http://192.168.8.189:8081/UserportalService/saml/metadata&amp;tenantDomain=carbon.super&amp;_=1679255911821 or do we have any API's to test the SAML Authentication process.</p>
",https://stackoverflow.com/questions/75784894/wso2-identity-server-session-data-key-retrieval-for-saml-authentication,"['wso2', 'wso2-identity-server']",67,True,0,1
MPI calls as OpenMP thread calls?,"<p>There is a program in Fortran (OpenMolcas) parallelized using MPI calls and Global Arrays. The problem is, the overhead makes the parallelism effectively non-efficient.
My idea: use one main &quot;MPI&quot; process and call OMP threads instead of MPI calls. I.e. run the code as single-process multi-thread job. Is there a way to instruct a compiler to automatically spawn threads instead of spawning MPI subprocesses?</p>
<p>Also, it already can run in a single-process multi-thread mode, but the threads are used only by the linear algebra calls, which are yet again inefficient in multi-threaded mode (have no idea why).</p>
<p>Tried nothing as of yet (except for performance testing, which resulted in sticking to a single-threaded use), as googling the problem did not bring me any answer.</p>
<p>Thank you</p>
",https://stackoverflow.com/questions/76156571/mpi-calls-as-openmp-thread-calls,"['multithreading', 'compilation', 'multiprocessing', 'fortran']",33,False,0,0
JMeter integration with AWS getting issue with Config.properties file,"<p>I have integrated successfully JMeter with AWS but I am getting an issue when we run the script . In this we have Config.properties file &amp; we convert .jmx &amp; other data into zip file including Config.properties file in zip folder. But I am getting an issue while reading Config.properties file. My script gets fail.</p>
<p>We have Config.properties file in which I have mention host , No of threads, environment . The reason to make a config.properties file is that a non technical person don't need to go through the script . Just can make a change of no's of users(No's of threads) in Config.properties file. But I am getting an issue while working with AWS distribution  testing . It doesn't work properly &amp; gets fail . Do anyone have idea how to run the .properties file successfully in AWS for Performance testing.</p>
<blockquote>
<p><a href=""https://i.stack.imgur.com/lv36k.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/lv36k.png"" alt=""enter code here"" /></a></p>
</blockquote>
<p><a href=""https://i.stack.imgur.com/1Yv9O.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/1Yv9O.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/75094199/jmeter-integration-with-aws-getting-issue-with-config-properties-file,"['amazon-web-services', 'jmeter', 'properties-file']",47,True,0,1
Rust Tokio Async performance,"<p>I'm looking to create a high throughput, low-latency marketplace using Rust. I was doing some performance testing on the serialization and found that it was pretty slow (0.05ms). After some investigation I found that using Tokio and Async with Rust slowed down code that is just part of a function that has an await in it.</p>
<p>I have two main questions:</p>
<ol>
<li>Is there any information on why this might be?</li>
<li>How can I trace the code to see exactly what's being run so I can find out what's going on (I've done profiling already using perf and hotspot).</li>
</ol>
<p>Below is the code that I've created that shows the performance difference. It runs a &quot;with_await&quot; and a &quot;without_await&quot; function in two configurations, once just by awaiting and once as a spawned future, and both show similar performance.
(These times are in ms)</p>
<pre><code>with_await 0.04643426799999998
without_await 0.009190136999999998
without_await 0.009858687000000007
with_await 0.050352950999999944
</code></pre>
<pre class=""lang-rust prettyprint-override""><code>use std::time::{Duration, SystemTime, UNIX_EPOCH};
use serde_json::Value;
use tokio::time::sleep;

static JSON_BLOB: &amp;str = &quot;{\&quot;arg\&quot;:{\&quot;channel\&quot;:\&quot;basket_orders\&quot;,\&quot;order_name\&quot;:\&quot;socks\&quot;},\&quot;data\&quot;:[{\&quot;prices\&quot;:[[\&quot;15.15\&quot;,\&quot;22.22\&quot;,\&quot;12.5\&quot;,\&quot;22.0\&quot;]],\&quot;amounts\&quot;:[[\&quot;10\&quot;,\&quot;20\&quot;,\&quot;10\&quot;,\&quot;15\&quot;]],\&quot;ts\&quot;:\&quot;1680917016349\&quot;}]}&quot;;

pub fn utcnow() -&gt; Duration {
    SystemTime::now().duration_since(UNIX_EPOCH).unwrap()
}

async fn with_await() {
    let mut diff_sum = 0_f64;
    for count in 1..=1000 {
        sleep(Duration::from_millis(1)).await;
        let blah: &amp;str = JSON_BLOB.as_ref();
        let received_time = utcnow().as_nanos();
        let value: Value = serde_json::from_str(blah).unwrap();
        let millis_diff = (utcnow().as_nanos() - received_time) as f64 / 1_000_000.0;
        diff_sum += millis_diff;
    }
    println!(&quot;with_await {}&quot;, diff_sum / 1000_f64);
}

async fn without_await() {
    let mut diff_sum = 0_f64;
    for count in 1..=1000 {
        let blah: &amp;str = JSON_BLOB.as_ref();
        let received_time = utcnow().as_nanos();
        let value: Value = serde_json::from_str(blah).unwrap();
        let millis_diff = (utcnow().as_nanos() - received_time) as f64 / 1_000_000.0;
        diff_sum += millis_diff;
    }
    println!(&quot;without_await {}&quot;, diff_sum / 1000_f64);
}

#[tokio::main]
async fn main() {
    with_await().await;
    without_await().await;

    let mut handles = vec![];
    handles.push(tokio::spawn(with_await()));
    handles.push(tokio::spawn(without_await()));
    futures::future::join_all(handles).await;
}
</code></pre>
<p>Dependencies are:</p>
<pre><code>[dependencies]
futures = &quot;0.3.28&quot;
serde = &quot;1.0.159&quot;
serde_json = &quot;1.0.95&quot;
tokio = { version = &quot;1.27.0&quot;, features = [&quot;full&quot;] }
</code></pre>
",https://stackoverflow.com/questions/75976991/rust-tokio-async-performance,"['performance', 'rust', 'rust-tokio', 'low-latency']",231,False,0,0
"how to take data from CSV file without retaking, using multiple threads in jMeter?","<p>I have a CSV file with data, that is dynamic and is changed every test run (it could be <code>3k or 80+k lines</code>). This data - is uuid, that I extract from CSV and set as a variables to my http requests. HTTP request has <code>DELETE</code> method, so after getting each uuid from CSV file - I can't use it again cause I would have a <code>404 status code</code>. I've already set up <code>CSV Data Set Config</code> and there is no problems when I do it in 1 thread <code>(Number of Threads (users): 1)</code>. But, for proper performance testing I need to run test in multiple threads, i.e. <code>30 or 50</code>. And the point is - that I don't know how to set up logic to be agile and if I have a CSV file with <code>50k+</code> uuids that should be used in one Thread Group that has 30 threads - each thread will take only assigned to him uuids, won't retake them and won't take not assigned to him uuids.</p>
<p>Thanks in advance!</p>
",https://stackoverflow.com/questions/75437323/how-to-take-data-from-csv-file-without-retaking-using-multiple-threads-in-jmete,"['performance', 'jmeter', 'jmeter-5.0']",55,True,0,1
Does a Corda node communication with Notary is same as in case of another peer node?,"<blockquote>
<p>TLS connections
Corda uses TLS to encrypt the peer to peer connections between nodes. It can be shown that the maximal throughput that is achievable with the JVM TLS layer can limit the node throughput for flows that need to send sufficient amount of data between peers. This is e.g. the case for the CashIssueAndPayment flow in the performance test CorDapp.</p>
</blockquote>
<p>Ref: <a href=""https://docs.r3.com/en/platform/corda/4.9/enterprise/node/operating/optimizing.html#tls-connections"" rel=""nofollow noreferrer"">https://docs.r3.com/en/platform/corda/4.9/enterprise/node/operating/optimizing.html#tls-connections</a></p>
<p>I hope this is same in case of Communication with Notary as well, if so does this connection establish (like handshaking) only on the first flow execution or it happens along with node restart?</p>
<p>I am trying to correlate facts for the significant time taken while calling a flow after the node is up and running when compared to succeeding ones.</p>
<p>Another related question: <a href=""https://stackoverflow.com/questions/74953584/corda-jmeter-performance-testing-takes-more-time-for-first-sampler-inside-thread"">Corda Jmeter Performance testing takes more time for first sampler inside Thread group (all are Java Request Samplers)</a></p>
",https://stackoverflow.com/questions/74992529/does-a-corda-node-communication-with-notary-is-same-as-in-case-of-another-peer-n,"['java', 'performance', 'jmeter', 'blockchain', 'corda']",58,True,0,1
Publish JMS messages using TLS authentication in JMeter,"<p>Could not make secure connection to my secured application (message-broker) using JMeter</p>
<p>Hi</p>
<p>I got 3 files for performance testing a secured application - client.pem, client-key.pem and ca.pem files</p>
<p>I tried to convert pem files to p12 file by executing the below command using openssl:</p>
<pre><code>openssl pkcs12 -export -in client.pem -inkey client-key.pem -CAfile ca.pem -out client.p12 
</code></pre>
<p>And then edited the system.properties file to mention the keystore type, path &amp; password. Restarted my JMeter and ran JMS Publisher. But still I am getting &quot;Failed to create session factory&quot; error in JMeter.</p>
<p>Also, tried with jks file as well. While importing the jks file in Jmeter using SSL Manager option, it is not prompting for password. I could not see any keystore relevant related log entries in JMeter log file. When I try to execute the JMS publisher, I am getting the same &quot;Failed to create session factory&quot; error.</p>
<p>Can someone help me to understand what went wrong in my steps and also how to make a secure connection to my message-broker? Thanks in advance.</p>
",https://stackoverflow.com/questions/75508029/publish-jms-messages-using-tls-authentication-in-jmeter,"['jmeter', 'performance-testing', 'activemq-artemis', 'jks']",56,False,0,1
How to identify root cause of InvalidProducerEpochException/ProducerFencedException and how to fix it,"<p>We have a Kafka streams spring boot application running in AWS.</p>
<pre><code>springKafkaVersion: 2.8.7
apacheKafkaClientVersion: 3.0.2
confluentVersion: 5.5.5
</code></pre>
<p>Part of some performance testing in the middle of normal processing we noticed these two exceptions popping up in the logs and application become unhealthy and being restarted by AWS monitoring processes.</p>
<pre><code>org.apache.kafka.common.errors.InvalidProducerEpochException: Producer attempted to produce with an old epoch.
Written offsets would not be recorded and no more records would be sent since the producer is fenced, indicating the task may be migrated out

org.apache.kafka.common.errors.ProducerFencedException: There is a newer producer with the same transactionalId which fences the current one.
Failed to process stream task 1_3 since it got migrated to another thread already. Will trigger a new rebalance and close all tasks as zombies together.
</code></pre>
<p>Because the error description is not very clear about what was happening I search the web and google took me to these two posts:<a href=""https://stackoverflow.com/questions/53058715/what-is-reason-for-getting-producerfencedexception-during-producer-send"">What is reason for getting ProducerFencedException during producer.send?</a> and <a href=""https://forum.confluent.io/t/why-am-i-getting-invalidproducerepochexception-when-no-producer-is-used/3192/1"" rel=""nofollow noreferrer"">Why am I getting InvalidProducerEpochException when no producer is used?</a>. After reading those I was quite sure I will find the culprit in our Kafka configs but everything seems to be correct so I am running out of ideas. Here are our Kafka configurations:</p>
<p><strong>Producer config:</strong></p>
<pre><code>acks = -1
batch.size = 1048576
bootstrap.servers = [localhost:9092]
buffer.memory = 33554432
client.dns.lookup = use_all_dns_ips
client.id = my-app-StreamThread-1-producer
compression.type = none
connections.max.idle.ms = 540000
delivery.timeout.ms = 2147483647
enable.idempotence = true
interceptor.classes = my.app.streams.interceptor.MyAppUpdatedInterceptor, my.app.streams.interceptor.CommandInterceptor, my.app.streams.interceptor.InProgressInterceptor]
key.serializer = class org.apache.kafka.common.serialization.ByteArraySerializer
linger.ms = 50
max.block.ms = 60000
max.in.flight.requests.per.connection = 5
max.request.size = 1048576
metadata.max.age.ms = 300000
metadata.max.idle.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner
receive.buffer.bytes = 32768
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retries = 2147483647
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = GSSAPI
security.protocol = PLAINTEXT
security.providers = null
send.buffer.bytes = 131072
socket.connection.setup.timeout.max.ms = 30000
socket.connection.setup.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.certificate.chain = null
ssl.keystore.key = null
ssl.keystore.location = null
ssl.keystore.password = [hidden]
ssl.keystore.type = JKS
ssl.protocol = TLSv1.3
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.certificates = null
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
transaction.timeout.ms = 10000
transactional.id = my-app.local-b8605317-d7b0-4da1-812b-4eb4bd188297-1
value.serializer = class org.apache.kafka.common.serialization.ByteArraySerializer
</code></pre>
<p><strong>Consumer config:</strong></p>
<pre><code>allow.auto.create.topics = false
auto.commit.interval.ms = 5000
auto.offset.reset = latest
bootstrap.servers = [localhost:9092]
check.crcs = true
client.dns.lookup = use_all_dns_ips
client.id = my-app-StreamThread-1-consumer
client.rack = 
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = false
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
group.id = payments.stream.tlm.    my-app.local
group.instance.id = null
heartbeat.interval.ms = 3000
interceptor.classes = [my.app.streams.interceptor.PaymentStatusUpdatedInterceptor, my.app.streams.interceptor.CommandInterceptor, my.app.streams.interceptor.InProgressInterceptor]
internal.leave.group.on.close = false
internal.throw.on.fetch.stable.offset.unsupported = true
isolation.level = read_committed
key.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer
max.partition.fetch.bytes = 1048576
max.poll.interval.ms = 300000
max.poll.records = 500
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partition.assignment.strategy = [org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor]
receive.buffer.bytes = 65536
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = GSSAPI
security.protocol = PLAINTEXT
security.providers = null
send.buffer.bytes = 131072
session.timeout.ms = 10000
socket.connection.setup.timeout.max.ms = 30000
socket.connection.setup.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.endpoint.identification.algorithm = https
ssl.engine.factory.class = null
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.certificate.chain = null
ssl.keystore.key = null
ssl.keystore.location = null
ssl.keystore.password = [hidden]
ssl.keystore.type = JKS
ssl.protocol = TLSv1.3
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.certificates = null
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
value.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer
</code></pre>
<p><strong>Streams Config:</strong></p>
<pre><code>acceptable.recovery.lag = 10000
application.id = my-app.local
application.server = 
bootstrap.servers = [localhost:9092]
buffered.records.per.partition = 1000
built.in.metrics.version = latest
cache.max.bytes.buffering = 10485760
client.id = payment-avro-formatter
commit.interval.ms = 100
connections.max.idle.ms = 540000
default.deserialization.exception.handler = class my.app.streams.handler.FailOrContinueExceptionHandler
default.key.serde = null
default.list.key.serde.inner = null
default.list.key.serde.type = null
default.list.value.serde.inner = null
default.list.value.serde.type = null
default.production.exception.handler = class org.apache.kafka.streams.errors.DefaultProductionExceptionHandler
default.timestamp.extractor = class org.apache.kafka.streams.processor.FailOnInvalidTimestamp
default.value.serde = null
max.task.idle.ms = 0
max.warmup.replicas = 2
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
num.standby.replicas = 0
num.stream.threads = 6
poll.ms = 100
probing.rebalance.interval.ms = 600000
processing.guarantee = exactly_once_beta
receive.buffer.bytes = 32768
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
replication.factor = 3
request.timeout.ms = 40000
retries = 0
retry.backoff.ms = 100
rocksdb.config.setter = class my.app.streams.config.CustomRocksDBConfig
security.protocol = PLAINTEXT
send.buffer.bytes = 131072
state.cleanup.delay.ms = 600000
state.dir = /tmp/kafka-streams
task.timeout.ms = 300000
topology.optimization = all
upgrade.from = null
window.size.ms = null
windowed.inner.class.serde = null
windowstore.changelog.additional.retention.ms = 86400000
</code></pre>
<p>Thank you in advance for your inputs/suggestions.</p>
<p><strong>UPDATE</strong>
Analysing the logs at the broker side we could clearly see that there were some transactions that were timeout.</p>
",https://stackoverflow.com/questions/75991361/how-to-identify-root-cause-of-invalidproducerepochexception-producerfencedexcept,"['spring-boot', 'apache-kafka', 'apache-kafka-streams']",53,False,0,0
Fetch Millions of Records using CopyManager throwing OutOfMemoryError,"<p>When I tried running my code in tables with rows in thousands, it worked fine but as a performance testing, I tried it with tables having millions of records and then I encountered this issue.</p>
<p>I have tried the above approach. I can try an alternate approach without the copymanager but it would be great if I can use this piece of code. Any suggestions are welcome.</p>
<pre><code>OFFSET is 0;
LIMIT is 3 million
</code></pre>
<p>Here is the code:</p>
<pre><code>Connection connection = null;
            
                    try(StringWriter out = new StringWriter(); Writer printWriter = new PrintWriter(out, true)) {
                        connection = dataSource.getConnection();
                        OFFSET = 0;
    // totalRecords is the total rows in the table
                        while (OFFSET &lt;= totalRecords &amp;&amp; totalRecords &gt; 0) {
            
                            if (connection != null &amp;&amp; connection.isWrapperFor(PGConnection.class)) {
            
                                PGConnection pgConnection = connection.unwrap(PGConnection.class);
                                CopyManager copyManager = null;
                                copyManager = pgConnection.getCopyAPI();
            
                                String sql = null;
                                    sql = &quot;SELECT &quot; + table.getAttributeList() + &quot; FROM &quot; + table.getSchemaName().trim() + &quot;.&quot;
                                            + table.getTableName().trim() + &quot; WHERE &quot; + &quot;modified_ts&quot; + &quot; &gt; &quot; + &quot;'&quot; + dateTime + &quot;'&quot;
                                            + &quot; OFFSET &quot; + OFFSET + &quot; LIMIT &quot; + LIMIT;
            
            
                                LOGGER.info(sql);
            
                                long i;
    // Here I am trying to copy the Result into the printwriter
                                i = copyManager.copyOut(&quot;COPY (&quot; + sql + &quot; ) TO STDOUT WITH (FORMAT CSV)&quot;, printWriter);
                                LOGGER.info(&quot;Total no of records in {} : {}&quot;, table.getTableName(), i);
                                printWriter.flush();
                                OFFSET = OFFSET + LIMIT;
                                
            
                            }
                        }
                        String now = LocalDate.now().format(DateTimeFormatter.ofPattern(&quot;dd/MM/yyyy&quot;)).replace(&quot;/&quot;, &quot;&quot;);
                        String localFileName = table.getTableName() + &quot;_&quot; + now + &quot;.csv&quot;;
                        InputStream inputStream = new ByteArrayInputStream(out.toString().getBytes(UTF8));
                        postObjectToS3.uploadFile(saveFilePath + localFileName, inputStream);
                        
                        inputStream.close();
                    }
</code></pre>
<p>and here is the stacktrace:</p>
<blockquote>
<p>Exception in thread &quot;main&quot; java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.Arrays.copyOf(Arrays.java:3745)
at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:172)
at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:633)
at java.base/java.lang.StringBuffer.append(StringBuffer.java:397)
at java.base/java.io.StringWriter.write(StringWriter.java:122)
at java.base/java.io.PrintWriter.write(PrintWriter.java:542)
at java.base/java.io.PrintWriter.write(PrintWriter.java:559)
at org.postgresql.copy.CopyManager.copyOut(CopyManager.java:92)</p>
</blockquote>
",https://stackoverflow.com/questions/75412657/fetch-millions-of-records-using-copymanager-throwing-outofmemoryerror,"['java', 'postgresql', 'spring-boot', 'printwriter', 'stringwriter']",172,True,0,2
Mongodb - updateOne changes filetype and overwrites other data while using java in jmeter,"<p>I'm using jMeter in my performance testing and need to change some data in document in mongodb. I've run into a problem, where while using updateOne command, translating working mongosh query into java, the behavior in jmeter/java is different.</p>
<p>My field which needs to be changed is nested inside object, which is inside array, which is inside object (image 1).</p>
<p><a href=""https://i.stack.imgur.com/Q9OuW.png"" rel=""nofollow noreferrer"">image 1: Data structure as seen in MongoDBCompass</a></p>
<p>I need to change value of 'number' field to value of one of my jmeter values. In mongodbcompass it works perfectly when I use script like this:</p>
<pre><code>db.process.updateOne({_id: &quot;01deda7ec9894a3cbdeb&quot;},
      {$set: {
        &quot;individualPerson.identityDocuments.0.number&quot;: &quot;ZZA002204&quot;
      }}

    )
</code></pre>
<p>But while using this java code inside jmeter (java/groovy) overwrites everything in Object &quot;0&quot; and changes data type of individualPerson from Array to Object (image 2)</p>
<p>(collection is name for variable, which points to proccess collection)</p>
<pre><code>collection.updateOne(Filters.eq(&quot;_id&quot;, 01deda7ec9894a3cbdeb), Updates.set(&quot;individualPerson.identityDocuments.0.number&quot;, &quot;abc123456&quot;)
</code></pre>
<p><a href=""https://i.stack.imgur.com/Gzvap.png"" rel=""nofollow noreferrer"">image 2: Data after changing it with jmeter/java</a></p>
<p>What can be done to change it properly while using jmeter?</p>
<p>I've tried passing java array into updateone method, but it didn't update anything.
I've also tried sending mongosh query to mongodb using java, but it also didn't work</p>
",https://stackoverflow.com/questions/75832148/mongodb-updateone-changes-filetype-and-overwrites-other-data-while-using-java,"['java', 'mongodb', 'jmeter']",41,False,0,1
"How can I make SQLite reuse a prepared statement, like a query plan cache?","<p>My app uses SQLite to store data, and I have one query that runs often. When I profile the app, preparing the statement for the query (<code>sqlite_prepare_v2</code>) takes the huge majority of the time. Actually fetching data (<code>sqlite3_step</code>) takes very little time.</p>
<p>I am using bind args for the parameters of the query, and I know that in larger-scale database systems like SQL Server or MySQL, one advantage of using bind args is that the database engine can reuse query plans. Based on my performance testing of SQLite with and without the bind args (<code>select id from foo where bar = 1</code> vs <code>select id from foo where bar = ?</code>), it does not appear to have a built-in query plan cache. Is it possible to build one myself, by caching the <code>sqlite3_stmt</code> pointer and re-binding new parameters to it later, or something like that?</p>
<p>Edit: as a further detail, if I reuse the <code>sqlite3_stmt</code> object, I'd ideally like to make a copy of it, because I'm in a multithreaded environment and I'd like multiple threads to be able to use a prepared statement at once. Otherwise I have to do something funky involving each cached prepared statement having its own mutex. So how do I copy a <code>sqlite3_stmt</code> object?</p>
",https://stackoverflow.com/questions/75828153/how-can-i-make-sqlite-reuse-a-prepared-statement-like-a-query-plan-cache,"['sqlite', 'database-performance']",92,False,0,0
Are mlr3 class weights applied to validation score calculations?,"<p>I have previously used <code>mlr3</code> for imbalanced classification problems, and used <code>PipeOpClassWeights</code> to apply class weights to learners during training. This pipe op adds a column of observation weights to the <code>Task</code>, in the <code>Task$weights</code> property. These observation weights are then passed to the <code>Learner</code> during training.</p>
<p>Some classification performance metrics, such as Brier score (<code>classif.bbrier</code>) and log loss (<code>classif.logloss</code>) can be calculated with class weights applied (this is what happens to the training log loss when we train with class weights).</p>
<p>My question is, when we perform validation with <code>resample</code>, and aggregate performance metrics from the results, in the form of</p>
<pre><code>resampling = rsmp(&quot;cv&quot;, folds = 4)
measure = msr(&quot;classif.bbrier&quot;)
result = resample(task, learner, resampling)
score = resampling$aggregate(measure)
</code></pre>
<p>are the class weights applied to this validation score calculation too (if applicable to the particular measure)? Is this also done when we perform hyperparameter tuning, for example with <code>AutoTuner</code>?</p>
<p>I looked in the documentation for the aforementioned classes, and the resampling <a href=""https://mlr3book.mlr-org.com/performance.html#sec-resampling-exec"" rel=""nofollow noreferrer"">section</a> of mlr3book, but couldn't find an answer. I assume we'd want the same class weights applied to the training loss to be applied to the validation loss, at least for hyperparameter tuning if not for performance testing.</p>
<p>I was inspired to investigate this after coming across a similar issue in the validation scores of <code>xgboost</code>'s Python implementation, discussed <a href=""https://github.com/dmlc/xgboost/issues/8184"" rel=""nofollow noreferrer"">here</a>.</p>
",https://stackoverflow.com/questions/76272021/are-mlr3-class-weights-applied-to-validation-score-calculations,"['r', 'validation', 'classification', 'imbalanced-data', 'mlr3']",23,True,0,1
JMeter: Unexpected behavior with identical values for return URL and client ID after a successful test,"<blockquote>
<p>JMeter: Unexpected behavior with identical values for return URL and client ID after a successful test</p>
</blockquote>
<p>I'm currently working with JMeter for performance testing of an application that implements the OpenID Connect (OIDC) protocol for authentication. During the test execution, I noticed an unexpected behavior where, upon successful completion of the test, both the return URL and client ID are receiving the same values(in Service bus Queue). This behavior is not aligned with the expected behavior defined in the OIDC specifications.</p>
<p>Here are some details about my setup:</p>
<ul>
<li>I have a JMeter test plan that simulates user interactions with a web application that involves      OIDC authentication.</li>
<li>The test plan includes HTTP requests, timers, and assertions to validate the application's behavior.</li>
<li>The return URL and client ID are parameters used in the OIDC flow.</li>
<li>I've verified that the test passes successfully, but the received values for the return URL and client ID are identical(in Service bus Queue).</li>
</ul>
<p>I would greatly appreciate any insights or suggestions regarding the potential causes of this unexpected behavior in JMeter with OIDC information.</p>
<p>What could be the reasons behind both the return URL and client ID receiving the same values after a successful test?</p>
<p>If there are any recommended troubleshooting steps or best practices specific to JMeter and OIDC testing, please share them as well.</p>
",https://stackoverflow.com/questions/76340414/jmeter-unexpected-behavior-with-identical-values-for-return-url-and-client-id-a,"['jmeter', 'openid-connect', 'jmeter-5.0', 'jmeter-logging']",30,False,1,1
fluentd exec_filter output fails to recover after OOM,"<p>I'm using fluentd in docker (alpine image) to collect messages from gelf input. Running it using <code>docker-compose</code>.</p>
<p>In the output, I need to send the messages to a 3rd party using a python SDK, and I need the output to be <code>synchronous</code>, i.e. have only one output script running at a time.</p>
<p>so I wanted to use an <code>exec</code> out plugin to run the python script.</p>
<pre><code>&lt;match logs.*&gt;
  @type exec
  command python3 /src/output.py
  format json
  &lt;buffer&gt;
    @type file
    path /var/log/buffer
    flush_interval 1s
  &lt;/buffer&gt;
&lt;/match&gt;
</code></pre>
<p>Problem with that is that its only mode is <code>asynchronous</code> - meaning it doesn't wait for the output to end before launching a new output, so when I have high throughput I have multiple outputs running.</p>
<p>Later on I found the <code>exec_filter</code> which is used for filtering, but I figured I can use it to my scenario since its <code>synchronous</code>. It does run only one process of <code>output</code> and getting the events via stdin.</p>
<p>When I did some performance testing (with memory limit and disabling swap) - I got an OOM on the container (limiting it to 128mb).</p>
<p><strong>The problem is</strong> - when it restarted after the OOM - it didn't run the <code>output.py</code> script, and the chunks are failing since there is no output running. Docker logs:</p>
<p>That's the OOM I assume:</p>
<pre><code>2023-04-14 10:45:22 +0000 [warn]: #0 failed to flush the buffer. retry_times=0 next_retry_time=2023-04-14 10:45:24 +0000 chunk=&quot;5f949677e6035c6b397762e21f7ae37d&quot; error_class=IOError error=&quot;stream closed in another thread&quot;
  2023-04-14 10:45:22 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin/buffer/memory_chunk.rb:86:in `write'
  2023-04-14 10:45:22 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin/buffer/memory_chunk.rb:86:in `write_to'
2023-04-14 10:45:22 +0000 [warn]: #0 child process exits with error code code=9 status=nil signal=9
</code></pre>
<p>And then I get this constantly:</p>
<pre><code>2023-04-14 10:45:23 +0000 [warn]: #0 failed to flush the buffer. retry_times=1 next_retry_time=2023-04-14 10:45:26 +0000 chunk=&quot;5f949677e6035c6b397762e21f7ae37d&quot; error_class=RuntimeError error=&quot;no healthy child processes exist&quot;
  2023-04-14 10:45:23 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin/out_exec_filter.rb:282:in `write'
  2023-04-14 10:45:23 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin/output.rb:1225:in `try_flush'
  2023-04-14 10:45:23 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin/output.rb:1538:in `flush_thread_run'
  2023-04-14 10:45:23 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin/output.rb:510:in `block (2 levels) in start'
  2023-04-14 10:45:23 +0000 [warn]: #0 /usr/lib/ruby/gems/3.1.0/gems/fluentd-1.16.0/lib/fluent/plugin_helper/thread.rb:78:in `block in thread_create'
</code></pre>
<p>I didn't find any more logs to help me investigate.</p>
<p>So 2 questions:</p>
<ol>
<li><p>For my scenario (<code>synchronous</code> output), is there a better fit then to use the <code>exec_filter</code>?</p>
</li>
<li><p>How can I further investigate the <code>output.py</code> not running?</p>
</li>
</ol>
",https://stackoverflow.com/questions/76014536/fluentd-exec-filter-output-fails-to-recover-after-oom,"['docker', 'synchronous', 'fluentd', 'fluent-docker']",24,False,0,0
Cost management question Azure Disk storage cost,"<p>I am new to Azure Disk storage management
Is Azure Disk the same as the Azure Blob has the cold, hot option?
Also because I have so many virtual machines, every virtual machine has attached a disk like
Ultra disk  Premium SSD v2  Premium SSD Standard SSD Standard HDD.
Imagine you have 100 vm and some attach ultra disk and premium disk, you will be poor because it cost you tremendous amount of money.</p>
<p>So my question is how do you save money for disk?  If you are doing load performance testing the disk will receive 800 GB data every day. How do you lower the cost for storage,</p>
<p>does disk has the autoshutdown or autostart functionality to save money? because I heard disk cost is counting per hour. So i want to shutdown it in the evening when I sleep to save money.</p>
<p>How does the disk cost ? for example, if a disk is 10GB disk and 100 dollar per month. If you ingest 20 GB in that 10gb disk, will you be charged over expensively,</p>
<p>if you don't use that disk or just use the disk for very small amount like 0.1GB..WILL IT STILL CHARGE YOU 100 dollar per month? or it charge you 0.1*100 since you only use 0.1 amount of space.</p>
<p>I feel charge by hour maybe not a good choice. Does Azure have something like you use 0.1GB charge you 0.1GB dollar rather than 10GB dollar per month&gt;? thanks</p>
",https://stackoverflow.com/questions/75065814/cost-management-question-azure-disk-storage-cost,"['azure', 'azure-blob-storage', 'disk', 'cost-management', 'azure-cost-calculation']",771,True,1,1
Grafana: Math calculation between two panels,"<p>I am creating a real time dashboard from performance testing perspective that would fetch data from InfluxDB (mostly client side) and Prometheus (server side). It will have below panels (will look fancier in Grafana, of course).</p>
<div class=""s-table-container"">
<table class=""s-table"">
<thead>
<tr>
<th>Metric</th>
<th>Value</th>
<th>Weightage</th>
<th>Score</th>
<th>Final Score</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Error Percent</td>
<td>8.9%</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>Score 1:&lt;5%, Score 2:5-10%,Score 3 &gt;10%</td>
</tr>
<tr>
<td>Response Time</td>
<td>2.5 s</td>
<td>3</td>
<td>1</td>
<td>3</td>
<td>Score 1:&lt;3s, Score 2:3-6s,Score 3 &gt;6s</td>
</tr>
</tbody>
</table>
</div>
<ul>
<li>Metric: Text Panel(Could be markdown or HTML)</li>
<li>Value: Stat Panel (Will be calculated using queries)</li>
<li>Weightage: Text Panel (User driven and it will have <strong>variable</strong> dropdown). Text panel will simply display the variable value selected by the user</li>
<li>Score: Stat Panel (It will be <strong>value mapping</strong> of metric as per description and will point to value panel)</li>
<li>Final Score: This will be the multiplication of weightage and score and this is my pain point at the moment.</li>
</ul>
<p>I am struggling to do multiplication of a Grafana variable (as text) and the value mapping that is done on the query result.</p>
<p>Is there a way we can do math operations on <strong>Weightage</strong> and <strong>Score</strong>. Tried my hands with transform but no luck. Is there a better way to achieve this?</p>
<p>Thanks in advance.</p>
<p>Edit: Adding Queries and data returned from Prometheus and InfluxDB.</p>
<p>Below InfluxDB query returns Error% (Example: 4.56%)</p>
<pre class=""lang-sql prettyprint-override""><code>SELECT sum(&quot;error&quot;) / sum(&quot;all&quot;) 
FROM (
    SELECT sum(&quot;count&quot;) AS &quot;all&quot; 
    FROM &quot;$measurement_name&quot; 
    WHERE &quot;transaction&quot; = 'all'
    AND &quot;application&quot;=~ /^$application$/ 
    AND $timeFilter 
    GROUP BY time($__interval) fill(null)
), (
    SELECT sum(&quot;countError&quot;) AS &quot;error&quot; 
    FROM &quot;$measurement_name&quot; 
    WHERE &quot;transaction&quot; = 'all' 
    AND &quot;application&quot; =~ /^$application$/ 
    AND $timeFilter 
    GROUP BY time($__interval) fill(null)
)
</code></pre>
<p>Below Prometheus query will return CPU Utilization % (For example- 52.5%)</p>
<pre><code>sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=&quot;$cluster&quot;, namespace=&quot;$namespace&quot;}) / sum(kube_pod_container_resource_requests{job=&quot;kube-state-metrics&quot;, cluster=&quot;$cluster&quot;, namespace=&quot;$namespace&quot;, resource=&quot;cpu&quot;})
</code></pre>
",https://stackoverflow.com/questions/76036253/grafana-math-calculation-between-two-panels,"['prometheus', 'grafana', 'performance-testing', 'influxdb', 'grafana-variable']",84,False,0,0
An efficient way to use Async SQLAlchemy in Python,"<p>I have FastAPI server which connects to PostgreSQL as backend and I implemented two methods to connect to the database as follows:</p>
<p>1- have one async engine which is being used in async sessions for every individual call</p>
<p>2- Create an async engine and (multiple) session(s) for every individual call and dispose the engine after use (when the session ends)</p>
<p>I found the first approach uses less resources and produces less errors (e.g. connection refused, connection aborted, see the below stats) but gives inconsistent user experience (i.e. response time varies significantly), so was wondering if I could have some comments on these two approaches and whether my conclusion is correct.</p>
<p>Method 1 total Failurs:7819+24279+1189+230+10=33527</p>
<p>Method 2 total Failurs:4358+62772+3=67133</p>
<p><strong>Load Test configurations:</strong></p>
<p>For the load test I am using Locust with the following configuration</p>
<p><a href=""https://i.stack.imgur.com/tVzUs.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/tVzUs.png"" alt=""enter image description here"" /></a></p>
<pre><code> @task(1)
    def testFastApitask1(self):
        headers = {'Accept': 'application/json', 'Content-Type': 'application/json'}
        #self.client.post(&quot;/predict&quot;, data='dfg', headers=headers)
        resp = self.client.get(
            url=&quot;/data/campaign/channels/no_log_no_auth&quot;,
            auth=None,
            #headers={&quot;Authorization&quot;: &quot;Bearer &quot; + token_string},
            name='task1'
        )
</code></pre>
<p><strong>PostgreSQL query</strong></p>
<pre><code>select max_conn,used,res_for_super,max_conn-used-res_for_super res_for_normal 
from 
  (select count(*) used from pg_stat_activity) t1,
  (select setting::int res_for_super from pg_settings where name=$$superuser_reserved_connections$$) t2,
  (select setting::int max_conn from pg_settings where name=$$max_connections$$) t3;
  
</code></pre>
<p><strong>Baseline connection stats:</strong>
and the result is 13 used connections (100 total) which can consider as the baseline as shown below:</p>
<p><a href=""https://i.stack.imgur.com/2lreA.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/2lreA.png"" alt=""enter image description here"" /></a></p>
<ol>
<li><strong>Method 1:  One async engine which is being used in async sessions for every individual call</strong></li>
</ol>
<p>Py code:</p>
<pre><code>camp.py
@router.get(&quot;/data/campaign/channels/no_log_no_auth&quot;,tags=[&quot;Campaign methods&quot;])
async def get_channels_in_camp_no_log_no_auth_OP():
    output=await get_channels_in_camp()
    return output

campaign.py
async def get_channels_in_camp():
    df=await camp_channel_unique()
    df=df.applymap(lambda s:s.lower() if type(s) == str else s)
    return { &quot;channels&quot;: df['channel'].to_list() }

campaign_postgresql.py
from engine.engines import async_session
async def camp_channel_unique():

    # create an empty dataframe
    df = pd.DataFrame()
    try:
        # create SQL statement with SQLAlchemy
        stmt = select(
            # selecting columns
           distinct( Campain.CHANNEL).label(&quot;CHANNEL&quot;)
        )
# execute statement
        df=await run_stmt(stmt,async_session)
    except SQLAlchemyError as e:
        error = str(e.__cause__)
        raise RuntimeError(error) from e
    return df


engine.py

ConnectionString=&quot;{}://{}:{}@{}:{}/{}&quot;.format(dialect,DS_POSTGRESQL_USER,DS_POSTGRESQL_PASSWORD,DS_POSTGRESQL_HOST,DS_POSTGRESQL_PORT,DS_POSTGRESQL_DATABASE)
async_engine=None
async_engine1 =  create_async_engine(ConnectionString, future=True, echo=True)
async_session = sessionmaker(async_engine1, class_=AsyncSession, expire_on_commit=False)


Base = declarative_base()
async def run_stmt(stmt, async_session: async_sessionmaker):
  
    async with async_session()  as session:
        try:
            async with session.begin():
                result = await session.execute(stmt)
                rows =   result.fetchall()
                columns =  result.keys()
                if len(rows) &gt; 0:
                    df = pd.DataFrame(rows, columns=columns)
                else:
                    df = pd.DataFrame(columns=columns)
                df = df.rename(columns=str.lower)
        except SQLAlchemyError as e:
            error = str(e.__cause__)
            await session.rollback()
            raise RuntimeError(error) from e
        else:
            await session.commit()
        finally:
            await session.close()
            #await engine.dispose()

    return df
</code></pre>
<p><strong>Now the performance testing results using Locust and PostgreSQL</strong></p>
<p>when the number of concurrent users reach 5000 in Locust:</p>
<p><a href=""https://i.stack.imgur.com/dpkGf.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/dpkGf.png"" alt=""enter image description here"" /></a></p>
<p>and the stats:</p>
<p><a href=""https://i.stack.imgur.com/nG9gS.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/nG9gS.png"" alt=""enter image description here"" /></a></p>
<p><strong>Locust Performance charts:</strong></p>
<p><a href=""https://i.stack.imgur.com/APXF1.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/APXF1.png"" alt=""enter image description here"" /></a></p>
<ol start=""2"">
<li><strong>Method 2: An async engine and (multiple) session(s) for every individual call and dispose the engine after use (when the session
ends)</strong></li>
</ol>
<p>Py code:</p>
<pre><code>camp.py #same as the previous one
camp.py
@router.get(&quot;/data/campaign/channels/no_log_no_auth&quot;,tags=[&quot;Campaign methods&quot;])
async def get_channels_in_camp_no_log_no_auth_OP():
    output=await get_channels_in_camp()
    return output

campaign.py 
async def get_channels_in_camp():
    &quot;&quot;&quot;
    Returns unique list of channels' values in the campaign datasets
    &quot;&quot;&quot;
    df=await camp_channel_unique(engine=await create_postgresql_engine())# I could have not passed the engine but call it in campaign_postgresql.py instead, but would not make a difference
    df=df.applymap(lambda s:s.lower() if type(s) == str else s)
    return { &quot;channels&quot;: df['channel'].to_list() }


campaign_postgresql.py
async def camp_channel_unique(engine):

    # create an empty dataframe
    df = pd.DataFrame()
    try:
        # create SQL statement with SQLAlchemy
        stmt = select(
            # selecting columns
           distinct( Campain.CHANNEL).label(&quot;CHANNEL&quot;)
        )
# execute statement
        df=await run_stmt(stmt,engine)
    except SQLAlchemyError as e:
        error = str(e.__cause__)
        raise RuntimeError(error) from e
    return df


engine.py
async def create_postgresql_engine():
    engine =  create_async_engine(ConnectionString, future=True, echo=True)
    return engine


async def run_stmt(stmt, engine):
    df = pd.DataFrame()
    async with AsyncSession(engine) as session:
        try:
            result = await session.execute(stmt)
            rows =  result.fetchall()
            columns = result.keys()
            if len(rows) &gt; 0:
                df = pd.DataFrame(rows, columns=columns)
            else:
                df = pd.DataFrame(columns=columns)
            df = df.rename(columns=str.lower)
        except SQLAlchemyError as e:
            error = str(e.__cause__)
            await session.rollback()
            raise RuntimeError(error) from e
        else:
            await session.commit()
        finally:
            await session.close()
            await engine.dispose()

    return df
</code></pre>
<p><strong>and now the performance test results:</strong></p>
<p>PostgreSQL used sessions varied between 90 to 103</p>
<p><a href=""https://i.stack.imgur.com/HAJfr.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/HAJfr.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/mwbzr.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/mwbzr.png"" alt=""enter image description here"" /></a></p>
<p><strong>Locut results:</strong></p>
<p><a href=""https://i.stack.imgur.com/D6j8G.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/D6j8G.png"" alt=""enter image description here"" /></a></p>
<p><a href=""https://i.stack.imgur.com/SWOJI.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/SWOJI.png"" alt=""enter image description here"" /></a></p>
<p><strong>few seconds after stopping the test:</strong></p>
<p>the connections dropped to the base level</p>
<p><a href=""https://i.stack.imgur.com/XjoyY.png"" rel=""nofollow noreferrer""><img src=""https://i.stack.imgur.com/XjoyY.png"" alt=""enter image description here"" /></a></p>
",https://stackoverflow.com/questions/75893648/an-efficient-way-to-use-async-sqlalchemy-in-python,"['python', 'asynchronous', 'async-await', 'sqlalchemy']",193,False,0,0
Azure authentication not working in JMeter after apparently correct correlation,"<p>I am trying to develop a JMeter script for performance testing an application with Azure (Oauth2) authentication. Right now I am stuck with the automation of the login process.</p>
<p>These are the relevant requests I have in the script:</p>
<ol>
<li><strong>Access to login screen: GET <a href=""https://login.microsoftonline.com/%7Btenant_id%7D/oauth2/v2.0/authorize"" rel=""nofollow noreferrer"">https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize</a></strong>
with the following parameters:</li>
</ol>
<ul>
<li>sso_reload=true</li>
<li>scope=openid profile offline_access <a href=""https://graph.microsoft.com/user.read"" rel=""nofollow noreferrer"">https://graph.microsoft.com/user.read</a></li>
<li>response_type=code</li>
<li>redirect_uri=https://${server}/azure-ad-interface-provider/login/getAuthCode</li>
<li>state=${state} (captured in previous step)</li>
<li>nonce=${nonce} (captured in previous step)</li>
<li>client_id=${client_id} (captured in previous step)</li>
<li>response_mode=query</li>
</ul>
<p>From this request I capture the following parameters to be used later on:</p>
<ul>
<li>sCtx</li>
<li>flowToken</li>
<li>canary</li>
<li>apicanary</li>
<li>hpgrequest-id</li>
<li>client-request-id</li>
</ul>
<ol start=""2"">
<li><strong>Enter username: POST <a href=""https://login.microsoftonline.com/common/GetCredentialType?mkt=en-US"" rel=""nofollow noreferrer"">https://login.microsoftonline.com/common/GetCredentialType?mkt=en-US</a></strong> with the following JSON body:
{&quot;username&quot;:&quot;${username}&quot;,&quot;isOtherIdpSupported&quot;:true,&quot;checkPhones&quot;:false,&quot;isRemoteNGCSupported&quot;:true,&quot;isCookieBannerShown&quot;:false,&quot;isFidoSupported&quot;:true,&quot;originalRequest&quot;:&quot;<strong>${sCtx}</strong>&quot;,&quot;country&quot;:&quot;${country}&quot;,&quot;forceotclogin&quot;:false,&quot;isExternalFederationDisallowed&quot;:false,&quot;isRemoteConnectSupported&quot;:false,&quot;federationFlags&quot;:0,&quot;isSignup&quot;:false,&quot;flowToken&quot;:&quot;<strong>${flowToken}</strong>&quot;,&quot;isAccessPassSupported&quot;:true}*</li>
</ol>
<p>This request has a correct response, a JSON with the information about the user and the session to be opened.</p>
<ol start=""3"">
<li><strong>Enter password: POST <a href=""https://login.microsoftonline.com/%7Btenant_id%7D/login"" rel=""nofollow noreferrer"">https://login.microsoftonline.com/{tenant_id}/login</a></strong> with the following parameters:</li>
</ol>
<ul>
<li>PPSX</li>
<li>IsFidoSupported=1</li>
<li>ps=2</li>
<li>hisScaleUnit=</li>
<li>hpgrequestid=<strong>${hpgrequestid}</strong></li>
<li>i13=0</li>
<li>login=${username}</li>
<li>type=11</li>
<li>LoginOptions=3</li>
<li>flowToken=<strong>${flowToken}</strong></li>
<li>psRNGCEntropy=</li>
<li>loginfmt=${username}</li>
<li>isSignupPost=0</li>
<li>NewUser=1</li>
<li>canary=${canary}</li>
<li>hisRegion</li>
<li>ctx=<strong>${sCtx}</strong></li>
<li>psRNGCDefaultType=</li>
<li>CookieDisclosure=0</li>
<li>lrtPartition=</li>
<li>i21=0</li>
<li>lrt=</li>
<li>psRNGCSLK=</li>
<li>passwd=${password}</li>
<li>FoundMSAs=</li>
<li>fspost=0</li>
</ul>
<p>This request is supposed to be returning a response like this:</p>
<pre><code>&lt;!-- Copyright (C) Microsoft Corporation. All rights reserved. --&gt;
&lt;!DOCTYPE html&gt;
&lt;html dir=&quot;ltr&quot; class=&quot;&quot; lang=&quot;es&quot;&gt;
&lt;head&gt;
    &lt;title&gt;**Sign into the account**&lt;/title&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes&quot;&gt;
    &lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;&gt;
    &lt;meta http-equiv=&quot;Expires&quot; content=&quot;-1&quot;&gt;
    &lt;link rel=&quot;preconnect&quot; href=&quot;https://aadcdn.msftauth.net&quot; crossorigin&gt;
&lt;meta http-equiv=&quot;x-dns-prefetch-control&quot; content=&quot;on&quot;&gt;
&lt;link rel=&quot;dns-prefetch&quot; href=&quot;//aadcdn.msftauth.net&quot;&gt;
&lt;link rel=&quot;dns-prefetch&quot; href=&quot;//aadcdn.msauth.net&quot;&gt;

    &lt;meta name=&quot;PageID&quot; content=&quot;**ConvergedTFA**&quot; /&gt;
...
</code></pre>
<p>and this request should also return the persistant cookies to be used by the script to keep the session opened.</p>
<p>However, it is returning:</p>
<pre><code>&lt;!-- Copyright (C) Microsoft Corporation. All rights reserved. --&gt;
&lt;!DOCTYPE html&gt;
&lt;html dir=&quot;ltr&quot; class=&quot;&quot; lang=&quot;es&quot;&gt;
&lt;head&gt;
    &lt;title&gt;**Redirecting**&lt;/title&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes&quot;&gt;
    &lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;&gt;
    &lt;meta http-equiv=&quot;Expires&quot; content=&quot;-1&quot;&gt;
    &lt;meta name=&quot;PageID&quot; content=&quot;**BssoInterrupt**&quot; /&gt;
...
</code></pre>
<p>And no cookies are returned. So the script fails in the next step because login is not effectively performed.
I am using Cookie Manager as well. Actually the rest of the cookies are being generated as expected, until this last step.</p>
<p>Could you please advise about what I might be doing wrong?
Thanks in advance.</p>
",https://stackoverflow.com/questions/76271301/azure-authentication-not-working-in-jmeter-after-apparently-correct-correlation,"['azure', 'authentication', 'oauth-2.0', 'jmeter', 'correlation']",40,False,0,1
"Could not load file or assembly &#39;Azure.Core, Version=1.0.2.0, Culture=neutral, PublicKeyToken=92742159e12e44c8&#39; or one of its dependencies","<p><strong>Describe the bug</strong></p>
<p>We are implementing some changes in our Web load test and performance testing project (in Visual Studio) to enable webtests to fetch passwords from an encrypted SQL DB by using master key stored in Azure key vault. For this we have installed below 3 NuGet packages:</p>
<ul>
<li>Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider</li>
<li>Microsoft.IdentityModel.Clients.ActiveDirectory</li>
<li>Newtonsoft.Json</li>
</ul>
<p>During this implementation, we are getting below error:</p>
<p><strong>Error Message:</strong></p>
<p>System.IO.FileNotFoundException HResult=0x80070002   Message=Could not load file or assembly 'Azure.Core, Version=1.0.2.0, Culture=neutral, PublicKeyToken=92742159e12e44c8' or one of its dependencies. The system cannot find the file specified.</p>
<p>Source=Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider</p>
<p>StackTrace:    at Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.AzureSqlKeyCryptographer..ctor(TokenCredential tokenCredential)    at Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.SqlColumnEncryptionAzureKeyVaultProvider..ctor(TokenCredential tokenCredential, String[] trustedEndpoints) at WebAndLoadTestProject1.GetAllCredentialsToExcel.PreWebTest(Object sender, PreWebTestEventArgs e)</p>
<p><strong>Line of code where it throws above error:</strong></p>
<p>Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.SqlColumnEncryptionAzureKeyVaultProvider akv1 = new Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.SqlColumnEncryptionAzureKeyVaultProvider(new LegacyAuthCallbackTokenCredential());</p>
<p><strong>Fusion log:</strong></p>
<p>Pre-bind state information ===\r\n</p>
<p>LOG: DisplayName = Azure.Core, Version=1.0.2.0, Culture=neutral, PublicKeyToken=92742159e12e44c8\n (Fully-specified)\r\nLOG: Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/\r\nLOG: Initial PrivatePath = NULL\r\nCalling assembly : Azure.Security.KeyVault.Keys, Version=4.0.3.0, Culture=neutral, PublicKeyToken=92742159e12e44c8.\r\n===\r\nLOG: This bind starts in LoadFrom load context.\r\nWRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().\r\nLOG: Using application configuration file: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\QTAgent_40.exe.Config\r\nLOG: Using host configuration file: \r\nLOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.\r\nLOG: Post-policy reference: Azure.Core, Version=1.0.2.0, Culture=neutral, PublicKeyToken=92742159e12e44c8\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/Azure.Core/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/Azure.Core/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/PrivateAssemblies/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/PrivateAssemblies/Azure.Core/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/PublicAssemblies/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/PublicAssemblies/Azure.Core/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/DataCollectors/Azure.Core.DLL.\r\nLOG:</p>
<p>Attempting download of new URL file:///Q:/WebAndLoadTestProject1/TestResults/Out/Azure.Core.DLL.\r\nWRN: Comparing the assembly name resulted in the mismatch: Minor Version\r\nLOG:</p>
<p><strong>Environment:</strong>
Visual Studio version is 16.11.9
Runtime Environment:
OS Name: Windows
OS Version: 2019 Server</p>
<p>Tried below steps already but no luck:</p>
<ul>
<li>Re-installed all packages and rebuilt the solution.</li>
<li>Updated namespace references</li>
<li>Cleared NuGet package and solution level cache</li>
<li>Added AutoGenerateBindingRedirects in app.config and project file</li>
</ul>
",https://stackoverflow.com/questions/75728002/could-not-load-file-or-assembly-azure-core-version-1-0-2-0-culture-neutral-p,"['nuget-package', '.net-assembly', 'visual-studio-loadtest']",74,False,0,0
How to compare pasted shape in my Computer (copied from shared Document) to find why only source cause PowerPoint close?,"<p>I have a PowerPoint Shape which close PowerPoint pre-maturely. Replacing it with either Paste or Saved-to-file resolve the problem.</p>
<p>I suspect either one of the following causing Pasted Propery to change:</p>
<ol>
<li>Office and Adobe PDF setting of source may be different from mine</li>
<li>How Object is pasted in source document:
a. paste method different from original?
b. decompressed size?
c. compression level?
d. encoding method?
e. bit-per-channel ?</li>
</ol>
<p>How to compare above? VBA does not show above information.
The shape is an embedded picture, Type is # 13, msoPicture</p>
<p>non-programming methods tried</p>
<ol>
<li>saved as image files (PNG) but no difference in dimension, file size, bit depth</li>
<li>difficult to simulate chart because it is custom</li>
<li>create dummy chart from Excel Templates and paste to different formats</li>
<li>Author of this PowerPoint lost this Excel chart which aggravate replication of chart</li>
<li>PowerPoint Export to PDF, then Adobe Export to Image failed because 33cm image is too wide</li>
<li>Acrobat DC PreFlight report is too complex</li>
<li>compare each VBA object property is too time consuming</li>
<li>Microsoft troubleshooting methods</li>
<li>How to get setting(s) used to generate shared Documents? when authors lack skill to provide and, restricted by policy, allow access computer of source document?</li>
</ol>
<p>Workaround which is not solving real problem</p>
<ol>
<li>Change Picture to itself
a.  Go Slide that cause Crashing
b.  Select Picture
c.  Save Picture to Local Drive
d.  Change Picture
e.  Select From a File
f.  Select File saved by Step 3</li>
<li>Split File to two Documents
a.  Unchanged_Slides
b.  Changed Slides</li>
</ol>
<p><a href=""https://answers.microsoft.com/en-us/msoffice/forum/all/powerpoint-crashes-on-specific-file-for-unclear/36c2e17a-739e-473d-9c98-3b413a9866e6"" rel=""nofollow noreferrer"">specific file crash</a>
<a href=""https://support.microsoft.com/en-us/office/powerpoint-crashes-when-you-use-media-in-your-files-ae18ddb8-82ff-4c07-94d1-60a611582327"" rel=""nofollow noreferrer"">Media cause crash</a>
<a href=""https://answers.microsoft.com/en-us/msoffice/forum/all/power-point-crashes-when-using-review-compare/0e51ebf0-3964-4e15-bbd5-76dac904a1a0"" rel=""nofollow noreferrer"">all files crash</a>
<a href=""https://learn.microsoft.com/en-us/deployoffice/fieldnotes/performance-recommendations"" rel=""nofollow noreferrer"">MS recommendations</a>
Another case which is for all files
PowerPoint crashes when you use media in your files - Microsoft Support
Powerpoint crashes on specific file for unclear reason - Microsoft Community</p>
<p>For PowerPoint:
•   Review Tips for improving the performance of your presentation
•   Change resolution to improve speed
•   Make sure hardware graphics acceleration is not disabled
•   Compress media files
•   Reduce the number of transitions and complex animation
•   Don’t use large gradients or transparent objects</p>
<p>Antivirus and security software
Antivirus software and other security agents can have a negative impact on the performance of Office apps. While some level of impact is unavoidable as the software is doing its intended job, in many cases the use of these products can cause major unintended performance problems as the software interacts with other agents, Windows, and Office apps in unexpected ways. While there is no way to eliminate the impact of enterprise security agents, it is possible to mitigate the impact by following a few guidelines:
•   Do an inventory of the security software and agents running in your environment and get rid of any that are no longer needed.
•   Be sure that you are running the latest version of all required security software.
•   Run the Office apps on a device without security agents running and compare performance while running the app on a device with the security agent running, using performance testing guidance. If there is a noticeable (more than a couple seconds) difference, work with the vendor of your security software to determine settings or exclusions that can be configured to mitigate the performance impact.</p>
<pre><code>Option Explicit
Sub ReadPPT()
Dim WB As Workbook
Dim PP As PowerPoint.Application
Dim Pres As PowerPoint.Presentation
Dim SLD As PowerPoint.Slide
Dim SHP As PowerPoint.Shape
Dim PresPath As String
Dim r As Long
Dim sh As Long

Set WB = ThisWorkbook
With ThisWorkbook.Sheets(1)

'Let user select a ppt-file and select its path
PresPath = Application.GetOpenFilename(&quot;PowerPoint Presentations (*.pptx), *.pptx&quot;, _
            , &quot;Open Presentation&quot;, &quot;Open&quot;, 0)

If PresPath = &quot;&quot; Then Exit Sub

'Create ppt-Application and show it
Set PP = CreateObject(&quot;PowerPoint.Application&quot;)
PP.Visible = True

'Open previously selected ppt-file
Set Pres = PP.Presentations.Open(PresPath)
Stop
r = 1
.Cells(0 + r, 1) = CStr(Pres.FullName)
.Cells(0 + r, 2) = CStr(Now)

r = r + 1

sh = 1
For Each SLD In Pres.Slides
    r = 2
        
    
    If SLD.Shapes.Count &gt; 1 Then

        For Each SHP In SLD.Shapes

        
                'To list types
                ' modified https://www.rdpslides.com/pptfaq/FAQ00007_Show_me_the_-Type_of_each_object_on_a_slide.htm
                Dim it As String
            With SHP
                ''''''''''''''''''''''''
                Select Case .Type
                    Case msoAutoShape                          'Type 1
                        it = &quot;an AutoShape&quot;
                    Case msoCallout                            'Type 2
                        it = &quot;a Callout&quot;
                    Case msoChart                              'Type 3
                        it = &quot;a Chart&quot;
                        ' Note that you'll never actually SEE one of these in PPT.  It's an Excel-only thing.
                    Case msoComment                            'Type 4
                        it = &quot;a Comment&quot;
                    Case msoFreeform                           'Type 5
                        it = &quot;a Freeform&quot;
                    Case msoGroup                              'Type 6
                        it = &quot;a Group&quot;
                    Case msoEmbeddedOLEObject                  'Type 7
                        it = &quot;an Embedded OLE Object&quot;
                    Case msoFormControl                        'Type 8
                        it = &quot;a Form Control&quot;
                    Case msoLine                               'Type 9
                        it = &quot;a Line&quot;
                    Case msoLinkedOLEObject                    'Type 10
                        it = &quot;a Linked OLE Object&quot;
                        With .LinkFormat
                            MsgBox (.SourceFullName)
                        End With
                    Case msoLinkedPicture                      'Type 11
                        it = &quot;a Linked Picture&quot;
                        With .LinkFormat
                            MsgBox (.SourceFullName)
                        End With
                    Case msoOLEControlObject                   'Type 12
                        it = &quot;an OLE Control Object.&quot;
                    Case msoPicture                            'Type 13
                        it = &quot;a embedded picture.&quot;
Stop
                    Case msoPlaceholder                        'Type 14
                        it = &quot;a text placeholder (title or regular text--not a standard textbox) object.&quot;
                    Case msoTextEffect                         'Type 15
                        it = &quot;a WordArt (Text Effect).&quot;
                    Case msoMedia                              'Type 16
                        it = &quot;a Media object .. sound, etc.&quot;
                        With .LinkFormat
                            MsgBox (.SourceFullName)
                        End With
                    Case msoTextBox                            'Type 17
                        it = &quot;a Text Box&quot;
                    Case msoScriptAnchor                       'Type # not checked
                        it = &quot; a ScriptAnchor&quot;
                    Case msoTable
                        it = &quot; a Table&quot;                        'Type 19
                    Case msoShapeTypeMixed                     'Type # not checked
                        it = &quot;a Mixed object (whatever that might be).&quot;
                    Case Else                                  'Just in case MS adds some new types
                        it = &quot;a mystery!!! ?An undocumented object type?&quot; &amp; _
                                &quot; Haven't found one of these yet&quot;
                End Select
            End With
            MsgBox (&quot;I'm &quot; &amp; it &amp; &quot; Type is # &quot; &amp; SHP.Type)
                .Cells(0 + r, 2) = CStr(SHP.Name)
                .Cells(0 + r, 3) = CStr(it)
                .Cells(0 + r, 4) = &quot; Type is # &quot; &amp; CStr(SHP.Type)
                If SHP.HasTextFrame Then
                    If SHP.TextFrame.HasText Then
                    Stop
                        .Cells(0 + r, 5) = CStr(SHP.Name)
                        .Cells(0 + r, 7) = CStr(SHP.TextFrame.TextRange.Text)
                    End If
                End If
                r = r + 1
        Next SHP
    sh = sh + 1
    End If
Next SLD

PP.Quit

End With

End Sub
</code></pre>
<p><a href=""https://i.stack.imgur.com/9yydt.gif"" rel=""nofollow noreferrer"">VBA Object Properties does not explicity show  decompressed size,  compression level, encoding method,  bit-per-channel, how it is pasted</a></p>
<p><a href=""https://i.stack.imgur.com/RBlOP.gif"" rel=""nofollow noreferrer"">export resolution of a PowerPoint slide that you want to save as a picture is device dependent</a></p>
",https://stackoverflow.com/questions/75741436/how-to-compare-pasted-shape-in-my-computer-copied-from-shared-document-to-find,"['vba', 'office365', 'powerpoint', 'excel-charts']",38,False,0,0
