# performance-decision-flow\.s

## Owner: [Thibaut Guedou](https://github.com/thibautguedou3)

## Checks

* Back-end:
  * Your requests take less than 500ms to complete
* Front-end:
  * Your pages take less than 2s to display
  * No visible lags
  * Every action has instant visual feedback

## Do you know how to investigate your performance issues?

### General

1. [Simulate a network like LTE, 3G or Edge with an iPhone in hotstop](https://bamtech.gitbook.io/dev-standards/performance/front/simulate-network-iphone.mo)

### Backend

1. [How to investigate a general backend performance issue](https://bamtech.gitbook.io/dev-standards/performance/backend/how-to-investigate-performance.mo)
2. [Python investigation tools](https://bamtech.gitbook.io/dev-standards/performance/backend/python-investigation-tools.mo)
3. [Output SQL Alchemy ORM query](https://bamtech.gitbook.io/dev-standards/performance/backend/output-sql-alchemy-orm-query.mo)

## Now that you investigated, can we help you?

### Backend

1. [Cache your routes using varnish](https://bamtech.gitbook.io/dev-standards/performance/backend/cache-routes-using-varnish.mo)
2. [Serve images as static files](https://github.com/bamlab/dev-standards/tree/6f2accdb76c138f4fd0946ee2557c21b2d2d66e9/performance/backend/serve-images-as-static-files.mo)
3. [Minimize your number of SQL queries](https://bamtech.gitbook.io/dev-standards/performance/backend/minimize-number-sql-queries.mo)

### Front

1. [Build performant application](https://bamtech.gitbook.io/dev-standards/performance/front/react-native-performance.s)
2. [Investigate performance issues](https://bamtech.gitbook.io/dev-standards/performance/front/how-to-investigate-performance.mo)
3. Pure components **-> \[To do]**
4. [Optimize the render time of lists, tables and charts](https://bamtech.gitbook.io/dev-standards/performance/front/table-and-chart-with-good-performance.mo)

## Have you a mean of keeping the performance under control?

### Backend

* [Monitor your backend performance with K6](https://github.com/bamlab/performance-monitoring)

## Good examples

> Please andon and/or create an issue if you need one!

## Bad examples

> Please andon and/or create an issue if you need one!
