I have an API request when posted from a client to a server get executed with a max thread count of 8. I tried to simulate webservice API call using soapUI and I am able to succeed in that task.
Now my task is to perform a simple load test using soapUI. In soapUI, I have an option set the thread count and what I understand from soapUI documentation is threads are virtual users like load generators.
My question is if I run the load test in soapUI with a thread count of 8 will it simulate the server thread process which I described above.
Thank you
Not necessarily (but likely). If your server can handle the requests faster than the client sends them, you won't get 8 simultaneous server threads handling requests.
If you really want to see what's going on server side when load testing a SoapUI TestCase, the easiest option would be using LoadUI Pro, which can show you how many threads are being used by the server.
Source/Disclaimer: I professionally develop LoadUI and SoapUI.
Related
I need to write a load test for a web application which uses the WebSocket protocol for sending some server states to users and in parallel users send requests with data from this server state.
I need a socket client which will listen to the socket and update the current server state and at the same time need to send HTTP requests with data from the current state.
Can implement it on Apache JMeter? If yes may you know some useful articles (not about BlazeMeter parallel controller) or examples?
Or can you advise some tools which better for this target and which can generate a concurrent load of at least 20k users (currently use Jmeter cluster)? Thank you in advance!
One JMeter thread (virtual user) can only execute one Sampler at a time, if you need to run 2 requests at the same moment you need to either need to use 2 different Thread Groups or if you prefer to stay with 1 thread group you can use i.e. If Controller so "even" users would run HTTP requests and "odd" WebSocket or vice versa.
If you need to pass data between threads (virtual users) either use JMeter Properties or Inter-Thread Communication Plugin
I have a requirement to prepare a python script to login to a SOAP interface, run large amount queries using threads, then logout of the SOAP interface.
I have prepared the code it can do below
1. Login to the service for each thread
2. Run the queries
However when I start to send logout using simple request.post method, it does not seem to work most of the time. The sessions left hanging in the server. Any ideas why this is happening. Do I need to use some sort of sessions to bind login and logout sessions together
Issue got resolved. Used combination of Queue, multiprocessing and requests to get this working. Seems issues with threads and requests
I am creating an API for my iOS Native App in NodeJS. I use SailsJS. I would like to get advise for creating a utility function for sending messages to 10000 users. Right now i am using a for loop to iterate through all the 8000 records and sending messges. I am not sure it is a right approach iterate through 8000 user at once. We need to send the message in 2 minutes to all the 8000 users. But right now it takes around 5 - 10 minutes send a message. I know NodeJS is a single threaded language and it can’t utilise more than 1 core.
We have a 4 core cloud server with 8GB Ram
Is there a better way to do this in less time.
What if I use a nodeJS console application to do this.
What If I use a Multithreaded language like Python, Ruby or Java for creating the console app to send message.
What If I use a framework like Django, Ruby on Rails
to create another web-app just sending message.
Is it good and faster to fetch the entire 10000 records and store them in a Javascript Global variable array when I am having 8GB RAM.
Please advise. I want to make the message sending process faster and stable without making the server busy.
You can make use of job queues to delegate task for sending messages.
The rabbitMq has a good reputation on this kind of process.
You can install an instance of RabbitMQ on your server and assign workers to do the jobs.
To get started, you can read on http://www.rabbitmq.com/getstarted.html
It has an adapter available on node which you can also integrate with sails application.
https://github.com/postwait/node-amqp
I hope this helps you achieve the speed you need on your application.
Cheers.
I am still pretty new to NodeJS and want to know if I am looking at this in the wrong way.
Background:
I am making an app that runs once a week, generates a report, and then emails that out to a list of recipients. My initial reason for using Node was because I have an existing front end already built using angular and I wanted to be able to reuse code in order to simplify maintenance. My main idea was to have 4+ individual node apps running in parallel on our server.
The first app would use node-cron in order to run every Sunday. This would check the database for all scheduled tasks and retrieve the stored parameters for the reports it is running.
The next app is a simple queue that would store the scheduled tasks and pass them to the worker tasks.
The actual pdf generation would be somewhat CPU intensive, so this would be a cluster of n apps that would retrieve and run individual reports from the queue.
When done making the pdf, they would pass to a final email app that would send the file out.
My main concerns are communication between apps. At the moment I am setting up the 3 lower levels (ie. all but the scheduler) on separate ports with express, and opening http requests to them when needed. Is there a better way to handle this? Would the basic 'net' work better than the 'http' package? Is Express even necessary for something like this, or would I be better off running everything as a basic http/net server? So far the only real use I've made of Express is to specifically listen to a path for put requests and to parse the incoming json. I was led to asking here because in tracking logs so far I see every so often the http request is reset, which doesn't appear to affect the data received on the child process, but I still like to avoid errors in my coding.
I think that his kind of decoupling could leverage some sort of stateful priority queue with features like retry on failure, clustering, ...
I've used Kue.js in the past with great sucess, it's redis backed and has nice documentation and interface http://automattic.github.io/kue/
Hello guys ive been searching for an answer to this question and was unable to find a suiting solution to my problem.
i have a chat program that has a somewhat advanced gui. The chat program in total consists of two programs a server and a client. ive created a protocol that my clients listens to and reacts depending on what type information it gets.
i have created a class called clientReciver which extends Thread. but i am now confused on how i will get the informaiton that the thread recives and use it in my gui.
and example of this could be how will i get the text that one of my clients sends and add it to my GUI?
It may be worth mentioning that i am using JavaFx Scenebuilder to build my GUI.
Hope someone is able to help be
Best Regards Marc Rasmussen
Hard to advise without details on your custom protocol. See the zenjava blog for some inspiration.
Use a Task to invoke your server from your client. If the result of the client server call is synchronous get the value returned by the call when the task completes. If the call is asynchronous or the server pushes data to the client, set up a listener on the client running in it's own thread and when it gets a result invoke Platform.runLater to feed the result to the JavaFX application thread for UI processing.