Zu hohe Server Auslastung !

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zu hohe Server Auslastung !

    Hallo,

    ich habe ein Image-Galerie Script bei mir laufen.

    Folgende Dateien dieses Scripts lassen die Server-CPU Werte richtig anschwellen - thumbs.php und die water.php

    thumbs.php = erstellt aus den orig. Bildern verkleinerte Thumb Versionen

    water.php = fügt auf jedes Bild [große] ein Wasserzeichen ein.


    Hier die Codes [php] der bei Dateien:

    THUMBS.PHP


    <?
    $imgfile=$_GET['picture'];
    list ($org_width, $org_height)=getimagesize($imgfile);

    $d_width=$org_width / 100;
    $d_height=$org_height / 100;

    if ($d_width >=$d_height)
    {
    $n_width=100;
    $n_height= round($org_height / $d_width);
    } else {
    $n_width=100;
    $n_height= round($org_height/$d_width);
    }

    $im = imagecreatefromjpeg($imgfile);
    if (function_exists(imagecreatetruecolor))
    {
    $tn=imagecreatetruecolor($n_width,$n_height);
    }
    else {
    $tn=imagecreate($n_width,$n_height);
    }
    if ( $im && $tn )
    {
    imagecopyresized($tn,$im,0,0,0,0,$n_width,$n_height,$org_width,$org_height);
    }

    header('Last-Modified: '.gmdate('D, d M Y H:i:s', $timestamp).' GMT');
    header("Content-type: image/jpeg");
    imagejpeg($tn,'',80);

    imagedestroy($tn);
    imagedestroy($im);
    ?>


    WATER.PHP


    <?

    //wasserzeicheneffekt =)

    header('content-type: image/jpeg');
    $watermark = imagecreatefromjpeg('watermark.jpg');
    $watermark_width = imagesx($watermark);
    $watermark_height = imagesy($watermark);
    $image = imagecreatetruecolor($watermark_width, $watermark_height);
    $image = imagecreatefromjpeg($_GET['picture']);
    $size = getimagesize($_GET['picture']);
    $dest_x = $size[0] - $watermark_width - 5;
    $dest_y = $size[1] - $watermark_height - 5;
    imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 35);
    imagejpeg($image);
    imagedestroy($image);
    imagedestroy($watermark);

    ?>


    kann man das optimieren irgendwie ? Also das normale bis geringe CPU Werte vom Server her erreicht werden ?

    Hoffe einer von euch kann mir bei diesem Problem weiterhelfen !?


    m.f.g.
    joell

  • #2
    warum legst du beim upload nicht gleich ein thumb & 1 original mit watermark physikalisch ab?
    Kissolino.com

    Kommentar


    • #3
      weil ich ne sehr große masse an bildern habe ... da jedes einzige zu bearbeiten wäre zu zeit aufwendig - dort braucht man nur einen ordner mit den ganzen bildern hochzuladen und im admin bereich auch aktualisieren klicken ...

      Kommentar


      • #4
        Original geschrieben von joell
        weil ich ne sehr große masse an bildern habe ...
        na und? schreib den nen kleines script, dass alle neuen bilder in einer schleife durchläuft und in entsprechenden ordnern ablegt. an deinem code ist wenig, was man optimieren kann, die gd-funktionen sind nunmal etwas lahm. wenn du nennenswert etwas erreichen willst, dann wie oben beschrieben oder du versuchst es mal mit imagemagick ... ist viell. performanter.
        Kissolino.com

        Kommentar


        • #5
          oki thx, werde ich ma ausprobieren

          Kommentar


          • #6
            eil ich ne sehr große masse an bildern habe ... da jedes einzige zu bearbeiten wäre zu zeit aufwendig
            *lol* Die thumbs on the fly zu erstellen, ist ja nicht so zeitaufwändig! Siehe Prozessor

            Kommentar


            • #7
              OffTopic:

              in jedem Tutorial steht glaube ich das man die GD nicht "on the fly" gebrauchen soll.....

              Caching kann so schön entlastend sein wenn man es verwendet

              [color=blue]MfG Payne_of_Death[/color]

              [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
              [color=red]Merke:[/color]
              [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

              Murphy`s Importanst LAWS
              Jede Lösung bringt nur neue Probleme
              Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
              In jedem kleinen Problem steckt ein großes, das gern raus moechte.

              Kommentar

              Lädt...
              X