I did a page load and then refreshed each page 2 more times.
I think the reason there is such difference between subsequent requests is because I am running APC (Alternative PHP Cache) which basically caches compiled PHP scripts in memory for some time.
Also I want to note that the VPS that I have is really good. I benchmarked it a bunch of times with WHT benchmarking tool and compared the results to others who posted to WHT forums and the resuts are outstanding. I use slhost.com for VPS.
I have a feeling the mysql is not well tuned.
So here are the log results:
Homepage:
Parse Time: 2.294 - Number of Queries: 156 - Query Time: 0.17747168765259
Parse Time: 0.510 - Number of Queries: 143 - Query Time: 0.086328308471679
Parse Time: 0.465 - Number of Queries: 142 - Query Time: 0.052989806533814
Category product listing (9 products per page):
Parse Time: 5.551 - Number of Queries: 490 - Query Time: 0.70459886512756
Parse Time: 0.348 - Number of Queries: 489 - Query Time: 0.17037248970032
Parse Time: 0.312 - Number of Queries: 490 - Query Time: 0.13764249580383
Product Page:
Parse Time: 0.351 - Number of Queries: 293 - Query Time: 0.073278934677124
Parse Time: 0.290 - Number of Queries: 293 - Query Time: 0.076099732574463
Parse Time: 0.290 - Number of Queries: 293 - Query Time: 0.074768521148682