The first thing I would do is to pull the physical SQL statement used by the report. I would run it against the test and production database server and compare the results set response times.
If the production database takes a long time to return the record set, I would Profile / Explain Plan the SQL statement against each database and see what the differences is.
If the is no real difference between the record set response, I would start checking for OS performance issues on the production BI and reviewing the BI production installation (differences between test BI installation).
In P6 database check two things
1. Statistics are gathered for P6 schemas.
2. Background jobs are running. They clean up redundant data from reporting tables.
Details of both are in P6 database administration guide.