Hi Ahmed,
Did the article John Henry linked to provide any relief with your upgrade issues?
With regards to your question about the best way to upgrade, I would provide this advice: do not perform the upgrade on the live site. Create a separate, identical installation to the live site with its own set of files and database, and upgrade that installation. Test out that installation and make sure everything works as expected. Once everything checks out, you can switch your hosting setup so that your domain name points to the upgraded installation as the new live site.
Before upgrading, it is important to note that our support team strives to provide an response to all posts within 1 business day. That means that our technical support team shouldn’t be used as a first-responder team to an emergency if an upgrade doesn’t go as expected and sends your site offline. As you plan for your upgrade, please take this into consideration.