I'm getting incredibly slow responses from the main Wikipedia now and
in the last few days. Why is this? Who is working to fix it? How
can I help?
The request
GET /wiki.png HTTP/1.1
Host: www.wikipedia.com
is lightening fast. But
GET / HTTP/1.1
Host: www.wikipedia.com
can take well over a minute to return. This is strange, since the
start page is seldom updated and could easily be cached in HTML, ready
to send to any client.
Simple but useful measurements can be done with the Linux commands:
time lynx -dump http://www.wikipedia.com/wiki.png >/dev/null
time lynx -dump http://www.wikipedia.com/ >/dev/null
I can run this at regular intervals and report statistics to you, if
this is interesting.
I have worked with finding and removing transaction response time
bottlenecks in C++, Java, and Perl applications, but never in PHP, so
I don't know how hard it is. My general approach is to look at the
system clock when a new request comes in and then again at various
points in the execution path, to find the point where more than 3
seconds have passed. If the code has a function for writing a debug
or trace log message, that is the place to look at the system clock.
Who can do this? Can I assist you in any way?
--
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/
The next thing that bugs me most about the current PHP code is
the stylesheet/skin handling, so I'm thinking about tackling that.
But I'd like to get some feedback on some potential changes:
First off, we're currently using inline stylesheets instead of
linked stylesheets. The latter would reduce bandwidth while
allowing more customization, and clean up the code considerably.
Is there any popular browser that chokes on linked stylesheets
and might therefore be a reason to retain them?
I want to make each skin a PHP object type, each of which
inherits from a common base type (and possibly one of its
subtypes). Is there a way in PHP to only interpret the class
definition code on-the-fly for the needed type? For example,
if our user has chosen the Startrek skin, can we avoid loading
the file that defines the Cologne skin object? This might
require getting tricky with include() and defining classes
within a outer class def, and I just don't know PHP that well.
Any other gotchas I should know about?
--
Lee Daniel Crocker <lee(a)piclab.com> <http://www.piclab.com/lee/>
"All inventions or works of authorship original to me, herein and past,
are placed irrevocably in the public domain, and may be used or modified
for any purpose, without permission, attribution, or notification."--LDC
Jason,
could you check whether the wikipedia mysql database server is logging
all requests? That could be a reason for the slowdown. It would be a
huge fast growing file called *.log somewhere in mysql's directory.
Axel
Maybe I missed something, but I don't see anything
regarding the PHP conversion of the Esperanto
wikipedia. Can someone give me an update as to when
this is scheduled to happen?
Thanks,
Chuck
=====
Come to my homepage! Venu al mia hejmpagxo!
http://amuzulo.babil.komputilo.org/
====
Venu al la senpaga, libera enciklopedio
esperanta reta! http://eo.wikipedia.com/
_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com
Sorry I didn't see this one before I gave you the big patch.
It's a one-line fix for my new DL code that didn't show up in
my testing until today. In addition, I went ahead and asked
Magnus to give me CVS access so I won't have to bug you anymore.
(Attached)
--
Lee Daniel Crocker <lee(a)piclab.com> <http://www.piclab.com/lee/>
"All inventions or works of authorship original to me, herein and past,
are placed irrevocably in the public domain, and may be used or modified
for any purpose, without permission, attribution, or notification."--LDC
Patch file attached.
--
Lee Daniel Crocker <lee(a)piclab.com> <http://www.piclab.com/lee/>
"All inventions or works of authorship original to me, herein and past,
are placed irrevocably in the public domain, and may be used or modified
for any purpose, without permission, attribution, or notification."--LDC
I have now set up http://test.wikipedia.com as the php version of
pl.wikipedia.com. I hope I did it correctly. I suppose some people
will need to test it now...
Of course, this is just a "test" site. Any changes to the content of
the pages will be lost when a final migration is done.
--
"Jason C. Richey" <jasonr(a)bomis.com>
The attached context diff contains fixes for the source file
wikiPage.php, with these changes:
- Now accepts "JPG", "PNG", etc., in uppercase as image names.
No longer accepts "tif" or "tiff"--that's not an appropriate
format for web images, so they'll just be rendered as links.
- Removes HTML comments from wiki text before rendering, so they
can be used to leave comments _about_ the wiki text.
- Major reworking of the code that handles p/pre/ol/ul/dl. Old
code basically ripped out and replaced; now produces clean HTML,
compact dls, handles nesting better, etc. I've tested this
pretty extensively on my own server without problems, but it
is a major change, so you might want to schedule installation
for a time when Jimbo or Jason is available to roll it back if
I missed something.
Is there a tool that will reformat PHP code the way "indent"
does for C code? This code is a real mess in places.
--
Lee Daniel Crocker <lee(a)piclab.com> <http://www.piclab.com/lee/>
"All inventions or works of authorship original to me, herein and past,
are placed irrevocably in the public domain, and may be used or modified
for any purpose, without permission, attribution, or notification."--LDC