(I'm actually in the process of upgrading a 4.5 site to 4.7 (and eventually 5.x), but my question is specific to the 4.6 to 4.7 step...)
I have done all the standard steps (d/l 4.7 code and appropriate modules that I want) and unzipped them on my server. Rather than doing the 'delete directory and re-create' mechanism I use a symlink to point to the active version (ie: In root directory I have a drupal-4.6 and drupal 4.7 directory and then a symlink called drupal that simply points to the appropriate 'active' version).
Anyway, I have triggered the upgrade.php script. The progress bar moved nicely along to ~55% and then has basically stopped for the past 20 minutes. If i look at 'top', I see apache and MySQL processes running at 65%+ and 35%+ of CPU the whole time.
Now, my test system isn't the most powerful in the world (Duron 700 / 256MB ram) and my database isn't small (5800 nodes, 20000 comments) but after sitting here for nearly 1/2 an hour I'm starting to worry that the upgrade will crap out at some point and leave me in nowhere land.
I guess I'm looking for some confirmation that "yes, it can take that long to perform the upgrade; don't worry about it" or a "Hmm, that is strange, you might have some problems".