Hello, I’m relatively new to performance testing. I’m looking to compare the performance of Node.js and Spring Boot applications.
Can you recommend the most appropriate testing methodology to determine which technology offers faster response times? Should I conduct spike tests, stress tests, or simply simulate a specific number of requests using various HTTP methods?
Additionally, would it be better to employ multiple threads/virtual users, or is a single instance sufficient for my testing needs?
Any insights or recommendations would be greatly appreciated. !
For context, I’m no expert of load testing, by any mean. But my hunch would be that… it depends: on the kind of operations your application performs, the traffic it recevies, its architecture and network topology.
However, a good starting point would probably to create a test that reproduces the canonical workflow that your application supports. For instance if you had an ecommerce website, I would recommend looking at the typical path and actions users take on your website, and build a test script that reproduces that (both at the protocol level (k6/http, k6/websockets etc.), and at the browser level (k6/browser).
With such test, I would strive to go for your performance target in terms of how many concurrent users would use the application on an average day, and how many workflows per-second would need to be executed.
Based on that I would configure the test to reproduce those numbers, and run it for a reasonable amount of time (say 20-30 minutes), in order to avoid “local” deviations in performance. First with the existing application, then with the new implementation (make sure to be as close as possible in terms of execution as the baseline).
This should give you a good starting point I believe. Keep in mind that there might be much more complexity involved in an existing production application, than in a toy prototype for a new technology, and that will impact results.
Hope this helps, let me know if I can help any further