If you are using queries with AEM repository, start looking at indexing.
Look at the rest calls you make to backend systems from AEM. Try to analyze if there is any latency with backend rest call responses. Configure http max parallel connections and time outs for the back end rest calls.
Other way is to call the rest api directly from client js code with bypassing the request to go through AEM.