I had a problem along this line a week or so back. I had to pipe data out from a ssh command into 5 different boxes, and quite understandably I didn't want this command to be run everytime the user hit the page. So I took the results and inserted them into what id call a cache table in the database with a timestamp, and when the user hits the page it checks the timestamps of any data, if any and if it is within the expiry time then simply use the data from there, otherwise flush the old stuff out, if any and again generate the data from the other servers. Not sure if i explained it very well, but using this method has put one of our longest loading pages on par with the rest of them, and the best thing is that it doesnt require a cron script, as it only gathers data on demand and the cache table is self maintaining.