Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Application Performance Best Practices

Application Performance Best Practices

Q. With respect to logging, how much of a good thing is too much of a good thing?
A.
Logging is a powerful application tool that, in my opinion, has been under-utilized. Many architects may have implemented some sort of a strategy for logging common application events to a text file for debugging. In a few cases, full-featured audit strategies have been implemented for complete documentation of every customer transaction, perhaps for review at a later date. Most of the time, however, logging is being used just to report major warning or error conditions within the application code.

If you haven't looked at the cost of logging to your production application, you will probably be surprised by just how many CPU cycles are burned by it. Look for a long, steady burn rate in your CPU utilization - whatever the CPU utilization of your WLS process "settles" to between any visible spikes. If your WLS instance isn't handling any highly concurrent user loads, this "sizzle" or "baseline" can often be accounted for by the writes to your log file, particularly if you see much of the utilization at the system level of the OS.

One of the most common culprits is unhandled exceptions on core application paths. As any performance primer will explain, exception-handling routines are among the most expensive in any application's code. It gets even more expensive when your handling strategy is to print every single exception - whether meaningful or not - to standard out or standard error. In some cases, Wily has seen customers generating megabytes of logfile every hour - all with the same exception throws from the same use case in the application. I don't recommend doing that.

Once you get unnecessary exceptions out of the logging picture, you should still be thinking carefully about what information, if any, you want your application to be logging to a file. JMX is another great option for handling many of the problems that some architects have only considered logging to solve, but make sure you have thought through what you are going to do with the data you publish via JMX.

Q. Why should I deploy my application as an EAR file?
A.
In most organizations that are currently using Java in production, there are at least a few legacy projects from the early years of Java's development as an enterprise platform. As the Java platform matured, feature and functionality were added to address many of the most common business problems encountered by the early pioneers. With today's full J2EE solution there are a myriad of facilities available that I recommend you take advantage of. To that end, many people have asked me why they should spend their time repackaging old applications.

When confronted with that question, some IT managers protest by saying that they really don't need the ability to run multiple versions of a single application in a single application server. They say that they're happy continuing to get away with the arrangement they have used to date, loading their application code on the system classpath.

There are, however, far more compelling reasons to go ahead and do the work. Perhaps the most important should be fear of the unknown. With even a minor revision to your application server new classes and new versions of classes can appear unexpectedly on your system classpath ahead of your application code. A new revision of an application that has been running perfectly fine, and has gone through all its QA smoke tests without issue, can die inexplicably in production as a result of an uncontrolled change to one of the key classes that it happens to share with the server. Unless you truly know everything that's going in and out of weblogic.jar with each point release of the BEA WebLogic Server, this should scare you. Bugs like these can be extremely difficult to discover.

If you have an environment where you're running more than one application per server instance, then the problem gets exponentially more complicated from there. Repackaging your application as a proper enterprise archive not only shelters you from many of these types of application problems, but allows you to take full advantage of a modern application server's ability to host dozens of different applications without conflict. Build-and-release management becomes less costly and more straightforward when each revision of an application is encapsulated by a single file - you can perform rollbacks more quickly and easily, should they be necessary, and you have the additional peace of mind that any tool that purports to support Java enterprise ought to read your application in this format. Additionally, any future work on your application should become easier as well.

*  *  *

As always, I invite you to send an e-mail to [email protected] if you have any performance-related questions about JVMs, Java applications, BEA WebLogic Server, or connections to back-end systems.

More Stories By Lewis Cirne

Lew Cirne is the founder of New Relic, the first provider of on-demand (SaaS) application management tools for cloud or datacenter applications. A seasoned entrepreneur, technologist, and enterprise software pioneer, he has been focused on application performance management for more than ten years. Cirne holds seven patents related to application performance technology. Most recently he was an Entrepreneur in Residence at Benchmark Capital. He founded and was first CEO of Wily Technology and earlier held senior engineering positions at Apple and Hummingbird Communications.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...