for tuning an essbase database a consultant may use a day or more. Not something to be handled properly in a forum.
What we can do here is to give you some guidelines.
Calculate only what is necessary. Data which have been calculated and are not changed, do not need to be recalculated. Data which will be modified in a next step, should not be aggregated and then be aggregated again.
When you calculate, much is related to to the block size and how fast Essbase can get the blocks into memory and back to disk. So optimize the blocks (dynamic calc on the parent members, label only on where no data storage should take place).
Then optimize the calculation. Work with parallel calculation. And test, test, and test.
Would you kindly post your cqlculation script syntax?
also how many sparse and dense dimensions are there? Of the member numbers you mentioned above are those all the stored members?