Well I'm not running squid, and here's the test script I'm running and the
timing results I'm seeing on my local test wiki:
--------------------------------------
root@bling:~/tmp# cat test.sh
#!/bin/bash
time wget --output-document=index-1.js
"http://192.168.0.64/wiki/index.php?title=-&action=raw&smaxage=0&gen=js"
time wget --output-document=index-2.css
"http://192.168.0.64/wiki/index.php?title=MediaWiki:Common.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000"
time wget --output-document=index-3.css
"http://192.168.0.64/wiki/index.php?title=-&action=raw&gen=css&maxage=18000&smaxage=0&ts=20070129214411"
root@bling:~/tmp#
root@bling:~/tmp# ./test.sh
--12:40:44--
http://192.168.0.64/wiki/index.php?title=-&action=raw&smaxage=0&…
=> `index-1.js'
Connecting to 192.168.0.64:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3,788 (3.7K) [text/javascript]
12:40:45 (212.50 MB/s) - `index-1.js' saved [3788/3788]
real 0m0.237s
user 0m0.004s
sys 0m0.000s
--12:40:45--
http://192.168.0.64/wiki/index.php?title=MediaWiki:Common.css&usemsgcac…
=> `index-2.css'
Connecting to 192.168.0.64:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28 [text/css]
12:40:45 (2.97 MB/s) - `index-2.css' saved [28/28]
real 0m0.198s
user 0m0.008s
sys 0m0.004s
--12:40:45--
http://192.168.0.64/wiki/index.php?title=-&action=raw&gen=css&m…
=> `index-3.css'
Connecting to 192.168.0.64:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 75 [text/css]
12:40:45 (8.94 MB/s) - `index-3.css' saved [75/75]
real 0m0.228s
user 0m0.004s
sys 0m0.004s
root@bling:~/tmp#
--------------------------------------
I.e. total time = 0.237 + 0.198 + 0.228 = 0.663 seconds.
I take it for the Firebug timing values, that you're going Tools -> Firebug ->
Open Firebug -> click on "Net" -> make sure "All" is
selected -> read the timing values for the various scripts?
If so, my times are 10 ms, 150 ms, and 160 ms, respectively for the above 3 files.
However, ajaxwatch.js for me shows as taking 351 ms, which seems rather long.
However, when I try to fetch ajaxwatch on the command line, I get a very different
result:
--------------------------------------
root@bling:~/tmp# time wget --output-document=ajaxwatch.js
"http://192.168.0.64/wiki/skins/common/ajaxwatch.js"
--12:56:20--
http://192.168.0.64/wiki/skins/common/ajaxwatch.js
=> `ajaxwatch.js'
Connecting to 192.168.0.64:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3,916 (3.8K) [application/x-javascript]
12:56:20 (219.68 MB/s) - `ajaxwatch.js' saved [3916/3916]
real 0m0.008s
user 0m0.004s
sys 0m0.004s
root@bling:~/tmp#
--------------------------------------
I.e. only 2.3% of the time that Firebug reports. A 43-times difference like this is an
enormous difference - the difference between
blazingly fast, and pig slow.
Refreshing the page shows that Firebug thinks Monobook.css took 791 ms; however the
command line repeatably shows values between
0.197s and 0.210s.
I think there may be a few problems or explanations here:
* The Firebug times I suspect include the time that Firefox spends client-side processing
the CSS or JS (i.e. not just the time to
fetch from the network). I.e. image rendering times, JavaScript execution times, page
layout times, etc. If that's correct, what
would be useful would be is if the Firebug times separated out network fetch times, and
local client processing times, for each
item.
* The Firebug times do not seem to be as repeatable as one would like for systematic
testing (e.g. total page display times varied
between 2.5 seconds and 3.5 seconds). Part of this may be the Observer effect (i.e.
Firebug is embedded in Firefox, and the act of
observing Firefox and continuously reporting on its rendering times probably makes Firefox
slower, and/or introduces variability).
* I have gzip compression turned on, and probably Firefox uses this, whereas wget probably
does not.
Basically, I'm unsure what to make of the Firebug times, except to say that the times
Firebug reports do not immediately appear to
correlate well with the time taken to retrieve the raw content from the network.
Also, on a related note, for requesting ajaxwatch.js, we should probably be tacking on the
"?52" version string thing somewhere
(which from the Firebug output it looks like we're not currently doing).
All the best,
Nick.
-----Original Message-----
From: wikitech-l-bounces(a)lists.wikimedia.org
[mailto:wikitech-l-bounces@lists.wikimedia.org]On Behalf Of Alex Powell
Sent: Wednesday, 31 January 2007 2:18 AM
To: Wikimedia developers
Subject: Re: [Wikitech-l] Performance of loading custom style sheets
Hi,
No not that. I have a 2 GHz core duo at both ends, runnning no AV software
(!), or anything else. The machine is "sufficient". Wiki pages without those
two (stripped them out) take 180millis by Firebug.
Testing against the wikipedia, it took 200millis on first hit, and then 16
millis on subsiqent. I suspect the squid caches had it in their mits at that
point. The page is pulled with some unusual parameters, I was wondering if
that was pushing the code down an unusual path...
Alex
On 1/29/07, Ashar Voultoiz <hashar(a)altern.org> wrote:
Alex Powell wrote:
Hi,
Mediawiki's performance has improved substantially over the versions.
and
1.9 seems the snappiest yet. When I upgraded I
found I had some slow
stuff
being loaded in addition to MW. Using Firebug
beta (v cool BTW) I
noticed
something odd. The index.php for the page loads
blindingly fast, but the
following:
/index.php?title=-&action=raw&smaxage=0&gen=js<
http://www.exscien.com/internal/index.php?title=-&action=raw&smaxag…
/index.php?title=MediaWiki:
Common.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000<
http://www.exscien.com/internal/index.php?title=MediaWiki:Common.css&us…
/index.php?title=User:Alexp/monobook.css&action=raw&ctype=text/css<
http://www.exscien.com/internal/index.php?title=User:Alexp/monobook.css&…
/index.php?title=-&action=raw&gen=css&maxage=18000&smaxage=0&ts=20070129214411<
http://www.exscien.com/internal/index.php?title=-&action=raw&gen=cs…
> ... seem to run very slowly (one was taking 2 seconds and each take over
> .5secs, on a page that took 16ms to render). What can be done to speed
them?
As far as I can see they are just simple js
direct from the DB. Am I
missing
something or is there a performance hole there?
Get a better computer. Seriously, I suspect firebug is timing the
firefox rendering time (for css) and execution time (for js). Try using
wget, it will be faster (or disable javascript).
--
Ashar Voultoiz - WP++++
http://en.wikipedia.org/wiki/User:Hashar
http://www.livejournal.com/community/wikitech/
IM: hashar(a)jabber.org ICQ: 15325080
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
http://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
http://lists.wikimedia.org/mailman/listinfo/wikitech-l