1. A method comprising: a) generating a trace of at least one transaction of a live workload in a database system, the trace indicating buffer cache accesses, I/O requests, database scheduler events, operating system scheduler events, and stored procedure invocations; b) generating an I/O request stream of a virtual hardware configuration based upon at least a portion of the trace; c) generating an I/O service time of the at least one transaction on the virtual hardware configuration based upon the generated I/O request stream; d) generating a CPU service time of the at least one transaction on the virtual hardware configuration based upon the trace; e) predicting performance of the database system having the virtual hardware configuration based on the I/O service time and the CPU service time.