Jonas: Bild zusammenfügen / server load

Hallo

Ich habe folgende Frage, auf die ich (natürlich) eine Antwort suche ;D

Ich möchte Bilder mittels Einsatz von Perl (notfalls auch PHP) zusammenfügen. Im Grunde soll auf eine Art Template-Bild nur ein aufrufabhängiges, kleines Bild sowie ein paar Linien Text draufgepappt werden. Das Ganze soll schlussendlich eine Art Visittenkarte für Forensignaturen, etc. werden.

Nun werden wohl früher oder später zahlreiche User eine solches Bild verwenden und regelmässig aufrufen. Die Frage ist nun, wie sich das Ganze auf die Serverlast auswirken würde. Für die Realisation sehe ich grundsätzlich zwei Möglichkeiten:

a) Die Bilder jeweils beim Aufruf mittels ImageMagick oder GD erstellen / zusammenfügen und ausgeben.

b) Die Bilder einmal am Tag alle auf einen Rutsch generieren und in einem Verzeichniss speichern, von wo aus sie ausgerufen werden können.

Alternative b) wäre wohl insgesamt resourcenschonender denke ich. Die Frage ist eben nur, wie weit die Belastung höher ist, wenn ich ein Bild jeweils bei jedem Aufruf erstelle im Vergleich zur einfachen "Ausgabe" eines bereits erstellten Bildes mittels http-Server (Apache).

Zudem auch noch die Frage, ob eine Variante (ImageMagick, GD aus Perl oder php-Image Funktionen) schneller / schonender für den Serverload ist.

Ich bin für Input aller Art dankbar.

Grüsse

Jonas

  1. Ich grüsse den Cosmos,

    a) Die Bilder jeweils beim Aufruf mittels ImageMagick oder GD erstellen / zusammenfügen und ausgeben.

    b) Die Bilder einmal am Tag alle auf einen Rutsch generieren und in einem Verzeichniss speichern, von wo aus sie ausgerufen werden können.

    c) bei einer Anforderung prüfen, ob ein aktuelles Bild vorhanden ist und nur bei Bedarf ein neues generieren.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  2. a) Die Bilder jeweils beim Aufruf mittels ImageMagick oder GD erstellen / zusammenfügen und ausgeben.

    b) Die Bilder einmal am Tag alle auf einen Rutsch generieren und in einem Verzeichniss speichern, von wo aus sie ausgerufen werden können.

    Alternative b) wäre wohl insgesamt resourcenschonender denke ich. Die Frage ist eben nur, wie weit die Belastung höher ist, wenn ich ein Bild jeweils bei jedem Aufruf erstelle im Vergleich zur einfachen "Ausgabe" eines bereits erstellten Bildes mittels http-Server (Apache).

    Zudem auch noch die Frage, ob eine Variante (ImageMagick, GD aus Perl oder php-Image Funktionen) schneller / schonender für den Serverload ist.

    Naja, wenn du mal ein solches Skript Lokal testest, wirst du merken, dass Bildbearbeitung erhebliche Resourcen braucht, egal welches Programm/Modul du verwendest.

    Meine Erfahrung ist, dass ImageMagick wesentlich bessere Ergebnisse erzielt und bei der Verwendung der Konsolen Tools auch wesentlich schneller ist. Inwieweit diese aber deinen Anforderungen genügen weiß ich nicht, da ich bisher damit nur upload Bilder verkleinert habe.
    Also ist die Variante c. von Manuel sicher sinnvoll.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hallo

      Danke für die Infos. Bisher habe ich ImageMagick ebenfalls nur zur dauerhaften Verkleinerung von Bildern über die Konsolen Tools benutzt.

      Variante c) wäre mit Sicherheit eine gute Möglichkeit. Jedoch müsste ich die Bilder dann jeweils einmal pro Tag noch mittels cron updaten, da sich die Daten täglich ändern.

      Für weitere Infos und Erfahungsberichte bin ich natürlich jederzeit dankbar.

      Gruss

      Jonas

      1. Variante c) wäre mit Sicherheit eine gute Möglichkeit. Jedoch müsste ich die Bilder dann jeweils einmal pro Tag noch mittels cron updaten, da sich die Daten täglich ändern.

        Nein, mußt du nicht.

        Ein Bild, was niemand abruft, muß nicht generiert werden. Es muß nur Bestandteil deines Caching-Mechanismus sein, dass ein Bild eben nach einem Tag bzw. zu einer bestimmten Uhrzeit als "alt" betrachtet wird - und schon wird es neu generiert.

        1. Nein, mußt du nicht.

          Ein Bild, was niemand abruft, muß nicht generiert werden. Es muß nur Bestandteil deines Caching-Mechanismus sein, dass ein Bild eben nach einem Tag bzw. zu einer bestimmten Uhrzeit als "alt" betrachtet wird - und schon wird es neu generiert.

          Stimmt, ein guter Punkt! Danke.