Zur Navigation

Seiten sehr langsam

1 ShadowLupina

Hallo

Ich habe mal wieder eine Frage und hoffe das ist hier der richtige Ort dafür

Die Seiten www.mainbrick.com und www.ontecmedia.com haben seit kurzen sehr lange Ladezeiten teilweise eine ganze Minute und ich weiß nicht woher das kommt.

Der Server ist es nicht und mit den Datenbanken ist auch alles ok...und die Unterseiten der beiden Seiten laden auch alle sofort:


Ich habe per htaccess mehrere 404er auf die Hauptseiten geschickt...können die dafür verantwortlich sein?

mfg Lupi

28.11.2013 17:28

2 Jörg

Ich habe per htaccess mehrere 404er auf die Hauptseiten geschickt...

Was heißt das genau, d.h. wie schaut der betreffende Code aus?

Jedenfalls kannst du durch Auskommentieren einzelner Abschnitte der .htaccess Datei testen, ob ein Abschnitt das Problem verursacht.

28.11.2013 18:11

3 ShadowLupina

z.b so:

RewriteCond %{HTTP_HOST} ^www\.mainbrick\.com$
RewriteRule ^EMail http://www.mainbrick.com/$1 [R=301,L]

Ich hab auch schon alle die diese Form hatten auskommentiert...daran liegt es nicht

28.11.2013 18:19

4 ShadowLupina

Ich hab mir mit Firebug auch mal die Zeitlinie für einen Verbindungsaufbau anzeigen lassen:

Ergebnis z.B:

Blockierten: 0 bis 17 ms
DNS - look up: 17 ms
Verbinden: 17ms
Senden: 17 ms
Warten: 17ms bis 1m

jetzt hab ich aber keine Ahnung wieso er so lange wartet

28.11.2013 18:50

6 ShadowLupina

Wie meinst du das? Dass die index.php schuld ist?

28.11.2013 19:17

7 ShadowLupina

Und ich soll jetzt z.b diesen code



<?php
/**
 * Einfache Funktion zum Replizieren des PHP 5-Verhaltens
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "In $time Sekunden nichts getan\n";
?>

in die index.php einfügen...und dann wird mir gesagt wie lange die nichts getan hat?

28.11.2013 19:19

8 Jörg

Das ganz an den Anfang:

function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

Das ganz ans Ende:

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "$time Sekunden Laufzeit\n";

... dann wird am Ende der Seite die Laufzeit angezeigt

Das "usleep(100);" nicht verwenden - das erzeugt eine künstliche Pause, um die Funktionsweise des Scripts zu demonstrieren

28.11.2013 19:23 | geändert: 28.11.2013 19:24

9 ShadowLupina

Hm hab ich jetzt so gemacht...wird mir aber nix angezeigt

oder hab ich was falsch gemacht...hab von php keine Ahnung


<?php
/*
 * MODx Revolution
 *
 * Copyright 2006-2010 by the MODx Team.
 * All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */
//Teststart
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

$mtime= microtime();
$mtime= explode(" ", $mtime);
$mtime= $mtime[1] + $mtime[0];
$tstart= $mtime;

error_reporting(E_ALL & ~E_NOTICE);

/**
 * @deprecated 2.0.0
 * For backward compatibility with MODx 0.9.x
 */
define("IN_PARSER_MODE", "true");
/**
 * @deprecated 2.0.0
 * For backward compatibility with MODx 0.9.x
 */
define("IN_MANAGER_MODE", false);

/* define this as true in another entry file, then include this file to simply access the API
 * without executing the MODx request handler */
if (!defined('MODX_API_MODE')) {
    define('MODX_API_MODE', false);
}

/* this can be used to disable caching in MODx absolutely */
$modx_cache_disabled= false;

/* include custom core config and define core path */
@include(dirname(__FILE__) . '/config.core.php');
if (!defined('MODX_CORE_PATH')) define('MODX_CORE_PATH', dirname(__FILE__) . '/core/');

/* include the modX class */
if (!@include_once (MODX_CORE_PATH . "model/modx/modx.class.php")) {
    $errorMessage = 'Site temporarily unavailable';
    @include(MODX_CORE_PATH . 'error/unavailable.include.php');
    header('HTTP/1.1 503 Service Unavailable');
    echo "<html><title>Error 503: Site temporarily unavailable</title><body><h1>Error 503</h1><p>{$errorMessage}</p></body></html>";
    exit();
}

/* start output buffering */
ob_start();

/* Create an instance of the modX class */
if (empty($options) || !is_array($options)) $options = array();
$modx= new modX('', $options);
if (!is_object($modx) || !($modx instanceof modX)) {
    @ob_end_flush();
    $errorMessage = '<a href="setup/">MODx not installed. Install now?</a>';
    @include(MODX_CORE_PATH . 'error/unavailable.include.php');
    header('HTTP/1.1 503 Service Unavailable');
    echo "<html><title>Error 503: Site temporarily unavailable</title><body><h1>Error 503</h1><p>{$errorMessage}</p></body></html>";
    exit();
}

/* Set the actual start time */
$modx->startTime= $tstart;

/* Set additional logging options including level and target: */
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');

/* Set debugging mode (i.e. error_reporting): */
$modx->setDebug(E_ALL & ~E_NOTICE);

/* Initialize the default 'web' context */
$modx->initialize('web');

/* execute the request handler */
if (!MODX_API_MODE) {
    $modx->handleRequest();
	
	//Testende
$time_end = microtime_float();
$time = $time_end - $time_start;

echo "$time Sekunden Laufzeit\n";	
	
}

28.11.2013 19:39

10 Jörg

Du hast den zweiten Teil in einen if Block eingebaut, der nur unter bestimmten Bedingungen (!MODX_API_MODE) ausgeführt wird - und diese Bedingung ist vermutlich nicht erfüllt.

Du musst den zweiten Teil ganz an das Ende der PHP-Datei einbauen, d.h. vor dem allerletzten "?>" (falls vorhanden)

28.11.2013 22:19 | geändert: 28.11.2013 22:20