Saturday 9 August 2008

Apex Performance Testing (or great for washing your underwear)

I was talking about Oracle Application Express with a friend who works for a large American bank, and he told me that they'd looked into using it for a new project they were working on and eventually decided against it. Interested, I asked him why, and he said that they'd carried out some performance tests and Apex had come out poorly in them. He said their load testing had revealed that Apex began to creak and stutter when you put it under a lot of strain.

I do not have the resources to carry out tests of my own, and so I must admit that what he said worried me a lot. The application I'm currently writing is intended for a small band of users, but if it is successful that number might ramp up pretty quickly. Should I be concerned? I hit Google, but couldn't find anyone else who seemed to have reached similar conclusions to my friend. Do you, dear reader, know of any tests that have been carried out showing how well Apex performs under pressure?

My friend's bank had a look at Oracle ADF, but eventually decided to go with Spring. Have you noticed how, these days, software companies seem to steal names for their products from brands of bottled water? I'm sure I've drank Spring Bottled Water before; and there must be an Apex Bottled Water somewhere too. And can't you just imagine the adverts for Vista? Vista Bottled Water: Good for drinking, even better for washing your underwear in.

2 comments:

Patrick Wolf said...

Hi David,

I don't know with how many concurrent users your friend did the performance testing but I know at least a few APEX applications which have way more a normal business application will ever have.

-) Metalink for example has for sure a lot of concurrent users
-) I know of an application for German T-Punkt which has 5000 users and is used in there shops
-) ThinkQuest from Oracle (http://www.thinkquest.org/), I think I read somewhere that they did extensive performance testing with a lot of concurrent users.
-) apex.oracle.com which gets a lot of hits with commodity hardware.

It would be really interesting how your friend did the scalability testing, because if he doesn't pay attention each request could generate a new APEX session (cookie and URL have to match) which for sure would have an impact on performance.

It would be interesting if a Java J2EE application scales really better. Sure you can add more and more application servers, but in the end you have to go to the database to get your data. Only a small amount of data is really cacheable. So the database is always your bottleneck for scalability...

Just my thoughts
Patrick

Patrick Wolf said...

I forgot to mention ARIA, the people information system used internal by Oracle. I'm sure 70.000 employees will put a lot of pressure onto such a system.

Patrick