Zur Navigation

Seiten sehr langsam [4]

31 ShadowLupina

Zitat von Jörg
und aus irgendeinen Grund ist es also so, dass bei jedem aufruf die Sessiontabelle zugemühlt wird

Bei jedem Aufruf oder gibt es eine hohe Anzahl von Aufrufen, z.B. durch Bots (siehe Access Log des Webservers)?
Also viele Bots gibt es nicht....und als ich noch mal geschaut habe...waren die Sessions doch nicht so viele...und als ich die Sessiontabelle geleert habe...hat das auch zu keine Spürbaren verbesserung geführt..die Access Logs sind alle noch vom Juni die neuesten....also da wurden gar keine neueren angelegt

Zitat von Jörg

Warst du eigentlich mit den PHP-Messungen weiter gekommen? damit könntest du die problematische Datenbankabfrage identifizieren, falls du da noch im Dunkeln stocherst (siehe meine Anmerkungen in Beitrag 15)
mir wurde empfohlen die Sessions aus der Datenbank auszulagern....wie macht man das am besten?

also bisher noch nix auffälliges

Zitat von Jörg

Mit der Sessionbehandlung von PHP. So ein Umbau ist allerdings schon etwa aufwendiger und erfordert eingehendere PHP-Kenntnisse.

Vielleicht kommt die Seite aber auch ohne Sessions aus - was z.B. bei ncr=1 ja der Fall sein könnte. Aber dazu musst du mal herausfinden, wo der Parameter ncr im PHP-Code die Ablaufsteuerung beeinflusst.


Naja eingehende PHP - Kenntnisse habe ich leider nicht..und wegen ncr = 1 schau ich noch mal

04.12.2013 09:48

32 ShadowLupina

Ich hab mal ne Liste gemacht..mit Dingen die ich bisher versucht habe und welche Erkenntnisse ich hatte..vlt fällt dir dazu was ein


Erkenntnis 1:

Das Problem tritt sowohl bei der Ontecmedia als auch der Mainbrick Seite auf....jedoch immer nur bei der Hauptseite, die Unterseiten laden problemlos und schnell...auch die anderen Domains zeigen keine Probleme.
Die Shopseite ist ebenfalls nicht betroffen -> nur die Seiten, die mit Modx gemacht wurden haben ein Problem...möglicher Zusammenhang?

Erkenntnis 2:

Datenbank bleibt im Befehl sleep, wenn man versucht mainbrick.com und ontecmedia.com aufzurufen...aber bei Unterseiten nicht -> Für beide Datenbanken wurde ein Backup eingespielt...also können sie nicht die Ursache sein

Erkenntnis 3:

Nach mehrfachen Supportkontakt kam der Hinweis, dass viele Sessions in den Tabellen gespeichert sind...habe diese geleert....und konnte keine spürbare Verbesserung feststellen...also glaube ich nicht, dass dies die Ursache ist...jemand anderes vom Support hat mir da auch zugestimmt.

Erkenntnis 4:

Support beteuert wiederholt, dass ihr Server konstant läuft und keine Geschwindigkeitsprobleme hat und es deswegen nicht an ihnen liegt...ich glaube ebenfalls nicht das es am Server liegt, weil dann müssten sämtliche Seiten langsam laufen.

Erkenntnis 5:

Ich habe gestern ein komplettes ftp - Backup aufgespielt -> hat zu keiner Verbesserung geführt -> In unseren Scripten liegt also auch kein Fehler vor

Erkenntnis 6:

Ich hab Zeitmessungen mit Firebug vorgenommen...alle Prozesse laufen schnell hab...wenige Milisekunden..nur am Ende ist ein Langerwarteprozess...vermutlich wegen Erkenntnis 2

Erkenntnis 7:

Ich habe auch in einigen PHP Datein zeitmessungen durchgeführt..um vlt den Prozess zu finden der für die langen Ladezeiten verantwortlich ist...konnte bisher aber nichts auffälliges entdecken

Also noch mal zusammengefasst was ich bisher gemacht habe:

- mit Support geschrieben und telefoniert
- Leute gefragt, die sich damit besser auskennen als ich
- Datenbank - Backup vor beide Datenbanken eingespielt
- komplettes FTP - Backup eingespielt
- Zeitmessungen

04.12.2013 09:49

33 ShadowLupina

Ach und was ich noch Fragen wollte...aktuell wird ja z.b www.ontecmedia.com auf www.ontecmedia.com/?ncr=1 weitergeleitet---gibt es eine möglichkeit den google crawler so das crawlen zu lassen, dass er zwar über den www.ontecmedia.com/?ncr=1 link geht..aber denkt er würde die hauptseite crawlen..damit die nicht im Ranking sinkt?

04.12.2013 09:53

34 ShadowLupina

Ok...mein Chef hat jetzt gesagt...dass irgendwas externes zugreift...mit IP 192.151 kann man bestimmen was für eine IP das in etwa ist?

04.12.2013 10:56

35 ShadowLupina

Mein Chef vermutet das vlt das Contextgateway Plugin nicht mehr richtig funktioniert

<?php
$url = "http://www.ontecmedia";

if($modx->context->key == 'mgr')
    return;

$regions = array('de', 'com');

// Location
#$location = trim($_REQUEST['contentlang'], '/');

