These issues are often hard to trace back to it's origin. Here are a few things you can do to try and figure out where the problem is exactly.
One simple trick is to create a fairly sizable but not huge HTML file and put it in the web space. You can optionally include a couple of sizable but not huge images in the HTML file. You can ask if your users (that are having trouble) to access this page several times over a period to make sure that the page loads as it should. This will tell you a few things; that the issue is not a network issue, it is not a browser issue (generally), and that it is not a web server issue.
If these simple tests go well, then I would be looking at two other things.
If your page renders slowly, then you will want to look at what causes this. If, for example, a database query is occasionally slow, you can look to your database server for answers. Not knowing SQL Server anymore, I can tell you that MySQL has a slow query log that can be enabled. Some installs have this feature enabled during install. It does require a restart of the server to enable this feature, but is a good idea to do from time to time to tune slower queries (anyhow) so it is something to consider when changes are made.
Lastly, there is always a network issue that may exist. It can be obscure. I use WireShark when I have issues to analyze. This is too huge and technical to discuss, but once the problem occurs, you should be able to parse the network traffic to determine if there are any errors along the way. For example, I used WireShark to determine that my new firewall was fragmenting DNS queries that would occasionally fail causing problems and being quite frustrating. I was able to view the DNS query traffic to determine that an authority required bit was set (which is not normally bad) and the query was fragmented not allowing an authority look-up to succeed without specifying a trace. Without the authority required bit set, the DNS query would return a non-authoritative response if possible even if the request was fragmented. But DNS queries for authoritative responses require that the DNS query not be fragmented. Hence the problem. You may have an issue that is that obscure. It may be difficult to find. Let's hope not!
It can be very frustrating to have a customer experience these issues. I know! It is like having egg on your face, but as we in the IT world know all too well, these things happen from time to time. The key is to analyze the issue to know where to look and resolve the problem quickly. Duh! But it is also important that your customer see you go to extraordinary lengths to solve the problem and exactly how technical and obscure it can be. They may not understand it, but they will appreciate the sweat equity in solving the problem and your clear expertise in tracking the problem down. Heck! They may bake you a cake or buy you a beer! Now wouldn't that be nice? As the great and illustrious Homer said (Simpson that is), "Hummmmm cake." In fact, I think he also said "Hummmmm beer."