Simple Cloud vereinfacht Cloud Computing mit PHP

Bei Simple Cloud (Simple API for Cloud Application Services) handelt es sich um ein Open-Source API, mit der der Zugriff auf verschiedene Cloud-Services aus PHP heraus über eine standardisierte Schnittstelle ermöglicht wird.

D.h., ein Wechsel des Cloud-Services sollte zukünftig bei Nutzung dieser API keine Änderungen im Quellcode mehr notwendig machen.

Zur Zeit unterstützt Simple Cloud Adapter für File-Storage (Windows Azure blobs, Rackspace Cloud Files, Nirvanix Storage Delivery Network und Amazon S3), Document-Storage (Windows Azure tables und Amazon SimpleDB) und Simple-Queue Dienste (Amazon SQS und Windows Azure Queues).

Weitere Informationen

Simple Cloud
PHP-Magazin
heise.de

Tags: , , , ,

Verwandte Artikel

Der “Expires”-Header

In dem Artikel “Speed Up: Optimierungstipps für Ihre Seiten” fasst Nelly Brekardin bei Dr. Web einige Tipps für die Optimierung von Websites zusammen.

Für unser Projekt war vor allem der Punkt “Die richtigen HTTP-Header senden” hilfreich. Hier wird beschrieben, wie man mit Hilfe der .htaccess Konfiguration die HTTP-Header Expires und Cache-Control sendet.

Adam stellte im MyOOS Forum (Anmeldung erforderlich)

# Configure ETags
<FilesMatch "\.(jpg|jpeg|gif|png|mp3|flv|mov|avi|3pg|html|htm|swf)$">
    FileETag MTime Size
</FilesMatch>

ETags im .htaccess

vor.

Vladimir Simovic stellt in dem Artikel WordPress-Websites beschleunigen 4: ein Zwischenergebnis seine Erfahrungen mit

# ExpiresHeader: verhindert bedingte GET-Anfragen
<IfModule mod_expires.c>
   ExpiresActive on
   ExpiresDefault "access plus 35 days"
</IfModule>

zur Verfügung.

Wir verwenden nun im MyOOS Projekt

# Apache file caching and expiration.
    <FilesMatch "\.(jpg|jpeg|png|gif|ico|swf|css|js|txt)$">
        <IfModule mod_expires.c>
            # Enable expirations.
            ExpiresActive On
            # Cache all files for 35 days after access (A).
            ExpiresDefault  "access plus 35 days"
        </IfModule>
        <IfModule mod_headers.c>
            Header unset ETag
            FileETag None
        </IfModule>
    </FilesMatch>

Erfahrungsberichte sind willkommen. Meinungen… Tipps und auch Anleitungen. Alles mit dem Ziel,
unser Shop-System zu verbessern!

Tags: ,

Verwandte Artikel

Gearman

Gearman ist ein System für die Verteilung von Arbeit auf andere Maschinen. Es sendet Funktionsaufrufe an für die Aufgabe besser geeignete Maschinen, sorgt für die parallele Arbeit an Aufgaben und den Lastausgleich vieler Funktionsaufrufe und sorgt sich um Funktionsaufrufe zwischen unterschiedlichen Programmiersprachen.

http://gearman.org/index.php?id=getting_started

<?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("resize", "my_resize_function");
while ($worker->work());
 
function my_resize_function($job)
{
  $thumb = new Imagick();
  $thumb->readImageBlob($job->workload());
 
  if ($thumb->getImageHeight() > 600)
    $thumb->scaleImage(0, 600);
  else if ($thumb->getImageWidth() > 800)
    $thumb->scaleImage(800, 0);
 
  return $thumb->getImageBlob();
}
?>

Gearman: Build Your Own Distributed Platform in 3 Hours
PDF Gearman: Build Your Own Distributed Platform

* What Gearman is, and how it can be used to scale your application.
* Common architectures used in existing installations.
* Client APIs, including PHP, Perl, C, and MySQL UDFs.
* Basics of getting a simple system installed and running.
* Building database-driven URL mining application.
* Building your own Map/Reduce cluster.
* Persistent queues and replication for reliability.
* Statistics, monitoring, and tuning your applications.
* More use cases as time permits.

Quelle
http://en.oreilly.com/oscon2009/public/schedule/detail/8206

http://gearman.org/

Tags:

Verwandte Artikel

Produktbilder im Shop optimieren

In meinem Shop verwende ich bei der Produktauflistung Bilder in der Größe 234 x 351.

Hier ein Beispiel
04070906 in

Sie trägt auf dem Foto das Herren T-Shirt “Lieber Harald, kannst Du mir nicht etwas von Dir schicken… ” aus meiner Produktion.

http://www.r23.de/Maenner–T-Shirts/Entwuerfe-von-r23/Lieber-Harald-c-55_62_63.html

Die Datei ohne Optimierungen hat eine Größe von
83.16 KB (85152 Bytes)

04070906 in
http://www.r23.de/images/alt/04070906.jpg

