Every so often reports will fail and you'll get an error email with the message "Read Timed Out".
This is related to the two-minute callout limit that we have for reports. Unfortunately, this is a hard limit that Salesforce sets for API calls and we cannot increase the amount of time that we wait. So, you'll need to figure out how to improve the speed of the report.
This is not an exact science, but here are a few things that can affect the speed of the report:
The efficiency of the filters: When adding filters to a report, not all fields and filters are alike. Avoid filtering on formula fields. Try to avoid using filter operators such as "contains". Try to add date ranges or filters on indexed fields. You can see which fields are indexed in the Object Manager in Setup.
The amount of data in the report: We get it, you want to include lots of information in your reports. Unfortunately, this is one of the main reasons reports slow down. Try thinking through exactly what your recipients need in the report and getting rid of extra data. For example, do they really need leads for the past 3 months, or can you send a weekly report with leads for the last week? If you can't simplify the report, can you split it into two reports and schedule both of them?
The amount of data on an object: Even if your report only has a few rows, if it's reporting on an object that has millions of records, it's going to take a long time to find those few records that are needed. This is where #1 (the filters) really makes a difference, but sometimes you may need to think through other options. For example, if you're reporting on Tasks but you could get the same results with a Leads with Tasks report, that can save a lot of time. Also, consider talking to Salesforce about some of the options for handling large data volumes - indexing, skinny tables, and divisions.
Report formulas and bucketing: These report features can really help create the report you want, but they are evaluated when the report is generated and can also slow down the report. Try using formula fields instead of report formulas or buckets to see if you can speed things up.
The number of columns: The amount of data in the report can also affect speed. If you have looked through the other options for speed and can't find anything else, try auditing the columns in the report to see if there are some that can be removed.
See more in Salesforce help: Improving Report Performance