Page 1 of 1

Excessive amount of temporary file creation

Posted: 2010-02-08T23:46:25-07:00
by Perupedia
Yes I have looked for this topic on this thread before and found little help which is why I am bringing it up again.

Recently I received the following letter from my hosting provider, godaddy;
It has come to our attention that your hosting account for karikuy.org is causing an overload of the shared resources on this server. This, in turn, affects the server performance for other customers. We have migrated your site to a new server to provide you time to resolve the issue.

Unfortunately, we are not able to troubleshoot custom scripting and therefore, we are not able to provide specific solutions. However, the following files have been accessed the most and should be a starting point for further troubleshooting. Keep in mind, these files may not be the root cause of this issue.

It appears your scripting is using imagemagick which is causing an excessive amount of temporary file creation. If imagemagick is not required, please disable it. If it is required, you will need to resolve this issue immediately. If this issue is not resolved by 14 FEB 2010 11:00 AM MST (GMT -7:00), your account may be suspended to protect the overall health of the server.

./perupedia/LocalSettings.php
./perupedia/config/LocalSettings.php
./perupedia/config/index.php
./perupedia/includes/DefaultSettings.php
./perupedia/includes/media/Bitmap.php
I can't figure out if there is a line of code that I must include in one of my mediawiki php's or not, I am stumped with godaddy providing no support for your software that they include on their linux servers. any help would be much appreciated!

Re: Excessive amount of temporary file creation

Posted: 2010-02-09T07:22:11-07:00
by magick
Do you have a private area on disk you can store files? By default, ImageMagick stores temporary files in /tmp which is most likely a shared resource. You can set the MAGICK_TMPDIR environment variable to point to your private disk and the temporary files are created there instead.

Check the size of the temporary files created by ImageMagick (they all start with magick-XX). If they are excessively large there may be a problem with your scripts.

Re: Excessive amount of temporary file creation

Posted: 2010-02-09T14:58:19-07:00
by Perupedia
ok last night I added the following code:

Code: Select all

$wgImageMagickTempDir = "{$IP}/images/temp";
is that all I need to do to stop the problem or at least point the problem to my own hosting account?

these scripts you talk about that inflate the temp directory, where can I find and fix them?

All I am working with right now is the localsettings.php which looks like this:

Code: Select all

<?php

# This file was automatically generated by the MediaWiki installer.
# If you make manual changes, please keep track in case you need to
# recreate them later.
#
# See includes/DefaultSettings.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# http://www.mediawiki.org/wiki/Manual:Configuration_settings

# If you customize your file layout, set $IP to the directory that contains
# the other MediaWiki files. It will be used as a base to locate files.
if( defined( 'MW_INSTALL_PATH' ) ) {
	$IP = MW_INSTALL_PATH;
} else {
	$IP = dirname( __FILE__ );
}

$path = array( $IP, "$IP/includes", "$IP/languages" );
set_include_path( implode( PATH_SEPARATOR, $path ) . PATH_SEPARATOR . get_include_path() );

require_once( "$IP/includes/DefaultSettings.php" );

require_once('extensions/Cite/Cite.php');

require_once('extensions/Cite/SpecialCite.php');

require_once('extensions/ExtensionFunctions.php');

require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );

require_once($IP.'/extensions/InputBox/InputBox.php');

require_once "$IP/extensions/CrossNamespaceLinks/SpecialCrossNamespaceLinks.php";

require_once("extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");

require_once("extensions/wikihiero/wikihiero.php");

require_once($IP.'/extensions/Poem/Poem.php');


# If PHP's memory limit is very low, some operations may fail.
# ini_set( 'memory_limit', '20M' );

if ( $wgCommandLineMode ) {
	if ( isset( $_SERVER ) && array_key_exists( 'REQUEST_METHOD', $_SERVER ) ) {
		die( "This script must be run from the command line\n" );
	}
}
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;

$wgSitename         = "Perupedia";

## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs please see:
## http://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath       = "/perupedia";
$wgScriptExtension  = ".php";

