1. A computer-implemented method comprising: generating, by at least one processing unit, a live hardware trace of at least one transaction performed live on existing hardware resources of a database system, the existing hardware resources comprising a CPU, a memory having a buffer cache, and a disk, the live hardware trace indicating operations performed by the existing hardware resources of the database system while generating the live hardware trace, including accesses to the buffer cache of the memory, I/O requests to the disk, and CPU scheduler events; generating an I/O request stream for a virtual hardware configuration, the I/O request stream corresponding to the live hardware trace, the virtual hardware configuration reflecting at least one hardware resource that is different than the existing hardware resources of the database system; predicting an I/O service time of the at least one transaction on the virtual hardware configuration based upon the I/O request stream corresponding to the live hardware trace; predicting a CPU service time of the at least one transaction on the virtual hardware configuration based upon the live hardware trace; and predicting performance of the database system having the virtual hardware configuration, including the at least one hardware resource that is different than the existing hardware resource, based on the predicted I/O service time and the predicted CPU service time, wherein predicting performance includes predicting latency of the database system having the virtual hardware configuration.