Wiki source for ExtremeSlownessWorkaround

Show raw source

=====Extreme slowness for unregistered users=====

>>This issue was [[ | patched]] in the SVN code. Host lookup will be configurable in future releases of Wikka ##1.2##.>>===Symptoms===
For unregistered visitors the Wikka site is very slow while registered (logged-in) visitors don't have any problem. May also cause "Fatal error: Maximum execution time of 30 seconds exceeded in [path]\libs\Wakka.class.php on line 1848".

By default, Wikka does a DNS name lookup for the node an unregistered user is connecting form. If the DNS lookup from the server is slow, this will result in very long response times. For logged-in users such a lookup doesn't take place, so they don't experience such slowness.

===Applies to===
All current Wikka versions.

//will follow//

~&I added an email field mandatory for anonymous user when they enter comments and got rid of the php function "gethostbyaddr" in wikka.php. Nevertheless, I didn't add it for new page creation.

~& You could uncomment the ##gethostbyaddr()## in ##""GetUserName""()## in ##wikka.php##. Everything will work but you will get the IP's of guest visitors instead of the hostnames, when they store a page, for example. This can also be a temporary solution if you're experiencing temporary troubles with the DNS servers. --- -- RobinW

A patch that DrPain posted in the comments of this page that works for most Wikka versions to force it to stop checking DNS for hostnames first is to [[ | find in /libs/Wakka.class.php]] the section:

%%(php) function GetUserName() { if ($user = $this->GetUser()) $name = $user["name"]; else if (!$name = gethostbyaddr($_SERVER["REMOTE_ADDR"])) $name = $_SERVER["REMOTE_ADDR"]; return $name; }%%
and change it to:

%%(php) function GetUserName() { if ($user = $this->GetUser()) $name = $user["name"]; else $name = $_SERVER["REMOTE_ADDR"]; return $name; }%%
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki