Look into "keep alive" services to keep your site loaded. ASP's default behavior is to unload the site after 20 minutes of inactivity. That is the compile issue and is common to asp.net websites, not just DotNetNuke.
But, if the site loads slowly from Taiwan and not slowly from New Zealand, I would suspect that network connectivity is an issue. How does it load from the US?
You will also want to check to make sure that you have done everything that you can for performance. I always refer to Mitchel Sellers' blog for advice on this topic. See mitchelsellers.com. You can also look here:
DotNetNuke Performance and Http Compression.