Reduce memory footprint of a microservice: Microservices footprint and business logic should be small. This way the performance will increase.
Design Microservice Architecture for Performance and Security: A Microservice should be designed for a specific business requirement and should be designed for performance and security from start.
Cache OAuth Tokens: OAuth tokens are costly, and time-consuming to generate and are used to secure microservices.
Use Asynchronous Non-Blocking Requests wherever possible: Asynchronous requests are non-blocking.
Cache Database queries: Database queries and responses should be cached for non frequently changing data in the Database.
Use Database connect pooling: Database connection pooling allows to use same Database connection for several requests.
Use Server-side caching: It is recommended to use cache for caching the response of microservices depending on request parameters.
Use best practices for the technology behind microservice business logic: Design and build optimized code for technology stack chosen for business logic behind microservices.
Use the right data source: Microservices response time depends on Data source response time. Moreover, there are Data like structured(eg. Product name, description) and unstructured data(eg. Images, videos), which need to be stored in different data sources.
Use Search Engines like Solr/Endeca: Search engines give optimized and fast responses to requests. Therefore, use search engines to index and query data like products, prices, etc.
Throttling the services: Throttling or fixing the number of requests that hit a service at a certain point in time helps in the availability of service. There are load balancing applications that handle this use case well.
Scaling: Scaling up and scaling out are two recommendations to handle the increased load on microservice. .
Use Database clustering: Database clustering with load balancing allows the database to give a faster response to queries.
Reduce background processes: Certain microservices are required to perform some background logic.
https://dzone.com/articles/performance-tuning-in-microservices