There are a lot of use-cases in which you might want to automate web-browser actions. For example to automate tedious repetitive tasks or to perform automated tests of front-end applications. There are several tools available to do this such as Selenium, Cypress and Puppeteer. Several blog posts (such as here) […]
Performance and tuning
Performance problems, the Whys.. and Hows.. around them
Introduction Over the last years, as part of my consultancy experience, I had the chance to work on several assignments tackling IT performance problems. In this post I will try to share my experiences on that topic, considering performance problems that I have faced on several (on-premise, cloud, hybrid) and […]
ADF Performance Monitor New Whitepaper Published
We are happy to announce that we have a new whitepaper on the ADF Performance Monitor. This blog publishes a new whitepaper that gives more information about the architecture, features and implementation of the ADF Performance Monitor. It is updated with the many features of our new major version 9.5. Recently […]
ADF Performance Monitor: New Introduction Video (3:40)
Are you unable to pinpoint frustrating blind spots and recurring problems in your ADF application? This video gives a quick introduction of the features of the ADF Performance Monitor, an advanced monitor specifically designed for Oracle ADF applications.
ADF Performance Monitor: Thread Wait and Blocked Time
Last week we had a new version of the ADF Performance Monitor available – version 9.5. In this blog I will write on one of the new features; thread wait and thread blocked time of requests. Sometimes we cannot explain a poor performance, disruptions, hiccups. If we dive into the […]
ADF Performance Monitor New Version 9.5
We have again a major new version of the ADF Performance Monitor available – version 9.5 ! We have added many new valuable features and improvements. Many overview screens have got a facelift and new charts. In several blogs I will write on them. This blog is on one of […]
Spring: Blocking vs non-blocking: R2DBC vs JDBC and WebFlux vs Web MVC
Spring Framework version 5, released in Sept 2017, introduced Spring WebFlux. A fully reactive stack. In Dec 2019 Spring Data R2DBC was released, an incubator to integrate relational databases using a reactive driver. In this blog post I’ll show that at high concurrency, WebFlux and R2DBC perform better. They have […]
The size of Docker images containing OpenJDK 11.0.6
When running Java applications in containers, you need to be careful with your resources. If you’re not careful with layering your images (for example using Google’s Jib), you can quickly get into disk-space issues, especially when your base image and/or application gets updated regularly. One of the ways you can save […]
Performance of relational database drivers. R2DBC vs JDBC
R2DBC provides non-blocking reactive APIs to relational database programmers in Java. It is an open specification, similar to JDBC. JDBC however uses a thread per connection while R2DBC can handle more connections using less threads (and thus potentially use less memory). This could also mean threads are available to do other […]
HTTP benchmarking using wrk. Parsing output to CSV or JSON using Python
wrk is a modern HTTP benchmarking tool. Using a simple CLI interface you can put simple load on HTTP services and determine latency, response times and the number of successfully processed requests. It has a LuaJIT scripting interface which provides extensibility. A distinguishing feature of wrk compared to for example ab […]
ADF Performance Monitor – Major New Version 9.0 (Part 1)
I’m very excited to announce that we have a major new version of the ADF Performance Monitor – version 9.0 ! We have added many valuable new features; new metrics that can detect and help explain poor performance, disruptions, hiccups, and help troubleshooting ADF applications. Like operating system metrics: the […]
Java Microservices: What do you need to tweak to optimize throughput and response times?
Performance tuning usually goes something like followed: a performance problem occurs an experienced person knows what is probably the cause and suggests a specific change baseline performance is determined, the change is applied, and performance is measured again if the performance has improved compared to the baseline, keep the change, […]
Performance! 3 reasons to stick to Java 8 for the moment
It is a smart thing to move to newer versions of Java! Support such as security updates and new features are just two of them but there are many more. Performance might be a reason to stick to Java 8 though. In this blog post I’ll show some results of […]
ADF Performance Monitor: Error Diagnostics
Application errors are often hard to retrieve, or take a lot of time to resolve. When you are suffering from errors, and have a lack of clarity when errors happen, you would like to have useful error diagnostics for analysis. The ADF Performance Monitor automatically captures detailed diagnostics for each […]
Customer Case: New Server Infrastructure Halves Server Process Time
Recently I was analyzing and troubleshooting the performance of an ADF application. Much was already improved before I came. Due to a very recent new hardware/infrastructure environment, the server and database process time was nearly 50% faster after migration. In this blog I want to show you the impact it […]
ADF Performance Monitor brings performance improvements and Insight at Intris
Intris is the leading Belgian provider of freight forwarding, customs and warehousing management solutions. Headquartered in Antwerp, Intris provides its integrated software and cloud-based solutions to logistics services providers in Belgium and the Netherlands. Ben Rombouts is Chief Operating Officer at Intris. Recently he has written a detailed review on […]
JVM performance: OpenJ9 uses least memory. GraalVM most. OpenJDK distributions differ
In a previous blog post I created a setup to compare JVM performance of several JVMs. I received some valuable feedback on the measures I conducted and requests to add additional JVMs. In this second post I’ll look at some more JVMs and I’ve added some measures like process memory […]
Comparing JVM performance; Zulu OpenJDK, OpenJDK, Oracle JDK, GraalVM CE
There are many different choices for a JVM for your Java application. Which would be the best to use? This depends on various factors. Performance being an important one. Solid performance research however is difficult. In this blog I’ll describe a setup I created to perform tests on different JVMs […]
Monitoring Spring Boot applications with Prometheus and Grafana
In order to compare the performance of different JDKs for reactive Spring Boot services, I made a setup in which a Spring Boot application is wrapped in a Docker container. This makes it easy to create different containers for different JDKs with the same Spring Boot application running in it. […]
Oracle ADF Performance: Top 10 Typical Bottlenecks
In this blog I will discuss the top 10 typical performance problems I see in general in Oracle ADF projects – and will discuss solutions. Top 10 Typical Bottlenecks – Illustrated by ADF Callstacks I will illustrate the top 10 typical bottlenecks with ‘ADF callstacks’ – a feature of the ADF Performance […]
ADF Performance Tuning: A Field Report
Last week I was doing an extensive performance analysis / health check on a large ADF project, with the newest version of our ADF Performance Monitor product. In this performance assessment/analysis I have focused high-level on the most important performance bottlenecks. We could see in the ADF Performance Monitor that end-users experience […]
ADF Performance Monitor: Monitoring with Percentiles
What is best metric in performance monitoring – averages or percentiles? Statistically speaking there are many methods to determine just how good of an overall experience your application is providing. Averages are used widely. They are easy to understand and calculate – however they can be misleading. This blog is on […]
ADF Performance Tuning: Manage Your Fetched Data
In this blog I want to stress how important it is to manage the data that you fetch and load into your ADF application. I blogged on this subject earlier. It is still underestimated in my opinion. Recently I was involved in troubleshooting the performance in two different ADF projects. They […]
ADF Performance Monitor – Major New Version 7.0
We are very happy to announce that a major new version 7.0 of the ADF Performance Monitor will be available from May 2018. There are many improvements and major new features. This blog describes one of the new features; on usage statistics and performance metrics of end-user click actions. A […]
ADF Performance Tuning: Avoid a Long Browser Load Time
It is not always easy to troubleshoot ADF performance problems – it is often complicated. Many parts needs to be measured, analyzed and considered. While looking for performance problems at the usual suspects (ADF application, database, network), the real problem can also be found in the often overlooked browser load […]
ETL using Oracle DBMS_HS_PASSTHROUGH and SQL Server
While I prefer a “loosely coupled architecture” for replication between Oracle and SQL Server, sometimes a direct (database) link cannot be avoided. By using DBMS_HS_PASSTHROUGH for data extraction the 2 other ETL processes (transformation and load) can be configured and administered with more flexibility, providing an almost acceptable level of […]
WebLogic Server: Automate obtaining performance metrics from the DMS
Oracle provides the Dynamic Monitoring Service (DMS) as part of WebLogic Server which is extremely useful if you want to obtain aggregated data of an environment in case of for example a performance test. The data which can be obtained from DMS is extensive. This varies from average duration of […]
Doing performance measurements of an OSB Proxy Service by programmatically extracting performance metrics via the ServiceDomainMBean and presenting them as an image via a PowerPoint VBA module
This article explains how the process of doing performance measurements of an OSB Proxy Service and presenting them in a “performance analysis document” was partly automated. After running a SoapUI based Test Step (sending a request to the service), extracting the service performance metrics was done by using the ServiceDomainMBean […]
ADF Performance Monitor: Support for EJB/JPA (EclipseLink)
Not all Oracle ADF projects are built with ADF Business Components (ADF BC). Some organizations prefer to use EJB/JPA (EclipseLink) instead of ADF BC. The EclipseLink JPA provides developers with a standards based Object-Relational persistence solution. The application still reflects the Model-View-Controller architecture. In this case the model is provided by […]
My first experiences with ThreadLogic
A while ago I came into touch with ThreadLogic. Most of the people whom I was talking about it, did not know the tool. This unfamiliarity with ThreadLogic made me decide to write this blog. I think that every WebLogic Administrator should know ThreadLogic and that it is also a very […]
ADF Performance Monitor: Measuring Network Time to Browser and Browser Load Time
Recently we added a great new feature to the ADF Performance Monitor: network and browser load time information. Now you know exactly every end-user experience of your ADF application, in real-time. You can quickly resolve any performance bottlenecks with this end-to-end visibility. You can even drill down into an individual user to […]
Oracle SOA Suite 12c: The Coherence Adapter
Oracle SOA Suite 12c ships with a new technology adapter, the Oracle CoherenceAdapter. This adapter allows easy integration with a Coherence Data Grid (a distributed cache). The excellent post by Antony Reynolds provides the information required to setup your Coherence cache and get started with the adapter. In this blog […]
Instrumenting, Analysing, & Tuning the Performance of Oracle ADF Applications
Last week I presented at the UKOUG’14 conference on instrumenting, analyzing, & tuning the performance of Oracle ADF applications. Instrumentation refers to an ability to monitor or measure the level of a product’s performance, to diagnose errors and to write trace information. Instrumenting gives visibility and insight of what is happening inside the […]
ADF Performance Monitor: Measuring Slow Network Time
Recently I was implementing the ADF Performance Monitor at a customer site and doing a detailed performance analysis. This customer had severe (and less severe) performance problems but was unable to pinpoint the exact pain points. Frequently, end-users were complaining because they were experiencing first a very good performance (response times […]
10 tips for ADF Application (Module Pool) tuning
Performance tuning is one of the things that is often left behind during development. Project leaders and business owners seem to think it happens on its own or just push it to the background when the deadline comes close. Another thing that doesn’t help is that performance tuning for ADF […]