Zu hohe Server Auslastung !

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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 ...

      Comment


      • #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

        Comment


        • #5
          oki thx, werde ich ma ausprobieren

          Comment


          • #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

            Comment


            • #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.

              Comment

              Working...
              X