Performance, Scalability and Architecture

Andreas Grabner

Subscribe to Andreas Grabner: eMailAlertsEmail Alerts
Get Andreas Grabner via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Andreas Grabner

Have you seen this error message before "java.sql.Exception: ORA-00060: deadlock detected while waiting for resource"? This is caused when parallel updates require locks on either rows or tables in your database. I recently ran into this exception on an instance of an IBM eCommerce Server. The first thought was that there are simply too many people hitting the same functionality that updates Sales Tax Summary information - which was showing up in the call stack of the exception: Exception stack trace showing that createOrderTaxes ran into the deadlock issue on the database The logical conclusion would be to blame this on too many folks accessing this functionality or outdated table statistics causing update statements to run too long causing others to run into that lock. It turned out to be caused by something that wasn't that obvious and wouldn't have shown up in a... (more)

Love or Hate Flash?

Are you serving .SWF files from your web server and getting complaints from your end users that your flash app is "just slow?" Or has your Ops team wondered why you see such high web request response times for some of the web service calls executed by your Flash Client? I was just working with a bank that uses a Flash Component for one of their internal risk management applications. For years they wondered why users were complaining about very slow response times when executing, e.g., a "Credit Worthiness" check. Our teams helped them figure out the root cause of the performance... (more)

Web Service Monitoring 101: Identifying Bad Deployments

Have you ever deployed a change to production and thought "All went well - Systems are operating as expected!" but then you had to deal with users complaining that they keep running into errors? When deployments fail you don't want your users to be the first to tell you about it: Sit down with the Business and Dev to define how and what to monitor We recently moved some of our systems between two of our data centers - even moving some components to the public cloud. Everything was prepared well, system monitoring was set up and everyone gave the thumbs up to execute the move. ... (more)

When It REALLY Is the Database to Blame for Bad Performance

Far too often "the database" is blamed for impacting performance and scalability of applications. In many cases, however, it turns out that it's not the database itself, but the way the database is accessed by the application. Common problem patterns are requesting too much data, inefficient queries, lack of data caching, and waste connection usage, for example. But, there are cases where the database is to be blamed. This is the scenario of the following story one of our customers shared with me: The company runs 4 JVMs in a WebLogic cluster with each of them having a connecti... (more)

Don’t Trust Your Log Files: How and Why to Monitor All Exceptions

I would say that only one out of a million exceptions thrown in an application actually makes it to a log file - unless you run your application in verbose logging mode - Do you agree? No? Here is why I think that is: because most exceptions are handled by your code or by the frameworks your app uses. Here is a chart from an enterprise application showing that there are about 4000x more custom application exception objects thrown than important log messages written: 4000 times more Exceptions than log messages: Can they be ignored? What's their impact? Why worry about these ex... (more)