Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: http://redaxo.org/slack/
marco123
Beiträge: 3
Registriert: 10. Nov 2009, 21:25

Problem mit Bildern und Traffic

10. Nov 2009, 21:44

Hallo Allerseits,
also momentan schlage ich mich mit einem sehr großen Problem rum. Es geht grob gesagt um Traffic.

In den letzten Tagen wuchs der Traffic gigantisch an. An einigen Tagen bei ca. 150 Besuchern auf über 6GB täglich. Sicherlich ist die Startseite momentan noch etwas groß, um die 500kb aber das verursacht nicht diesen Megatraffic.

Im Logfile tauchten den ganzen Tag über immer die gleichen Bilder auf, welche ständig geladen wurden. Hinten ran immer "-" damit gekennzeichnet, weil das intern hin und hergeschoben wird per script. Vorne steht auch immer die ip vom Webhoster. Um das Problem einzugrenzen hab ich kurzerhand die Ip geblockt per htaccess und mir dann auf http://www.anglerzeitung.de die "Bescherung" mal angeschaut. Dabei erscheint über den Artikel mit Bild folgende Fehlermeldung.

Warning: getimagesize(http://www.anglerzeitung.de/files/2009_ ... _40__1.jpg) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /var/www/html/web1418/html/az/redaxo/include/classes/class.article.inc.php(179) : eval()'d code on line 41

Übrigens nachdem ich per htaccess diese Funktion oder den Zugriff unterbunden hatte, ging der Traffic auf knapp 700MB zurück. Das Problem ist also irgendwo dort zu suchen und finden.

Laut meinem Programmierer liegt es am auslesen der Größe der Bilddatei und resizen. Eine richtige Lösung als die Funktion rauszunehmen hat er aber nicht parat. Momentan ist es so:

Sind die Bilder kleiner als 450px in der Breite, bleibt das hochgeladene Bild so. Ist es genau 450px breit dann ebenfalls. Ist das Bild größer, dann wird es auf 450px skaliert.

Irgendwas scheint dabei aber schiefzugehen, bzw ist für den enormen Traffic verantwortlich. Wie gesagt, im Logfile erscheinen fast sekündlich solche internen herumschiebereien. Und das ist echter Wahnsinn. Kennt jemand eine Lösung des Problems?

Laut meinem Programmierer steckt das Problem hier wohl drin. Kann ich net so viel zu sagen, da ich kein Programmierer bin, ich hoff aber ihr könnt mir helfen. Hier der Code.

<?php

/**
*==================================================
* Modul: Web2.0 Ausgabe
* Bereich: Ausgabe
* Version: 1.1
* Redaxo Version: 3.x
*
* Hinweise: keine Haftung
*
* Erforderliche Addons: keine
*
* Bearbeitung: Jan Goldacker
* www.jan-goldacker.de
* Datum: 16.06.2008
*==================================================
*/
$anzahl = "REX_VALUE[4]";
$platzhalter = "REX_VALUE[3]";

$werte = explode("|","REX_VALUE[1]");
$var = array();
$i = 1;
foreach($werte as $ausgabe) {
if ($i != 1) {
array_push($var,$ausgabe);
}
$i = $i+1;
}

//Für Platzhalter füllen, wenn Bild vorhanden
if ($platzhalter != "") {
$i = $anzahl;
$j = 0;

while( $j < count($var) - $anzahl - 1) {
$i = $i+1;
$j = $j+1;
if ($var[$i] != "") {
$size = getimagesize("http://".$_SERVER['SERVER_NAME']."/files/".$var[$i]);
if( $size[0]<450)
{
$var[$platzhalter] = preg_replace('/##Bild'.$j.'##/' , '<p><center><img src=http://'.$_SERVER['SERVER_NAME'].'/files/'.$var[$i].' alt="'.$var[$i].'"></center></p><br/>', $var[$platzhalter]);
}
else
{
$var[$platzhalter] = preg_replace('/##Bild'.$j.'##/' , '<p><center><img src=http://'.$_SERVER['SERVER_NAME'].'/index.php?rex_resize=450w__'.$var[$i].' alt="'.$var[$i].'"></center></p><br/>', $var[$platzhalter]);
}
} else {
$var[$platzhalter] = preg_replace('/##Bild'.$j.'##/' , '', $var[$platzhalter]);
}
}
}


$mail = "REX_VALUE[6]";
$sess= "REX_VALUE[5]";

//Template für Ausgabe angeben
include $REX["INCLUDE_PATH"]."/generated/templates/REX_VALUE[2].template";

?>

Zurück zu „Allgemeines [R3]“