A Simple example is when you login to gmail server it touches the application server for validating your request to see if your credentials are authorized and you are a valid user. If you are a valid user then it reaches the DB server to download your data's based upon your network connectivity speed, your mail contents would be downloaded and displayed in your browser.
Irrespective of the domain, application and the purpose of usage by the end users we would not be in a position to explain you how the load can be generated to the server from the end users perspective in real time.
Load to the application can be generated in many ways, it is better to generate the load by capturing a sample business scenario with user doing steps like login, create order, logout from the server. You need to do correlation, transactions, add custom codes if required, synchronization points if required, parametrization with multiple values etc run the script fine tune in vugen for 1 vuser with multiple parameter (user) values, run it in controller for multiple parameter values to make sure your load is properly hitting the server.
At first to you need to find the critical business scenarios for the application, plot it with percentage of users for each scenarios when calculated it should be equal to 100%. WLM (Work Load Metrics) should have Business flows, No of transactions & No of Vusers for each scenarios
You should be good enough in providing think time & pacing to generate proper load in the application, pacing can be calculated by using two parameters they are No of transactions/No of vusers gives you pacing. With out deriving proper pacing you would not be able to generate proper load in to the server, with out proper think time your load to server would be indirect stress testing. No use of testing your performance of application server in that way. You have to be familiar with Run time & Recording settings of Performance Tool either open source & commercial tool.
If you need to know whether you are generating proper load to the server you can analyze the heap & thread dump using open source & commercial monitoring/tuning tools like Jvisualvm, Jprofiler, Jconsole are used for generating heap dump, tools like jps, jstack tools etc can be used to generate thread dump.
In case of server slowness/stuck scenario you can generate thread dump, jvm in java/clr in .net application server hang scenario you can generate the heap dump, You can also configure probe into the server to monitor more deeply into the application server/db servers to fine tune the slow moving methods, sql queries, EJB, Weblogic, Hotspots, JVM, Heap, Threads etc. You can fine tune in DB Servers for sequences, indexes, locks, sql queries, ETL, stored procedures, DWH etc. Monitoring tools like HP Diagnostics, HP Sitescope, IBM BMC, Dynatrace, CA Wily Introscope, network monitoring tools like wireshark, fiddler tools used to monitor Latency, Bandwidth. Load balancer (IP enabled, Round Robin, Least Connections), Firewall, Proxy. Overall architecture is to be understood to generate proper load & fine tune the application.
JVM can classified as heap & non heap further heap can be classified as Eden Space, Survivor Space, Young Generation, Virtual Space I, Virtual Space II, Older Generation (Tenure), Non Heap as Permgen & Pure Native.
To analyze deep into server to know whether you are generating proper/right amount of users load into server would help my configuring JVM in java by using app server log files
To generate load you have to go ahead with Baseline Test (1 user load), benchmark test (15 to 20% of actual user load), Actual test run with 100% user load. This is the procedure to generate the load in to the server.
Irrespective of the domain, application and the purpose of usage by the end users we would not be in a position to explain you how the load can be generated to the server from the end users perspective in real time.
Load to the application can be generated in many ways, it is better to generate the load by capturing a sample business scenario with user doing steps like login, create order, logout from the server. You need to do correlation, transactions, add custom codes if required, synchronization points if required, parametrization with multiple values etc run the script fine tune in vugen for 1 vuser with multiple parameter (user) values, run it in controller for multiple parameter values to make sure your load is properly hitting the server.
At first to you need to find the critical business scenarios for the application, plot it with percentage of users for each scenarios when calculated it should be equal to 100%. WLM (Work Load Metrics) should have Business flows, No of transactions & No of Vusers for each scenarios
You should be good enough in providing think time & pacing to generate proper load in the application, pacing can be calculated by using two parameters they are No of transactions/No of vusers gives you pacing. With out deriving proper pacing you would not be able to generate proper load in to the server, with out proper think time your load to server would be indirect stress testing. No use of testing your performance of application server in that way. You have to be familiar with Run time & Recording settings of Performance Tool either open source & commercial tool.
If you need to know whether you are generating proper load to the server you can analyze the heap & thread dump using open source & commercial monitoring/tuning tools like Jvisualvm, Jprofiler, Jconsole are used for generating heap dump, tools like jps, jstack tools etc can be used to generate thread dump.
In case of server slowness/stuck scenario you can generate thread dump, jvm in java/clr in .net application server hang scenario you can generate the heap dump, You can also configure probe into the server to monitor more deeply into the application server/db servers to fine tune the slow moving methods, sql queries, EJB, Weblogic, Hotspots, JVM, Heap, Threads etc. You can fine tune in DB Servers for sequences, indexes, locks, sql queries, ETL, stored procedures, DWH etc. Monitoring tools like HP Diagnostics, HP Sitescope, IBM BMC, Dynatrace, CA Wily Introscope, network monitoring tools like wireshark, fiddler tools used to monitor Latency, Bandwidth. Load balancer (IP enabled, Round Robin, Least Connections), Firewall, Proxy. Overall architecture is to be understood to generate proper load & fine tune the application.
JVM can classified as heap & non heap further heap can be classified as Eden Space, Survivor Space, Young Generation, Virtual Space I, Virtual Space II, Older Generation (Tenure), Non Heap as Permgen & Pure Native.
To analyze deep into server to know whether you are generating proper/right amount of users load into server would help my configuring JVM in java by using app server log files
To generate load you have to go ahead with Baseline Test (1 user load), benchmark test (15 to 20% of actual user load), Actual test run with 100% user load. This is the procedure to generate the load in to the server.