Performance Benchmarks (FAQ115)

How can I go about testing the performance impact your product will have on my code?

The best way would be to protect what you would normally protect with SLP Services based on your protection/licensing strategy. As noted elsewhere, we do not recommend that you protect your entire application.

Then, run it through a suite of typical customer actions in using your application; probably a test script you already have. Check the total elapsed time, for protected and unprotected. 

If you try to just test any given method before and after protection you will not get a good sense of the customer experience, which is what you want to measure. Your assessment should be guided by a question such as "does the impact of protection on my critical flows push them over the edge into unacceptable response times for my customers?". If the answer is yes, then one would optimize the performance of such flows using one's normal methodology - which may or may not result in reorganizing what one protects. In other words, one should determine the various ingredients of the performance impact by measurement, e.g. using a profiler.

If you do find that protecting some method is the cause of excessive performance impact, you can do some simple things, like creating a new method that controls the access to the problem one and put the protection on that new method. Similarly, if you are protecting something that's invoked a number of times as part of a loop, it may be possible to rearrange things such that the protected element is stressed only once per invocation of the overall process. As usual with these things, its very hard to give general guidance as your mileage will certainly vary.

Generally one will find that compute-intensive methods will be more impacted than say, database access methods.

Link to this

FAQ115

You can link to this item directly, using the shorter URL support.inishtech.com/FAQ115.