Re: Why Would Apache be so slow??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In short, what your tests are showing you is that Apache on its own (not quite, but close enough) gives you the file in 20 ms. The rest (the 5000 ms you measured before, minus 20 ms) is the network.
Score : Apache 1, network 249.
That should give you a pretty good indication of what to focus on next.

In many more words :

First about the Apache cache : get rid of it.
The server-side cache will only slow down things for this type of test. It only helps if you have many requests /for the same file/ in a given period of time. If you have only one, then you are just forcing the server not only to send the response to the browser, but also to copy this response to the cache.. You are also forcing the server to look in the cache each time, to see if the file is there. And if it is there, it anyway has to read it before sending it to the browser. In addition, if the cache is in memory, then you are also using up memory that could be better used somewhere else.

Note that it would be much better to do the tests below with a non-graphical barebones test program such as Apache's ab, or wget, or curl, or (my preferred one for this) lwp-request (perl). Then you could write a script which measures the time from the client side, and which repeats the above accesses any number of times automatically. But if you like typing..

Clear the browser cache.
Then try with 3 files, one after the other, with the browser on the same machine as Apache :
 - one fairly small, like the 20KB file you have been testing with
 - one say 250 KB
 - one say 1MB
To be fair and avoid secondary effects, make (or get) an "index page" showing links to your 3 files, and to measure the time right-click on each link and do a "save as..". This way you are really measuring the time it takes Apache to serve it, and not for example the time it takes your browser to display the page, or image or whatever.
Got to eliminate the secondary effects.

I bet that the difference in time, with the browser on the same machine as Apache, will not be very large between the 3 above. I don't remember what mod_logio exactly measures, but if it is the total time between the arrival of the request up to the time the complete response has gone out of Apache, then remember that a) one fixed element is the time to process the request, finding the file etc.. That's the same no matter how big the file. b) the variable element is the time to send the response, which depends on the response size and how fast the line is and ..how fast the client is to read and save the response. With the server-local browser, (b) depends essentially on the speed of your disks. You may want to repeat these tests a number of times, to also eliminate the fact that your server (apart from Apache) also has a disk cache. So the second time you ask for the same file is likely to be faster, independently of Apache. So run the above 3 downloads 5-6 times each at least, discard the first one, then discard the longest and the shortest, and average the rest. You may also want to make sure that there is nothing else significant running on your server, to eliminate those effects (email server ? automatic disk indexing ? automatic updates ?). Etc.. etc...
Running real benchmarks is not so easy.

Anyway, the above times are your baseline.
Now try again the same 3 files with a browser on another machine of your local network. The difference with the first test will give you the time your local network is adding to the baseline.
Then try again, going through your Internet connection.
Then you will see how much that is adding.

When your ISP is renting you a DSL line for 3 Mbit/s, you have to realise that he is also renting the same to your 100 neighbours. But he is not expecting you and all your 100 neighbours, at the same time, to be using the full 3 Mbit/s each. So his line has a total capacity of say 100 Mbit/s at best (instead of 300 Mbit/s), and he figures that on average you and the neighbours will be satisfied. If you read the fine print, you'll probably see that somewhere it says "/up to/ 3 Mbit/s". So if your neighbours are reading this, and trying the same thing at the same time, don't be surprised if several tests show widely different answers.


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux