Stabilizing & speeding up compilation and annotation processing in Maven builds

Stability and performance of a build is a critical point when a project dealing with a large codebase and is composed of many developers. A better stability can be achieved by limiting the amount of resources that are platform or environment dependent. Performance, when working on projects that are several years old, and have dozens developers working on it, can be regularly threatened by a significant growth of its codebase, making performance issues start arising in various areas. In this article, we will cover a configuration change that will help ensuring a better build stability, along with helping in performance (effects can be different depending or current tools used). [...]

Load testing enterprise applications efficiently (3/3)

Tools orchestration

We have seen an overview of all necessary tools separately. A bash script file will orchestrate all tools together and will generate a report.

This report is then uploaded on our intranet so every one can consult and comments the results. In our case we use a confluence specific command line tool to [...]

Load testing enterprise applications efficiently (2/3)

Second part of the series, this entry focuses on tools to measure and visualize the load on our infrastructure (hardware, jvm, network,…). [...]

Load testing enterprise applications efficiently (1/3)

Load testing an application has often been underestimated for different reasons by developers or by IT managers. Most tests typically rely only on unit test or on quality assurance teams that focus more on functional and on non-regression tests. In such cases, it can happen that the program’s behavior once deployed in a production environment will show poor performance or unexpected bugs that never happened before. This article will describe how you can setup an efficient load testing environment using cost free tools. [...]

Identifying performance bottlenecks in multi tier applications

In a multi tier application, it is often difficult to have a global overview of the time spent in the different layers for a request. Read what tools can be used in this process, and how they can be combined to get a global overview of the system. [...]