## UPO means: this is also a user preference option

$wgEnableEmail      = true;
$wgEnableUserEmail  = true; # UPO

$wgEmergencyContact = "XXXXXXXXXXXXXXXXX";
$wgPasswordSender = "XXXXXXXXXXXXXXXXXX";

$wgEnotifUserTalk = true; # UPO
$wgEnotifWatchlist = true; # UPO
$wgEmailAuthentication = true;

## Database settings
$wgDBtype           = "mysql";
$wgDBserver         = "XXXXXXXXXXXXXXX";
$wgDBname           = "XXXXXXXXXXXXXXX";
$wgDBuser           = "XXXXXXXXXXXXXXX";
$wgDBpassword       = "XXXXXXXXXXXXXXX";

# MySQL specific settings
$wgDBprefix         = "mw_";

# MySQL table options to use during installation or update
$wgDBTableOptions   = "TYPE=InnoDB";

# Experimental charset support for MySQL 4.1/5.0.
$wgDBmysql5 = false;

## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = array();

# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['sysop']['edit'] = true;

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads       = true;

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'svg', 'txt', 'bin', 'rpm', 'pdf', 'java', 'doc', 'ppt', 'tar.gz', 'zip', 'rar' );
$wgVerifyMimeType = false;
$wgAllowTitlesInSVG = true;
$wgSVGConverter = 'ImageMagick';
$wgSVGConverterPath = "/usr/local/bin/";

$wgUseImageResize = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/local/bin/convert";
$wgImageMagickTempDir = "{$IP}/images/temp";

## If you use ImageMagick (or any other shell command) on a
## Linux server, this will need to be set to the name of an
## available UTF-8 locale
$wgShellLocale = "en_US.utf8";

## If you want to use image uploads under safe mode,
## create the directories images/archive, images/thumb and
## images/temp, and make them all writable. Then uncomment
## this, if it's not already uncommented:
$wgHashedUploadDirectory = false;

## If you have the appropriate support software installed
## you can enable inline LaTeX equations:
$wgUseTeX           = false;

$wgLocalInterwiki   = $wgSitename;

$wgLanguageCode = "en";

$wgProxyKey = "XXXXXXXXXXXXXXX";

## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook':
$wgDefaultSkin = 'monobook';

## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
# $wgEnableCreativeCommonsRdf = true;
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";
# $wgRightsCode = ""; # Not yet used

$wgDiff3 = "/usr/bin/diff3";

$wgUseAjax = true;

$wgUseTidy=true;

$wgAllowUserJs = true;

require_once("{$IP}/extensions/CategoryTree/CategoryTree.php");


# When you make changes to this configuration file, this will make
# sure that cached pages are cleared.
$wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ) ) );

require_once("$IP/extensions/CharInsert/CharInsert.php");

require_once("$IP/extensions/ImageMap/ImageMap.php");

require_once("$IP/extensions/ExpandTemplates/ExpandTemplates.php");

include_once('extensions/wx/widget.php');

$wgGoogleMapsKey = "ABQIAAAAXb6T3ivKAjR3Q33rtC7Q7hTlj0jLGmc4NX0DLFkPABIZ4OQmPRSUs3PxulqM4GCgUQjQEsBDeF8-eg";
require_once( "$IP/extensions/GoogleMaps/GoogleMaps.php" );

$wgGoogleMapsDefaults = array( 
               "Lima" => array( "lat" => 12.069538, "lon" => -77.056389 ),
               "Cusco" => array( "lat" => "37.0625", "lon" => -95.677068 ),
               "lat" => 37.0625, "lon" => -95.677068); # these apply to all other pages

$wgLogo = "http://www.karikuy.org/images/perupedia.png";

$wgFavicon = "http://www.karikuy.org/perupedia/favicon.ico";

Re: Excessive amount of temporary file creation

Posted: 2010-02-09T17:20:17-07:00
by magick
We did not write nor do we support MediaWiki. However, the wgImageMagickTempDir looks promising. Even more promising would be a hosting company that provides ample disk and memory for your requirements.