$tld = strrchr ( $_SERVER['SERVER_NAME'], "." );
$tld = substr ( $tld, 1 );

$location = $tld;

if(preg_match('/^start\.html$/', $_REQUEST['q']))
   return;

//if(!$location && in_array($_REQUEST['q'], $regions)) {
//   header("Location: $url");
//   exit;
//}

// Default context
$context = 'web';

//if(!in_array($location, $regions)) {
//   header("Location: $url.com");
//   exit;
//}

$new_location = "";

if($_REQUEST['q'] == "" && $_REQUEST['ncr'] != '1') {
if($location == "com") {
include($modx->getOption('core_path').'components/ipinfo/geoip.php');

switch($cn['CountryName']) {
      case 'Germany':
        $new_location = 'de';
        break;
      case 'United States':
        $new_location = 'us';
        break;
      case 'Spain':
        $new_location = 'es';
        break;
      default:
        $new_location = 'com';
   }
}

//if($location == "com" && $new_location != "com" && $new_location) {
//     header("Location: $url.".$new_location);
//     exit;
//}
}

if(in_array($location, $regions)){
#   if($location == "com")
#     $location = "us";

   $context = $location . "web";
}

$modx->switchContext($context);

was musste ich noch mal auskommentierren..um die IP weiterleitung auszumachen? Wenn ich alles deaktiviere findet er die seite nicht mehr....ist die context gateway also auch dafür verantwortlich die seite zu aktivieren?

04.12.2013 11:02

36 Jörg Kruse

Da ist ja das ncr:

if($_REQUEST['q'] == "" && $_REQUEST['ncr'] != '1') {

Du kannst den ganzen if Block mit /* und */ auskommentieren:

/*
if($_REQUEST['q'] == "" && $_REQUEST['ncr'] != '1') {
if($location == "com") {
include($modx->getOption('core_path').'components/ipinfo/geoip.php');

switch($cn['CountryName']) {
      case 'Germany':
        $new_location = 'de';
        break;
      case 'United States':
        $new_location = 'us';
        break;
      case 'Spain':
        $new_location = 'es';
        break;
      default:
        $new_location = 'com';
   }
}

//if($location == "com" && $new_location != "com" && $new_location) {
//     header("Location: $url.".$new_location);
//     exit;
//}
}
*/

04.12.2013 11:29

37 Jörg Kruse

Ach und was ich noch Fragen wollte...aktuell wird ja z.b www.ontecmedia.com auf www.ontecmedia.com/?ncr=1 weitergeleitet---gibt es eine möglichkeit den google crawler so das crawlen zu lassen, dass er zwar über den www.ontecmedia.com/?ncr=1 link geht..aber denkt er würde die hauptseite crawlen..damit die nicht im Ranking sinkt?

Du leitest nicht mit einem Status Code 301 (permanente Weiterleitung), sondern mit einem Status Code 302 (temporäre Weiterleitung) weiter. Also so, wie ich es in Beitrag 15 empfohlen habe.

04.12.2013 11:34

38 ShadowLupina

Zitat von Jörg
Ach und was ich noch Fragen wollte...aktuell wird ja z.b www.ontecmedia.com auf www.ontecmedia.com/?ncr=1 weitergeleitet---gibt es eine möglichkeit den google crawler so das crawlen zu lassen, dass er zwar über den www.ontecmedia.com/?ncr=1 link geht..aber denkt er würde die hauptseite crawlen..damit die nicht im Ranking sinkt?

Du leitest nicht mit einem Status Code 301 (permanente Weiterleitung), sondern mit einem Status Code 302 (temporäre Weiterleitung) weiter. Also so, wie ich es in Beitrag 15 empfohlen habe.

Ok das tue ich bereits...also bedeutet das dass ich dann mit dieser Weiterleitung nicht im Google Ranking fallen sollte?

04.12.2013 11:37

39 ShadowLupina

Zitat von Jörg
Da ist ja das ncr:

if($_REQUEST['q'] == "" && $_REQUEST['ncr'] != '1') {

Du kannst den ganzen if Block mit /* und */ auskommentieren:

/*
if($_REQUEST['q'] == "" && $_REQUEST['ncr'] != '1') {
if($location == "com") {
include($modx->getOption('core_path').'components/ipinfo/geoip.php');

switch($cn['CountryName']) {
      case 'Germany':
        $new_location = 'de';
        break;
      case 'United States':
        $new_location = 'us';
        break;
      case 'Spain':
        $new_location = 'es';
        break;
      default:
        $new_location = 'com';
   }
}

//if($location == "com" && $new_location != "com" && $new_location) {
//     header("Location: $url.".$new_location);
//     exit;
//}
}
*/

OK jetzt rennt die Seite wieder...hatte dieses Plugin nur nicht mehr bedacht gehabt...vielen vielen Dank

aber wieso hat es jetzt zum Fehler geführt und bis zum 26. noch funktioniert

04.12.2013 11:50

40 Jörg Kruse

Du includierst hier eine Datei:

include($modx->getOption('core_path').'components/ipinfo/geoip.php');

Vermutlich werden darin von einem externen Server die GeoIP-Infos geholt. Wenn dieser Server unter Last steht und die Antwortzeiten entsprechend lang sind, dann wirkt sich das auch auf eure Ladezeit aus.

04.12.2013 12:22