Service Desk Practitioners Forum
cancel
Showing results for 
Search instead for 
Did you mean: 

Application Server tests

Highlighted
Pete Reynolds
Occasional Contributor

Application Server tests

I would like to run some performance tests on a live production app server before I create a second server service instance on it, and then run the same tests after it is installed. I have seen that some people have noticed a 30-40% performance increase, but I am not sure how they were able to gather those results.
I have installed the second server service on a development envirnment but as it is not used very much, I can not see if there has been any perosmance improvments.

Is there a tool that can be run to gather these stats? What areas of HPSD should be enhanced? i.e. loggin on speed, switching screens? Is there anything else that I should look for?

Thanks in advance
8 REPLIES
Robert S. Falko
Honored Contributor

Re: Application Server tests

Pete,

I think the first step in performance analysis is to identify where the bottleneck is found. If your bottleneck is related to your application server, then you might get improvement by installing other application servers. Otherwise, you will probably see little or no improvement.

The factors that will probably make a difference are the number of DB rules and the number of simultaneous users. Your tests must therefore be of realistic situations; you will not see an improvement just by testing one person at a time.

There are 2 client command line arguments, /BENCHMARK and /STRESSTEST, that were created to help in this situation, but I cannot vouch for the usefulness of either. /BENCHMARK tells me that the performance of my system is better than the best - but it ain't marvelous. /STRESSTEST runs a script that exercises the system. It is not easy to get measurements from it, so far I as can tell.

I am sure that any number of standard software measuring tools, such as those in the Mercury line, can help with measurements, so long as you are ready to invest in using them.

Finally, the concept behind multiple application servers is that if you need to get a performance boost on the server, and if you are ready to invest in so much additional memory, the most effective way to allocate that memory is by creating additional servers . Again, this will only help you if the bottleneck is at the server level.

-Josh
Pete Reynolds
Occasional Contributor

Re: Application Server tests

Hi Josh,
Thanks for your quick response.
We do not have a bottleneck, I may have confused matters. We have 6 app servers in a cluster which all seem to run fine. we were given the advise of creating a second service instance but before I do I would like to see how 1 of the servers is working before and after installing the service, does this make sense?
Tim Schmitt_4
Frequent Visitor

Re: Application Server tests

When we installed a second service, we were noticing that scheduled tasks were taking a long to run. The initial symptom was that db rules that were scheduled to run immediately when items are saved and closed would run 30 minutes late. As we began to look at our performance issue, we were able to see that the application servers were only every using about 30% of the CPU power and did not appear to be able to use all the CPU power (We use 2 2.4 dual processor windows servers). We've been told (although I'm not positive this is true) that a single process cannot use both processors in a dual processor machine at the same time, which was a possible explanation for why we were unable to see that Service Desk could not use more than 30% CPU.

You could try to use the sd_event program to create a looping batch program which would automatically create new service calls as fast as the server will accept them. You may need to run a few copies of the program in order to stress the server significantly but you could run the programs for 5 minutes and then measure how many service calls were entered. You could then start the second service and run the sd_event program a second time for 5 minutes.

At the end, you can compare the number of service calls that were able to be entered for a single service mode versus the dual service mode for the 5 minute period.

This ignores a lot of variables (such as submitting other items) and the biggest problem you will have is generating unique ID's for each of the service calls you create through the event program but it would give you a rough estimate, provided that you can run enough of the programs to stress the server in a meaningful way.

If this doesn't increase the speed, I would look at the load level of the database next...

In my opinion, adding a second service helps but if you don't have a problem now, the performance increase may not be noticeable to the end user.
Pete Reynolds
Occasional Contributor

Re: Application Server tests

Hi Tim, thanks for that info, much appreciated. I am a little concerned that your scheduled tasks suffered and were impacted after installing the second instance. Were you able to over come this?
Although our 6 app servers are also dual processors and hardly ever go over 10% cpu.
Pete Reynolds
Occasional Contributor

Re: Application Server tests

Hi Josh, I am very interested in the Stresstest you mention. I would like to run this. However, I assume that you would add the /STRESSTEST to the of the 9% line in the sd_client.bat file. Is this correct?

If so, do you know how I could run this on a test envirnment, with a dev app server and a dev DB.

I only have one sd_client file and can not see how to edit it so it points to the dev app server. Can you help?
George M. Meneg
Honored Contributor

Re: Application Server tests

Hello Pete,

Here are the command line arguments of sd_client.bat

Usage: sd_client.bat [options]

Options:
/? displays this help information
/USERNAME=
/PASSWORD=
/SERVER=
/SETTINGS=
/RESET resets all components to their default
/BENCHMARK shows indications for speed of database, server, network and client
/NOFORMCACHE starts without form cache for memory reduction
/NOVIEWCACHE starts without view cache for memory reduction
/DEBUG shows some debug information
/LOG= {,,...} show debug messages for specified layer
/PURGECACHE purges the local cache
menes fhtagn
George M. Meneg
Honored Contributor

Re: Application Server tests

Forgot to mention,

If your test server runs on different version from production server then you must use /SETTINGS=
menes fhtagn
Pete Reynolds
Occasional Contributor

Re: Application Server tests

Hi George, thanks alot for all those client.bat tools.
I may be missing something though.
Our Dev environment is the same version as production. It is on a seperate DB, seperate DB server and seperate App server. I have a seperate area on my C:\ for my Dev environment, but this only contains folders like lib\cache and files like user_settings.xml.
So I am confused on how to setup the sd_client.bat to look at the this dev environment only.
Do I simply add %8 %9/stresstest and then then when I log on, change the server name?
Many thanks for your help
//Add this to "OnDomLoad" event