Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I recently started development work on an existing web site that has been loading pages extremely slowly. I know that it is being served by Apache, but I don't have any access to the server outside of the directory containing the site. I ran Google Page Speed and YSlow on the site, but there were only minor defects which have little impact on load times. Interestingly, I tried downloading a large file by FTP and then by HTTP; the FTP transfer rate was around 400 KB/s whereas the HTTP transfer was only 20 KB/s (I was on a reliable broadband connection). Does anyone have any idea what is going on here, or even better, how to solve it?

Thanks, Brian

share|improve this question

migrated from stackoverflow.com Nov 17 '09 at 22:23

This question came from our site for professional and enthusiast programmers.

    
Is it as slow when fetching the page using curl or wget ? –  Joy Dutta Nov 17 '09 at 22:03
    
Do the pages reference resources (images, CSS, scripts) hosted elsewhere that might be slow to load? –  SimonJ Nov 17 '09 at 22:11
add comment

5 Answers

It's possible your web host throttles the HTTP connection.

share|improve this answer
add comment

A useful start might be the Firebug extension for Firefox. It can measure the amount of time spent waiting for a request, and the amount of time spent downloading the page.

That might at least indicate if the page generation is slow, or if the page size is too great.

share|improve this answer
add comment

Do you have SSH access to the apache server? If its runs on Linux, check if the resources on the box (CPU, memory) are over-utilized. The top command may be available on your host. Many web hosts have several sites running on the same machine, and one or more of them may be taxing the system. If you have access to netstat, you can also check the number of open apache threads to see if it is higher than usual. Apache is usually configured to run only so many concurrent threads at at time.

Running in a hosted environment should provide a Service Level Agreement of some sort. Have you pursued this issue through a support ticket? Have you considered a dedicated environment?

share|improve this answer
add comment

Saying that you're on a reliable broadband connection means almost nothing in terms of troubleshooting web site\application\network performance issues. Is there latency or packet loss between you and the server? Do the pages load slowly from multiple clients\networks? I know you said that you don't have access to the web server, but the first thing I would do (because I'm a network person and not a web person, therefore I don't know what web related tools to use) would be to put a packet capture program on the web server, start a capture and filter for http traffic, and access the site from a client machine. I would then look at the HTTP client requests and server responses in the capture. If there's a delay in the responses then it's a server problem (because you're running the capture directly on the server, the responses should be almost instantaneous), if there's no delay then it's a network problem.

share|improve this answer
add comment

Is it always slow? It will not hurt to use some free website monitoring like AlertFox to watch it over time...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.