Nachdem ich die JPEG.webpmini Pro-Software testen und überprüfen konnte, wurde mir klar, wie leistungsfähig diese Software nicht nur zum Exportieren von Bildern und als Teil eines Lightroom-Workflows ist, sondern auch für viele andere Zwecke, einschließlich der Optimierung von Bildern, die sich bereits auf unserer befinden große Speichergeräte. Eine andere Verwendung, an die ich sofort dachte, war der Webserver, von dem der Verkehr von Photography-Secret.com stammt. Angesichts des täglichen Verkehrsaufkommens von Photography-Secret.com weltweit und der Tatsache, dass Bilder allein etwa 5 Terabyte Verkehr pro Monat ausmachen, war der Gedanke, JPEG.webp-Bilder mit der JPEG.webpmini-Engine komprimieren zu können, etwas das wollte ich eigentlich früher als später umsetzen. Also habe ich ein neues Projekt gestartet - um auf lange Sicht sowohl Verkehr als auch Geld für PL zu sparen, indem ich den JPEG.webpmini-Server verwende.
Fotografen Vorsicht: Dies ist eine sehr technische Überprüfung von Software, die nicht mit Fotografie zusammenhängt. Ich habe mich entschlossen, die Rezension bei PL zu veröffentlichen, da ich der Meinung bin, dass andere fotografische Websites von der Implementierung des JPEG.webpmini-Servers enorm profitieren könnten.
1) Übersicht über die Serverumgebung
Bevor ich auf die Überprüfung eingehe, möchte ich auf einige potenziell wichtige Informationen zu meinem Webserver-Setup hinweisen. Zunächst starte ich CentOS Linux auf jedem Server (und es gibt einige davon). Auf den beiden Back-End-Webservern, die PHP-Aufrufe vom Load Balancer verarbeiten, habe ich den JPEG.webpmini-Server installiert, obwohl nur der erste wirklich wichtig ist, da er alle Uploads auf die Site verarbeitet (WordPress kann dies also nicht direkt verarbeiten Es ist nur möglich, nach wp-admin-Aufrufen zu suchen und diese über nginx / apache an den entsprechenden Server weiterzuleiten. Leider gibt es keine einfache Möglichkeit, mehr als einen WordPress-Server ohne Probleme beim Hochladen von Dateien auszuführen, da er nicht für die Verwendung in einer Clusterumgebung konzipiert ist (Verschieben aller Daten auf AWS mit EC2, auf dem Serverinstanzen ausgeführt werden, RDS, auf dem die DB ausgeführt wird, und S3, die die Serverinstanzen ausführen Dateien wären eine gute Lösung, aber nachdem ich sie getestet habe, war sie keineswegs eine billige Lösung, insbesondere wenn Sie erst einmal ein paar EC2-Server erzeugt haben, die die Back-End-Last bewältigen würden. Daher habe ich alle Uploads über rsync synchronisiert. Keine elegante Lösung, aber sie funktioniert ziemlich gut. Ich habe rsync, das den Ordner "wp-content" überwacht, so dass alle Änderungen auf eine Weise repliziert werden (im Grunde genommen werden Bilder, sobald sie auf server01 hochgeladen wurden, automatisch von server02 übernommen). Die Synchronisierung dauert ein oder zwei Sekunden, aber sobald dies geschieht, werden die Bilder problemlos zum Laden von Balancer-Anforderungen bereitgestellt.
Alle Webserveraufrufe werden von einem Load Balancer verarbeitet, der nur den https-Webverkehr bedient. Alle Bilder werden von einem externen CDN verarbeitet. Der Hauptgrund für die Implementierung von JPEG.webpmini war die Reduzierung der CDN-Kosten, die nur jeden Monat steigen, wenn wir weiterhin mehr Inhalte veröffentlichen.
Beachten Sie, dass auf Ihrem Webserver eine Linux-Version ausgeführt werden muss - der JPEG.webpmini-Server kann nicht auf Windows-Servern ausgeführt werden. Hier ist die Liste der unterstützten Serverplattformen.
2) JPEG.webpmini Server Installation
Die Installation des JPEG.webpmini-Servers ist sehr einfach, insbesondere wenn Sie RHEL, CentOS und andere beliebte Linux-Distributionen ausführen. Für meinen CentOS-Server stellte JPEG.webpmini eine RPM-Datei zur Verfügung, sodass die Installation mit einem einzigen Befehl einfach war. Nach der Installation der Binärdatei (standardmäßig / usr / bin / jpeg.webpmini) bestand der nächste Schritt darin, die Lizenzdatei .jpeg.webpmini.cfg in das Ausgangsverzeichnis des Benutzers zu kopieren. Von dort aus sollte das Ausführen von "jpeg.webpmini" ungefähr Folgendes ausgeben:
===============================
Starten Sie jpeg.webpmini 3.14.2.84235
===============================
Die Option -f ist erforderlich: -f =
Verwenden Sie -help, um Hilfe zu erhalten
===============================
Beenden Sie jpeg.webpmini 3.14.2.84235
===============================
Meine ersten Tests begannen mit dem JPEG.webpmini-Server Version 3.13, aber nach einigen angeforderten Änderungen an der ausführbaren Datei stellte JPEG.webpmini eine aktualisierte Datei mit 3,14 U / min bereit. Die wichtigste Neuerung in der Version 3.14 ist die Möglichkeit, bereits optimierte Dateien zu überspringen, was für mich eine große Sache war, da ich die Desktop-Version der Software verwende und nicht wollte, dass der JPEG.webpmini-Server hochgeladene JPEG.webp-Bilder erneut optimiert.
3) Umgang mit WordPress-Bilddateien
Wenn ein Bild in WordPress hochgeladen wird, verwenden die Administrationsskripte entweder GD oder ImageMagick, um diese Bilder zu verarbeiten. Standardmäßig erstellt WordPress zusätzlich zum hochgeladenen Bild (Miniaturansicht, mittlere Größe und große Größe) Bilder in drei Größen. Abhängig davon, wie viele Aufrufe von add_image_size vom Thema und den Plugins hinzugefügt werden, gibt es möglicherweise noch viele weitere! Aus diesem Grund kann ein einzelner Bild-Upload eine Reihe von Dateien auf dem Server erzeugen, wodurch der Ordner "Uploads" sehr schnell wächst. Und diese kleineren Bilder werden entweder von GD oder ImageMagick erstellt, sodass die Dateien standardmäßig sowohl von ICC-Farbprofilen als auch von EXIF-Daten befreit werden, was auf einer Foto-Website nicht wünschenswert ist. Sie werden auch nicht richtig für die Größe optimiert, da weder GD noch ImageMagick über einen intelligenten Algorithmus wie JPEG.webpmini verfügen, um JPEG.webp-Bilder richtig komprimieren zu können. Tatsächlich macht WordPress einen ziemlich schrecklichen Job mit der Größenänderung von Bildern, was häufig zu schlecht gefärbten (aufgrund des Entfernens von ICC-Profilen), weichen und schlammigen Bildern (aufgrund starker Komprimierung) führt. Um dieses Problem bei PL zu vermeiden, habe ich ImageMagick nur zur Optimierung von Bildern mit speziellen Optionen verwendet. Wir entfernen nur EXIF-Daten von Miniaturansichten und komprimieren sie etwas aggressiver, um ein schnelles Surferlebnis zu gewährleisten. In einem Beitrag werden weder ICC-Profile noch EXIF-Daten von größeren Bildern entfernt, damit sie so gut wie möglich aussehen. Auf diese Weise zwingen wir unsere Leser nicht, auf ein Bild zu klicken, um die „richtige Version“ zu sehen - Bilder sehen von der Vorschau bis zu nativen hochgeladenen Größen konsistent aus.
Um den JPEG.webpmini-Server optimal nutzen zu können, ist es daher am besten, die ausführbare Datei für jeden Größenänderungsprozess auszuführen - nicht nur für die einzelne hochgeladene Version, da jede Datei von der Engine optimiert werden soll, unabhängig davon, ob es sich um eine handelt Miniaturansicht, eine mittlere oder eine große Version des Originals. Dies bedeutet im Wesentlichen, dass JPEG.webpmini jeden Aufruf von image_resize abfangen sollte.
4) Integration von JPEG.webpmini Server und WordPress
Leider bietet JPEG.webpmini kein Plugin an, das sich automatisch in WordPress integriert, weshalb ich selbst eine Lösung finden musste. Ich habe mit der Codebasis des ImageMagick Engine-Plugins begonnen (ein ziemlich veraltetes Plugin, aber es funktioniert immer noch) und dann Aufrufe an die ausführbare JPEG.webpmini-Datei in der Funktion ime_im_cli_resize hinzugefügt (ich führe eine Befehlszeilenversion von ImageMagick anstelle eines PHP-Moduls aus). Wenn diese modifizierte Version des Plugins Sie interessiert, lassen Sie es mich im Kommentarbereich unten wissen und ich werde Ihnen die Plugin-Datei senden. Ich bin mir nicht sicher, ob die Leute bei JPEG.webpmini planen, ein WordPress-Plugin zu veröffentlichen, aber ich würde gerne Code für einen guten Zweck beisteuern.
Der Code funktioniert und wurde mit JPEG.webpmini 3.14 getestet. Sobald jede Version mit geänderter Größe erstellt wurde, optimiert der Code zuerst diese Bilder, dann optimiert er das ursprüngliche JPEG.webp-Bild und überschreibt es.
5) JPEG.webpmini Server Testergebnisse
Bisher gab es viele technische Hokuspokus, also kommen wir zum Fleisch. Wie viel Speicherplatz konnte ich retten und wie viel habe ich an CDN-Kosten gespart? Um die ausführbare JPEG.webpmini-Datei rekursiv für jeden Ordner auszuführen, musste ich von den JPEG.webpmini-Ingenieuren ein Skript anfordern, das sie sehr schnell bereitstellten. Die bereitgestellte Datei war ein Python-Skript namens "jpeg.webpmini_recursive.py", für das nur zwei Befehle erforderlich waren - einer zur Eingabe des Quellordners und einer zur Eingabe des Zielordners (ich habe das Skript ein wenig geändert, nachdem ich die neue RPM-Version erhalten hatte, die automatisch übersprungen werden kann bereits optimierte JPEG.webp-Bilder). Nachdem ich alles gesichert hatte, habe ich einen Ordner mit dem Namen "uploads_jpeg.webpmini" erstellt und diesen als Zielordner verwendet. Ich habe das Skript ausgeführt und es hat eine Weile gedauert, bis ich jede einzelne Datei durchgesehen habe. Nach ein paar Stunden kam ich zurück und das Skript wurde ausgeführt.
Da JPEG.webpmini nur JPEG.webp-Bilder optimiert und PNG, GIF oder andere Datei-Uploads wie Videos nicht berührt, musste ich sicherstellen, dass der resultierende Ordner wieder in meinen Upload-Ordner kopiert wurde. Stellen Sie erneut sicher, dass Sie alles vollständig sichern, bevor Sie diesen Schritt ausführen, da er irreversibel ist. Zuvor habe ich die Berechtigungen für den Ordner uploads_jpeg.webpmini rekursiv geändert, indem ich "chown -R Nobody: Nobody / uploads_jpeg.webpmini" ausgeführt habe. Dann war der nächste Befehl "/ bin / cp -Rpf uploads_jpeg.webpmini / * uploads /", der vorhandene Bilddateien mit ihren für JPEG.webpmini optimierten Versionen überschrieb.
Werfen wir einen Blick auf das Vorher und Nachher. So sahen meine Ordner aus, bevor ich den gesamten Inhalt kopiert habe:
du --max-Tiefe = 1 | sort -k2 1252 ./2006 5272 ./2007 23332 ./2008 154872 ./2009 819580 ./2010 599084 ./2011 2124952 ./2012 2176548 ./2013 4504720 ./2014 6164472 ./2015 3812759 ./2016 559012 ./ 2017 Gesamtgröße: 20.945.855
Etwa 21 Gigabyte Bilder. Schauen wir uns nun an, wie der Ordner aussah, nachdem alle Bilder von JPEG.webpmini optimiert wurden:
du --max-Tiefe = 1 | sort -k2 1000 ./2006 2852 ./2007 15972 ./2008 127708 ./2009 647896 ./2010 461800 ./2011 1099676 ./2012 1252836 ./2013 3049696 ./2014 4378464 ./2015 2858628 ./2016 479416 ./ 2017 Gesamtgröße: 14.375.944
Das sind jetzt nur noch 14,4 Gigabyte! Allein im Festplattenspeicher konnte ich über 6,5 GB Speicherplatz zurückgewinnen, was einer Platzersparnis von rund 31% entspricht. Das ist im Grunde ein Drittel meiner CDN-Rechnung, was eine große Zahl ist. Und denken Sie daran, dass in den letzten zwei Jahren nicht so viel Platz gespart wurde wie früher, da ich bereits vor dem Hochladen damit begonnen habe, meine Bilder auf meinem Desktop mit JPEG.webpmini Pro zu optimieren. Die angezeigten Zahlen sind also Uploads von anderen Teammitgliedern, die sie nicht verwenden JPEG.webpmini.
Hier ist ein Beispiel für einen zusammenfassenden Bericht von JPEG.webpmini für Juni 2012:
----------------------------------
INFO: Zusammenfassender Bericht für den Ordner photoylife.com/wp-content/uploads/2012/06 (einschließlich Unterordner):
INFO: Gesamtzahl der Dateien: 372
INFO: Gesamtgröße der Eingabedateien: 42900 KB
INFO: Gesamtgröße der Ausgabedateien: 28480 KB
INFO: Rekomprimierungsverhältnis: 1,51X (34% Einsparung)
DIE INFO: ----------------------------------
Unterschiedliche Ordner ergaben unterschiedliche Zahlen, aber im Durchschnitt lagen sie zwischen 30 und 35%, was sehr viel ist, wenn man bedenkt, dass unser Team ziemlich gut darin ist, die Dateigröße während des Exportprozesses klein zu halten (normalerweise behalten wir unsere Exporteinstellungen in Photoshop auf Stufe 10 bei Dies entspricht der 77-84% igen „Qualität“ von Lightroom gemäß unseren JPEG.webp-Komprimierungsstufen in Photoshop und Lightroom.
5) JPEG.webpmini Serverqualität und Metadateneinstellungen
Für Websites, bei denen es nicht unbedingt darum geht, qualitativ hochwertige JPEG.webp-Bilder mit ihren Metadaten zu erhalten, kann JPEG.webpmini Bilder tatsächlich viel aggressiver optimieren. Ich wollte nicht, dass JPEG.webp-Bilder schlechter aussehen als ursprünglich hochgeladen, daher habe ich die Standardeinstellung „qual = 0“ beibehalten, um die beste Qualität zu erhalten. Andere Websites können sich für eine hohe oder mittlere Qualität entscheiden, wodurch der Platzbedarf von JPEG.webp-Dateien viel aggressiver verringert wird. Außerdem können Sie mit dem Befehl "rmt = 1" alle Metadaten vollständig entfernen. Wenn dies nicht ausreicht, können Sie sogar die progressive JPEG.webp-Ausgabe für jedes Bild erzwingen. Ich bin sicher, dass Social-Media-Sites wie Facebook solche Tools stark nutzen, da Bilder und Videos einen großen Teil ihrer Hosting-Rechnungen ausmachen. Eine Liste der auf dem JPEG.webpmini-Server verfügbaren Befehle finden Sie auf dieser Seite.
6) Schlussfolgerung
Während das JPEG.webpmini Server-Produkt definitiv nicht für Fotografen gedacht ist, ist die Software ein sehr vielseitiges Tool für diejenigen, die große Websites mit viel Bild und Verkehr besitzen. Wie aus meinem Implementierungsprojekt hervorgeht, konnte JPEG.webpmini Server über 6,5 Gigabyte Speicherplatz einsparen, was einer Speicherplatz- und CDN-Kostenersparnis von rund 31% entspricht, was für ein Unternehmen jeder Größe von großer Bedeutung ist. Mit einem Startpreis von 199 US-Dollar pro Monat ist JPEG.webpmini Server nicht billig für ein kleines Unternehmen, aber für ein wachsendes Unternehmen mit einem großen Hosting-Footprint, bei dem eine einzelne Serverinstanz möglicherweise mehr kostet als das jeden Monat, ist das Produkt möglicherweise einen ernsthaften Blick wert . Wenn Sie Teil eines Hosting-Unternehmens sind, eine Website mit vielen Bildern wie PL besitzen oder Ihre CDN-Kosten unverschämt hoch sind, sollten Sie sich an die Mitarbeiter von JPEG.webpmini wenden und mit ihnen darüber sprechen, wie sie dies können dir helfen. Zunächst können Sie diese Seite ausprobieren, auf der Sie Ihre Website eingeben und sehen können, wie viel Sie bei den CDN-Kosten sparen können.
Wenn Sie Fragen zu einem der oben genannten Punkte haben, schreiben Sie mir bitte einen Kommentar.
JPEG.webpmini Server
- Eigenschaften- 100% / 100
- Wert- 100% / 100
- Benutzerfreundlichkeit- 80% / 100
- Geschwindigkeit und Leistung- 100% / 100
- Stabilität- 100% / 100
- Unterstützung- 100% / 100
Photography-Secret.com Gesamtbewertung
4.8- 96% / 100