Skip to content

Performance Tuning

Jonathan Giles edited this page Sep 20, 2019 · 4 revisions

Tuning SSL

By default, the Azure SDKs for Java use standard encryption / decryption algorithms provided by the JDK. This enables the greatest degree of portability, at the cost of lower performance. In testing performed by the Azure SDK for Java team, we find that the performance penalty of using the standard Java algorithms is approximately 30% slower than native algorithms. To include native SSL code in your application, you should refer to the netty-tcnative documentation. Once the correct dependency has been included with your library (i.e. through Maven), the Azure SDKs for Java are able to pick this up with no additional configuration required.

In our testing, we simply used the 'uber' jar in our dependency, as such:

<project>
  ...
  <dependencies>
    ...
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-tcnative-boringssl-static</artifactId>
      <version>2.0.25.Final</version>
    </dependency>
    ...
  </dependencies>
  ...
</project>
Clone this wiki locally