Here is a list of best practices which we strongly recommend to follow to get the best results, performance and best end-user experience.
Keeping a reasonable amount of indicators and attributes inside a single data set may help the end users to keep their analytics in a well organized form. The recommended amount of attributes/indicators defined within one data set is 100. Generally having more than 100 objects inside one data set is an anti-pattern, the same when having more than 10 views inside one report. There must always be a way how to define the reports and data set in a more efficient way - having more data sets and more reports to reduce the complexity of a single data set and a single report.
Having more than 50 indexed attributes (indexed = intended to use for aggregations and filtering, string, date, time, geopoint) can have an impact on the report calculation response times. We recommend to carefully distinguish between indexed and not indexed attributes on the import settings stage. Descriptive attributes like long texts or GeoJSON should use appropriate attribute types.
It is recommended to limit the number of views in each report to 10. Users are encouraged to use Folders or Custom menu to enhance the end-user experience.
When you are running multi-domain cloud with multiple instances, make sure that users do not define custom limits for attributes in tables which are used for exports. In case they are running many exports with large tables, performance issues might appear. This point is not related to single domain installations.