Jimmy Wales wrote:
2. I propose that we test the site without the
"this page has been
accessed N times" feature.
This is my best guess too. However, it is possible to get from
guesses to knowledge by checking getmicrotime() before and after the
call and log the elapsed time (to stderr?). Wrap each database
transaction in this, and get some statistics on which calls are
worst, rather than removing calls by guessing.
Not knowing more about this specific system, my general experience is
that database locks can eat a lot of wallclock time without consuming
any CPU time. During the delay, the memory allocated by each execution
thread can eat so much memory that a machine starts to swap. I have
no idea if this happens in Wikipedia, but you can monitor disk I/O by
simple programs like vmstat (or iostat on some systems). If this is
the case, adding RAM to avoid swapping is *not* a solution.
--
Lars Aronsson (lars(a)aronsson.se)
Aronsson Datateknik
Teknikringen 1e, SE-583 30 Linuxköping, Sweden
tel +46-70-7891609
http://aronsson.se/ http://elektrosmog.nu/ http://susning.nu/