Have you benchmarked it exactly on your local dev server? Have you tried adding instrumentation to have ad-hoc profiling?
You may also want to consider using a PHP profiler, there is at least one available, APD. This will tell you how long is being spent in each function during the execution of the page.
You can then concentrate on improving the performance of slow bits and ignore the fast parts.
If all the time is being spent in database queries, you may want to improve these by adding indexes as necessary, or restructuring your database to enable these queries to perform more optimally. The latter may require major refactoring.
Incidentially, summing 2 million rows in the database is probably not something you should do on every page (nevertheless, you'll find that provided they don't change too often, MySQL's query cache should make this perform much better than you'd expect).
Mark