Application user experience is a key part of overall user satisfaction. The worst part of a user experience is waiting for a result. I want to share how I dramatically improved performance of the Java back-end service that provides map data for my service LLmaps.
LLmaps works like any other web-based service. You visit a page with your web-browser, enter required data and wait for a result. Data are sent via REST-based API to Java web-server that runs a computation based on pre-computed map data. The initial architecture is on the following diagram: