blog.bartlweb - a technologist's external brain

ImageMagick auf vHost von Host Europe extrem langsam

Einige Webanwendungen müssen Grafiken verändern und erzeugen und nutzen dazu entweder ImageMagick oder GraphicsMagick. Während sich GraphicsMagick auf den virtuellen Servern von Host Europe ganz normal verhält, geht ImageMagick beim Erzeugen oder Konvertieren von Grafiken extrem behäbig zu Werk.

Schuld daran ist das Feature OpenMP das beim Kompilieren von Programmen zur Optimierung von Multithreading-Aufgaben gesetzt wird. Das mit den Distributionen ausgelieferte ImageMagick-Paket hat dieses Feature standardmäßig aktiviert und läuft in der virtualisierten Umgebung von Host Europe daher sehr imperformant (teilweise dauern einzelne Prozesse mehre Sekunden, statt Millisekunden).

Lösung

Abhilfe schafft das selbstständige Kompilieren von ImageMagick ohne aktiviertes OpenMP-Feature. Dazu gehen Sie unter Ubuntu 14.04 LTS wie folgt vor:

Ergänzen Sie die Paket-Listen um die Source-Quellen für den aktuellen Release. Dazu fügen Sie in der Datei /etc/apt/sources.list die folgende Zeile ein:

deb-src http://de.archive.ubuntu.com/ubuntu thrusty main restricted universe multiverse

Nun aktualisieren wir die Paketverwaltung und laden die für das Kompilieren von ImageMagick notwendigen Komponenten.

apt-get update
apt-get install build-essential
apt-get build-dep imagemagick

Danach laden wir den aktuellen Source-Code von ImageMagick herunter und entpacken diesen (z.B. im Verzeichnis /tmp).

wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz

Nach dem Wechsel in das entpackte Verzeichnis können wir ImageMagick mit den folgenden drei Befehlen kompilieren und installieren:

./configure --prefix=/usr/local/src/ --disable-openmp make make install

Ab nun steht das selbst kompilierte ImageMagick unter dem Pfad /usr/local/src/bin/ bereit. Der eigene Pfad hat den Vorteil, dass unsere eigene Version nicht mit der durch die Paketverwaltung installierten Version kollidiert. So können Sie jetzt auch direkt den spürbaren Performanceunterschied zwischen den beiden Versionen testen.

Einziger Nachteil dieser Lösung: Sie müssen sich ab sofort selbst um die Aktualisierung von ImageMagick kümmern und dieses bei jeder neuen Version erneut selbstständig kompilieren.

Mehr dazu auch in einer Anleitung von Host Europe: https://faq.hosteurope.de/?cpid=17180

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "2202" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.