Gerade für das Laden von statischen Bildern macht die Verwendung von Cookies kein Sinn und erhöht nur sinnlos den Trafic. Erstelle eine Sub-Domain und lade die statische Komponenten von dort. Ein weiterer Grund statische Komponenten von einer Cookie-freien Domain zu laden ist, dass einige Proxies keine Inhalte cachen wenn sie mit Cookies angefordert werden.

Ich verwende in meinem Shop den Image-Server unter der Adresse http://image01.r23.de/. wer die Möglichkeit hat kann seine Bilder zusätzlich über einen High Performance Webserver wie z.B. lighttpd ausliefern.

Die neue Adresse für den Image Server sind bei MyOOS Versionen bis 2.1 Änderungen an der Funktion
oos_image und an den Smarty Plguins erfoderlich.

Nach dem Umzug auf den Image Server erfolgt die Datei Optmierung.

Baseline oder pregressives speichern?

Laden von baseline JPEG,

Baseline in
Baseline JPEG-Dateien werden bei der Anzeige im Web zeilenweise aufgebaut.

Progressive in

Bei “progressive JPEG” werden ähnlich dem GIF-Format in der Variante “interlaced”, zuerst eine vollständige, aber noch undeutliche Fassung der Grafik am Bildschirm aufgebaut. Das erste, noch nicht ganz deutliche Bild kann bereits am Bildschirm angezeigt werden, nachdem etwa 15% der Grafikdatei an den aufrufenden Web-Browser übertragen wurden. Quelle Selfhtml

Bei Produktbildern werden wir im Shop progressive JPEG.

DPI-Dichte: Das ist die Punktdichte (dpi = dots per inch). Bei JPEG-Dateien, die wir im Shop verwenden genügt ein Wert zwischen 70 und 100 dpi.

Kompressionsfaktor: Je höher der Kompressionsfaktor, desto schlechter die Bildqualität. Je geringer der Kompressionsfaktor, desto größer die Datei.

Mit convert konvertiert man die Bilder in ein anderes Format.
http://www.linuxwiki.de/ImageMagick
http://www.imagemagick.org/script/index.php

convert datei.jpg -quality 90 /quality/datei.jpg

35.09 KB (35932 Bytes)

04070906 in

jpegtran -copy none -progressive -outfile datei.jpg 'quality/datei.jph;
33.24 KB (34036 Bytes)
04070906 in

Die Programme für die Reduzierung die ich hier verwendet habe gibt es auch für Windows

* ImageMagick
* jpegtran (with lossless crop)

Neben diesen gibt es eine große Zahl an Programmen, mit denen man seine Fotos verkleinern kann. Natürlich ist es ein gewisser Extra-Aufwand, sich eines dieser Programme herunterzuladen, zu installieren und sich zumindest in die Grundfunktionen einzuarbeiten.

Wir übernehmen gerne die Bildoptimierung für deinen Shop. Einfach eine unverbindliche Anfrage per
E-Mail senden. Unsere Arbeit ist modern, preiswert und
bringt Kunden.

Tags: ,

Verwandte Artikel

Server-Appliance beschleunigen MySQL und memcached

Schooner Information Technology kündigt mit der Appliance for MySQL Enterprise und der Appliance for Memcached seine beiden ersten Produkte an.

Als Appliances werden Geräte bezeichnet, die von Ausstattung, Konfiguration und Service-Optionen für einen bestimmten Einsatzzweck entwickelt wurden. Wie der Name schon sagt, soll die Appliance for MySQL Enterprise MySQL-Datenbanken beschleunigen, während die Appliance for Memcached für die Software memcached entwickelt wurde.

Wie man memcached im MyOOS Shop Projekt verwendet haben wir hier beschrieben
Memcache mit MyOOS

Vor wenigen Tagen wurde ein Update von memcached veröffetnlicht.

Tags: ,

Verwandte Artikel

Neue Memcached-Versionen veröffentlicht

Wie man ein hochverfügbares Apache Cluster aufsetzt

Mit dem Ultra Monkey Projekt kann man Load balanced und hochverfügbare Server-Anwendungen auf einem lokalen Area Netzwerk mit Open Source Komponenten auf dem Linux Betriebssystem erstellen.

http://www.linuxvirtualserver.org/docs/ha/ultramonkey.html

Das Ultra Monkey Paket stellt heartbeat und ldirectord bereit, den eigentlichen Load Balancer.

Um Ultra Monkey zu installieren empfehlen wir diese Anleitung
apache-cluster

In mittelständischen Unternehmen wird das Thema Ausfallsicherheit und Performanz häufig aufgrund der im Markt befindlichen hochpreisigen Load Balancer Lösungen untergeordnet zur Kenntnis genommen.
Gerade für hochverfügbare Server-Anwendungen wie das MyOOS Projekt ist es unerlässlich ein Instrument einzusetzen, das sich ausschliesslich darum kümmert, die eingehenden Anfragen intelligent zu verteilen und sicherzustellen, dass diese nicht ins Leere gehen.

Weitere Möglichkeit ist mod_proxy_balancer
mod_proxy_balancer
Apache mod_proxy balancing with PHP sticky sessions

Tags: ,

Verwandte Artikel