Take a look at the scalability group : http://community.qlik.com/groups/qlikview-scalability?view=discussions&start=0
You should also go through the QuickTips posted by Lars Skage:
Data size can alleviated by loading fewer fields, transforming the data smartly. Do you need information by the second or is by day enough? Etc..
1. Understand the business logics and requirements to create the dashboard.
2. Fetch only those fields which required for analysis (i.e) when we fetch the data from table may be it will be having 15 fields, to create the dashboard we need only 7 fields and data of it, remaining 8 fields of data is not used at this situation we dont need of those fields and data for it, so in this case we can comment on those 8 fields.
3. Do limited load of data, for eg this will load first 1000 rows of data only, where you can do the design of dashboard and after finishing the dashboard you can do the full load of data;
Perhaps your application is taking time in order to compute charts not for loading the data ?
Try to avoid the use of IF statement in your dimensions or expressions and use set analysis instead.
Try to avoid count([MyKey]) but create counter field in your table (=1) and then use sum([Counter]).
You can test if it's due to the data or the charts by making a selection before saving the document. If it's quicker to open it when a selection is made, the amount of data is not (totaly) involved.