Skip to main content

Performance Optimization

Software and Hardware Optimizations

Written by Lenka Haringerová

Our aim when implementing ABRA Flexi Server was to make it as high-performing as possible. However, there are several factors that can affect performance.

First startup

The first request handled by ABRA Flexi takes longer (up to 20 seconds). This is because the accounting core needs to start up. Subsequent requests are significantly faster. Even so, ABRA Flexi still needs a bit of time to "warm up," since it uses Just-In-Time compiler technology, which optimizes the code based on how you interact with it.


Software optimizations

When communicating with the accounting system, it's a good idea to use various optimizations:

  • Every request is authorized. Therefore, send authorization details right away instead of waiting for ABRA Flexi to return a message that authorization is required and then sending the credentials in a follow-up request.

  • When listing data, you can specify the level of detail. You'll get the highest speed using ?detail=custom:.... Only include what you actually need.

  • If you're listing a large amount of data and don't need external identifiers, turn them off using ?no-ext-ids=true.

  • Don't list all relations (?relations=all). Always list only the ones you actually need.

  • If you need to list, for example, all attachments for price list items, use the attachment relation listing. This can give you higher speed.

  • Check that you're not calling the same URL multiple times within a single request (this is surprising, but a very common occurrence).

  • If you need to find out the number of records, use ?add-row-count=true instead of loading all the records.

  • Group similar requests together into one. If you need to load three price list items, use a single request and load all the records at once.


Hardware optimizations

If you're starting to run into performance issues and the application is already fully optimized, the next step is a more powerful and better-configured environment.

⚠️ Before making any hardware changes, get in touch with us — we can advise which steps make sense in your particular case.

Private cloud

If you're running your license in the cloud, we can offer a private cloud that we'll configure to your needs. Within it, we implement the following optimizations in particular:

  • Database and ABRA Flexi Server on a single physical machine. Network communication with the database reduces performance.

  • Sufficient memory for the system.

  • PostgreSQL database optimization.

  • Higher disk performance.

  • More processors.

💡 Want a custom private cloud? Reach out for an individual quote at obchodflexi@abra.eu.

Your own installation (on-premise)

The same approach can be applied to your own installation — it's the same steps, just carried out on your own hardware and under your own management.

Did this answer your question?